From 68d5753c7a864f8b581365c5a3d83ea48e2f749b Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 9 Sep 2024 02:59:07 +0000 Subject: [PATCH] build: bump bmyc assets --- .bmycconfig.json | 308 ++++----- .../asyncapi/asyncapi-web-component.min.js | 2 +- .../highcharts/highcharts-gantt.min.js | 4 +- .../js/external/highcharts/highcharts.min.js | 4 +- assets/js/external/highcharts/highmaps.min.js | 4 +- .../js/external/highcharts/highstock.min.js | 4 +- .../highcharts/modules/accessibility.min.js | 2 +- .../modules/annotations-advanced.min.js | 2 +- .../highcharts/modules/annotations.min.js | 2 +- .../highcharts/modules/arc-diagram.min.js | 2 +- .../highcharts/modules/boost-canvas.min.js | 2 +- .../external/highcharts/modules/boost.min.js | 2 +- .../external/highcharts/modules/data.min.js | 2 +- .../highcharts/modules/exporting.min.js | 2 +- .../external/highcharts/modules/gantt.min.js | 2 +- .../highcharts/modules/grid-axis.min.js | 2 +- .../js/external/highcharts/modules/map.min.js | 2 +- .../highcharts/modules/navigator.min.js | 2 +- .../modules/offline-exporting.min.js | 2 +- .../highcharts/modules/stock-tools.min.js | 2 +- .../external/highcharts/modules/stock.min.js | 2 +- .../highcharts/modules/treegraph.min.js | 2 +- .../highcharts/modules/treegrid.min.js | 2 +- .../highcharts/standalone-navigator.min.js | 4 +- assets/js/external/mermaid/mermaid.min.js | 611 +++++++++--------- 25 files changed, 505 insertions(+), 470 deletions(-) diff --git a/.bmycconfig.json b/.bmycconfig.json index 794f1b0..5d75b59 100644 --- a/.bmycconfig.json +++ b/.bmycconfig.json @@ -9,7 +9,7 @@ "library": "@asyncapi/web-component", "filePath": "lib/asyncapi-web-component.js" }, - "currentVersion": "2.2.2" + "currentVersion": "2.2.3" }, { "package": "asyncapi", @@ -21,7 +21,7 @@ "library": "@asyncapi/react-component", "filePath": "styles/default.min.css" }, - "currentVersion": "2.2.2" + "currentVersion": "2.2.3" }, { "package": "swagger-ui", @@ -81,7 +81,7 @@ "library": "mermaid", "fileName": "mermaid.min.js" }, - "currentVersion": "11.0.2" + "currentVersion": "11.1.1" }, { "package": "qrious", @@ -249,7 +249,7 @@ "library": "highcharts", "fileName": "highcharts.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -261,7 +261,7 @@ "library": "highcharts", "fileName": "highcharts-3d.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -273,7 +273,7 @@ "library": "highcharts", "fileName": "highcharts-gantt.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -285,7 +285,7 @@ "library": "highcharts", "fileName": "highcharts-more.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -297,7 +297,7 @@ "library": "highcharts", "fileName": "highmaps.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -309,7 +309,7 @@ "library": "highcharts", "fileName": "highstock.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -321,7 +321,7 @@ "library": "highcharts", "fileName": "standalone-navigator.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -333,7 +333,7 @@ "library": "highcharts", "fileName": "css/highcharts.min.css" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -345,7 +345,7 @@ "library": "highcharts", "fileName": "indicators/acceleration-bands.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -357,7 +357,7 @@ "library": "highcharts", "fileName": "indicators/accumulation-distribution.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -369,7 +369,7 @@ "library": "highcharts", "fileName": "indicators/ao.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -381,7 +381,7 @@ "library": "highcharts", "fileName": "indicators/apo.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -393,7 +393,7 @@ "library": "highcharts", "fileName": "indicators/aroon-oscillator.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -405,7 +405,7 @@ "library": "highcharts", "fileName": "indicators/aroon.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -417,7 +417,7 @@ "library": "highcharts", "fileName": "indicators/atr.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -429,7 +429,7 @@ "library": "highcharts", "fileName": "indicators/bollinger-bands.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -441,7 +441,7 @@ "library": "highcharts", "fileName": "indicators/cci.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -453,7 +453,7 @@ "library": "highcharts", "fileName": "indicators/chaikin.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -465,7 +465,7 @@ "library": "highcharts", "fileName": "indicators/cmf.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -477,7 +477,7 @@ "library": "highcharts", "fileName": "indicators/cmo.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -489,7 +489,7 @@ "library": "highcharts", "fileName": "indicators/dema.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -501,7 +501,7 @@ "library": "highcharts", "fileName": "indicators/disparity-index.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -513,7 +513,7 @@ "library": "highcharts", "fileName": "indicators/dmi.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -525,7 +525,7 @@ "library": "highcharts", "fileName": "indicators/dpo.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -537,7 +537,7 @@ "library": "highcharts", "fileName": "indicators/ema.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -549,7 +549,7 @@ "library": "highcharts", "fileName": "indicators/ichimoku-kinko-hyo.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -561,7 +561,7 @@ "library": "highcharts", "fileName": "indicators/indicators-all.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -573,7 +573,7 @@ "library": "highcharts", "fileName": "indicators/indicators.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -585,7 +585,7 @@ "library": "highcharts", "fileName": "indicators/keltner-channels.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -597,7 +597,7 @@ "library": "highcharts", "fileName": "indicators/klinger.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -609,7 +609,7 @@ "library": "highcharts", "fileName": "indicators/macd.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -621,7 +621,7 @@ "library": "highcharts", "fileName": "indicators/mfi.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -633,7 +633,7 @@ "library": "highcharts", "fileName": "indicators/momentum.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -645,7 +645,7 @@ "library": "highcharts", "fileName": "indicators/natr.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -657,7 +657,7 @@ "library": "highcharts", "fileName": "indicators/obv.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -669,7 +669,7 @@ "library": "highcharts", "fileName": "indicators/pivot-points.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -681,7 +681,7 @@ "library": "highcharts", "fileName": "indicators/ppo.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -693,7 +693,7 @@ "library": "highcharts", "fileName": "indicators/price-channel.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -705,7 +705,7 @@ "library": "highcharts", "fileName": "indicators/price-envelopes.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -717,7 +717,7 @@ "library": "highcharts", "fileName": "indicators/psar.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -729,7 +729,7 @@ "library": "highcharts", "fileName": "indicators/regressions.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -741,7 +741,7 @@ "library": "highcharts", "fileName": "indicators/roc.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -753,7 +753,7 @@ "library": "highcharts", "fileName": "indicators/rsi.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -765,7 +765,7 @@ "library": "highcharts", "fileName": "indicators/slow-stochastic.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -777,7 +777,7 @@ "library": "highcharts", "fileName": "indicators/stochastic.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -789,7 +789,7 @@ "library": "highcharts", "fileName": "indicators/supertrend.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -801,7 +801,7 @@ "library": "highcharts", "fileName": "indicators/tema.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -813,7 +813,7 @@ "library": "highcharts", "fileName": "indicators/trendline.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -825,7 +825,7 @@ "library": "highcharts", "fileName": "indicators/trix.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -837,7 +837,7 @@ "library": "highcharts", "fileName": "indicators/volume-by-price.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -849,7 +849,7 @@ "library": "highcharts", "fileName": "indicators/vwap.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -861,7 +861,7 @@ "library": "highcharts", "fileName": "indicators/williams-r.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -873,7 +873,7 @@ "library": "highcharts", "fileName": "indicators/wma.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -885,7 +885,7 @@ "library": "highcharts", "fileName": "indicators/zigzag.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -897,7 +897,7 @@ "library": "highcharts", "fileName": "lib/jspdf.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -909,7 +909,7 @@ "library": "highcharts", "fileName": "lib/svg2pdf.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -921,7 +921,7 @@ "library": "highcharts", "fileName": "modules/accessibility.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -933,7 +933,7 @@ "library": "highcharts", "fileName": "modules/annotations-advanced.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -945,7 +945,7 @@ "library": "highcharts", "fileName": "modules/annotations.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -957,7 +957,7 @@ "library": "highcharts", "fileName": "modules/arc-diagram.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -969,7 +969,7 @@ "library": "highcharts", "fileName": "modules/arrow-symbols.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -981,7 +981,7 @@ "library": "highcharts", "fileName": "modules/boost-canvas.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -993,7 +993,7 @@ "library": "highcharts", "fileName": "modules/boost.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1005,7 +1005,7 @@ "library": "highcharts", "fileName": "modules/broken-axis.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1017,7 +1017,7 @@ "library": "highcharts", "fileName": "modules/bullet.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1029,7 +1029,7 @@ "library": "highcharts", "fileName": "modules/coloraxis.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1041,7 +1041,7 @@ "library": "highcharts", "fileName": "modules/current-date-indicator.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1053,7 +1053,7 @@ "library": "highcharts", "fileName": "modules/cylinder.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1065,7 +1065,7 @@ "library": "highcharts", "fileName": "modules/data.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1077,7 +1077,7 @@ "library": "highcharts", "fileName": "modules/datagrouping.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1089,7 +1089,7 @@ "library": "highcharts", "fileName": "modules/debugger.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1101,7 +1101,7 @@ "library": "highcharts", "fileName": "modules/dependency-wheel.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1113,7 +1113,7 @@ "library": "highcharts", "fileName": "modules/dotplot.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1125,7 +1125,7 @@ "library": "highcharts", "fileName": "modules/drag-panes.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1137,7 +1137,7 @@ "library": "highcharts", "fileName": "modules/draggable-points.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1149,7 +1149,7 @@ "library": "highcharts", "fileName": "modules/drilldown.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1161,7 +1161,7 @@ "library": "highcharts", "fileName": "modules/dumbbell.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1173,7 +1173,7 @@ "library": "highcharts", "fileName": "modules/export-data.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1185,7 +1185,7 @@ "library": "highcharts", "fileName": "modules/exporting.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1197,7 +1197,7 @@ "library": "highcharts", "fileName": "modules/full-screen.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1209,7 +1209,7 @@ "library": "highcharts", "fileName": "modules/funnel.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1221,7 +1221,7 @@ "library": "highcharts", "fileName": "modules/funnel3d.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1233,7 +1233,7 @@ "library": "highcharts", "fileName": "modules/gantt.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1245,7 +1245,7 @@ "library": "highcharts", "fileName": "modules/grid-axis.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1257,7 +1257,7 @@ "library": "highcharts", "fileName": "modules/heatmap.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1269,7 +1269,7 @@ "library": "highcharts", "fileName": "modules/heikinashi.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1281,7 +1281,7 @@ "library": "highcharts", "fileName": "modules/histogram-bellcurve.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1293,7 +1293,7 @@ "library": "highcharts", "fileName": "modules/hollowcandlestick.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1305,7 +1305,7 @@ "library": "highcharts", "fileName": "modules/item-series.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1317,7 +1317,7 @@ "library": "highcharts", "fileName": "modules/lollipop.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1329,7 +1329,7 @@ "library": "highcharts", "fileName": "modules/map.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1341,7 +1341,7 @@ "library": "highcharts", "fileName": "modules/marker-clusters.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1353,7 +1353,7 @@ "library": "highcharts", "fileName": "modules/networkgraph.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1365,7 +1365,7 @@ "library": "highcharts", "fileName": "modules/no-data-to-display.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1377,7 +1377,7 @@ "library": "highcharts", "fileName": "modules/offline-exporting.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1389,7 +1389,7 @@ "library": "highcharts", "fileName": "modules/organization.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1401,7 +1401,7 @@ "library": "highcharts", "fileName": "modules/overlapping-datalabels.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1413,7 +1413,7 @@ "library": "highcharts", "fileName": "modules/parallel-coordinates.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1425,7 +1425,7 @@ "library": "highcharts", "fileName": "modules/pareto.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1437,7 +1437,7 @@ "library": "highcharts", "fileName": "modules/pathfinder.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1449,7 +1449,7 @@ "library": "highcharts", "fileName": "modules/pattern-fill.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1461,7 +1461,7 @@ "library": "highcharts", "fileName": "modules/price-indicator.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1473,7 +1473,7 @@ "library": "highcharts", "fileName": "modules/pyramid3d.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1485,7 +1485,7 @@ "library": "highcharts", "fileName": "modules/sankey.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1497,7 +1497,7 @@ "library": "highcharts", "fileName": "modules/series-label.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1509,7 +1509,7 @@ "library": "highcharts", "fileName": "modules/series-on-point.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1521,7 +1521,7 @@ "library": "highcharts", "fileName": "modules/solid-gauge.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1533,7 +1533,7 @@ "library": "highcharts", "fileName": "modules/sonification.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1545,7 +1545,7 @@ "library": "highcharts", "fileName": "modules/static-scale.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1557,7 +1557,7 @@ "library": "highcharts", "fileName": "modules/stock-tools.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1569,7 +1569,7 @@ "library": "highcharts", "fileName": "modules/stock.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1581,7 +1581,7 @@ "library": "highcharts", "fileName": "modules/streamgraph.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1593,7 +1593,7 @@ "library": "highcharts", "fileName": "modules/sunburst.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1605,7 +1605,7 @@ "library": "highcharts", "fileName": "modules/tilemap.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1617,7 +1617,7 @@ "library": "highcharts", "fileName": "modules/timeline.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1629,7 +1629,7 @@ "library": "highcharts", "fileName": "modules/treegrid.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1641,7 +1641,7 @@ "library": "highcharts", "fileName": "modules/treemap.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1653,7 +1653,7 @@ "library": "highcharts", "fileName": "modules/variable-pie.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1665,7 +1665,7 @@ "library": "highcharts", "fileName": "modules/variwide.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1677,7 +1677,7 @@ "library": "highcharts", "fileName": "modules/vector.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1689,7 +1689,7 @@ "library": "highcharts", "fileName": "modules/venn.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1701,7 +1701,7 @@ "library": "highcharts", "fileName": "modules/windbarb.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1713,7 +1713,7 @@ "library": "highcharts", "fileName": "modules/wordcloud.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1725,7 +1725,7 @@ "library": "highcharts", "fileName": "modules/xrange.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1737,7 +1737,7 @@ "library": "highcharts", "fileName": "modules/data-tools.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1749,7 +1749,7 @@ "library": "highcharts", "fileName": "modules/flowmap.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1761,7 +1761,7 @@ "library": "highcharts", "fileName": "modules/geoheatmap.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1773,7 +1773,7 @@ "library": "highcharts", "fileName": "modules/mouse-wheel-zoom.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1785,7 +1785,7 @@ "library": "highcharts", "fileName": "modules/navigator.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1797,7 +1797,7 @@ "library": "highcharts", "fileName": "modules/pictorial.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1809,7 +1809,7 @@ "library": "highcharts", "fileName": "modules/tiledwebmap.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1821,7 +1821,7 @@ "library": "highcharts", "fileName": "modules/treegraph.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1833,7 +1833,7 @@ "library": "highcharts", "fileName": "themes/avocado.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1845,7 +1845,7 @@ "library": "highcharts", "fileName": "themes/brand-dark.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1857,7 +1857,7 @@ "library": "highcharts", "fileName": "themes/brand-light.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1869,7 +1869,7 @@ "library": "highcharts", "fileName": "themes/dark-blue.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1881,7 +1881,7 @@ "library": "highcharts", "fileName": "themes/dark-green.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1893,7 +1893,7 @@ "library": "highcharts", "fileName": "themes/dark-unica.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1905,7 +1905,7 @@ "library": "highcharts", "fileName": "themes/gray.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1917,7 +1917,7 @@ "library": "highcharts", "fileName": "themes/grid-light.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1929,7 +1929,7 @@ "library": "highcharts", "fileName": "themes/grid.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1941,7 +1941,7 @@ "library": "highcharts", "fileName": "themes/high-contrast-dark.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1953,7 +1953,7 @@ "library": "highcharts", "fileName": "themes/high-contrast-light.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1965,7 +1965,7 @@ "library": "highcharts", "fileName": "themes/sand-signika.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1977,7 +1977,7 @@ "library": "highcharts", "fileName": "themes/skies.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -1989,7 +1989,7 @@ "library": "highcharts", "fileName": "themes/sunset.min.js" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -2001,7 +2001,7 @@ "library": "highcharts", "fileName": "css/annotations/popup.min.css" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -2013,7 +2013,7 @@ "library": "highcharts", "fileName": "css/stocktools/gui.min.css" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -2025,7 +2025,7 @@ "library": "highcharts", "fileName": "css/themes/dark-unica.min.css" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -2037,7 +2037,7 @@ "library": "highcharts", "fileName": "css/themes/grid-light.min.css" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" }, { "package": "highcharts", @@ -2049,6 +2049,6 @@ "library": "highcharts", "fileName": "css/themes/sand-signika.min.css" }, - "currentVersion": "11.4.7" + "currentVersion": "11.4.8" } ] \ No newline at end of file diff --git a/assets/js/external/asyncapi/asyncapi-web-component.min.js b/assets/js/external/asyncapi/asyncapi-web-component.min.js index a636f2e..9c2cfde 100644 --- a/assets/js/external/asyncapi/asyncapi-web-component.min.js +++ b/assets/js/external/asyncapi/asyncapi-web-component.min.js @@ -5,5 +5,5 @@ || ${a} === "boolean" || ${r} === null`).assign(c,s._`[${r}]`)}}i.else(),h(e),i.endIf(),i.if(s._`${c} !== undefined`,(()=>{i.assign(r,c),function({gen:e,parentData:t,parentDataProperty:n},i){e.if(s._`${t} !== undefined`,(()=>e.assign(s._`${t}[${n}]`,i)))}(e,c)}))}(e,t,a):h(e)}))}return p};const l=new Set(["string","number","integer","boolean","null"]);function u(e,t,n,i=c.Correct){const r=i===c.Correct?s.operators.EQ:s.operators.NEQ;let o;switch(e){case"null":return s._`${t} ${r} null`;case"array":o=s._`Array.isArray(${t})`;break;case"object":o=s._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=a(s._`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=a();break;default:return s._`typeof ${t} ${r} ${e}`}return i===c.Correct?o:(0,s.not)(o);function a(e=s.nil){return(0,s.and)(s._`typeof ${t} == "number"`,e,n?s._`isFinite(${t})`:s.nil)}}function f(e,t,n,i){if(1===e.length)return u(e[0],t,n,i);let r;const o=(0,a.toHash)(e);if(o.array&&o.object){const e=s._`typeof ${t} != "object"`;r=o.null?e:s._`!${t} || ${e}`,delete o.null,delete o.array,delete o.object}else r=s.nil;o.number&&delete o.integer;for(const e in o)r=(0,s.and)(r,u(e,t,n,i));return r}t.checkDataType=u,t.checkDataTypes=f;const d={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?s._`{type: ${e}}`:s._`{type: ${t}}`};function h(e){const t=function(e){const{gen:t,data:n,schema:i}=e,r=(0,a.schemaRefOrVal)(e,i,"type");return{gen:t,keyword:"type",data:n,schema:i.type,schemaCode:r,schemaValue:r,parentSchema:i,params:{},it:e}}(e);(0,o.reportError)(t,d)}t.reportTypeError=h},91481:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const i=n(15669),r=n(88936);function o(e,t,n){const{gen:o,compositeRule:s,data:a,opts:c}=e;if(void 0===n)return;const p=i._`${a}${(0,i.getProperty)(t)}`;if(s)return void(0,r.checkStrictMode)(e,`default is ignored for: ${p}`);let l=i._`${p} === undefined`;"empty"===c.useDefaults&&(l=i._`${l} || ${p} === null || ${p} === ""`),o.if(l,i._`${p} = ${(0,i.stringify)(n)}`)}t.assignDefaults=function(e,t){const{properties:n,items:i}=e.schema;if("object"===t&&n)for(const t in n)o(e,t,n[t].default);else"array"===t&&Array.isArray(i)&&i.forEach(((t,n)=>o(e,n,t.default)))}},91686:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const i=n(12171),r=n(97332),o=n(89073),s=n(97332),a=n(91481),c=n(95782),p=n(38878),l=n(15669),u=n(17250),f=n(96696),d=n(88936),h=n(6930);function m({gen:e,validateName:t,schema:n,schemaEnv:i,opts:r},o){r.code.es5?e.func(t,l._`${u.default.data}, ${u.default.valCxt}`,i.$async,(()=>{e.code(l._`"use strict"; ${y(n,r)}`),function(e,t){e.if(u.default.valCxt,(()=>{e.var(u.default.instancePath,l._`${u.default.valCxt}.${u.default.instancePath}`),e.var(u.default.parentData,l._`${u.default.valCxt}.${u.default.parentData}`),e.var(u.default.parentDataProperty,l._`${u.default.valCxt}.${u.default.parentDataProperty}`),e.var(u.default.rootData,l._`${u.default.valCxt}.${u.default.rootData}`),t.dynamicRef&&e.var(u.default.dynamicAnchors,l._`${u.default.valCxt}.${u.default.dynamicAnchors}`)}),(()=>{e.var(u.default.instancePath,l._`""`),e.var(u.default.parentData,l._`undefined`),e.var(u.default.parentDataProperty,l._`undefined`),e.var(u.default.rootData,u.default.data),t.dynamicRef&&e.var(u.default.dynamicAnchors,l._`{}`)}))}(e,r),e.code(o)})):e.func(t,l._`${u.default.data}, ${function(e){return l._`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${e.dynamicRef?l._`, ${u.default.dynamicAnchors}={}`:l.nil}}={}`}(r)}`,i.$async,(()=>e.code(y(n,r)).code(o)))}function y(e,t){const n="object"==typeof e&&e[t.schemaId];return n&&(t.code.source||t.code.process)?l._`/*# sourceURL=${n} */`:l.nil}function g({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const n in e)if(t.RULES.all[n])return!0;return!1}function b(e){return"boolean"!=typeof e.schema}function v(e){(0,d.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:n,opts:i,self:r}=e;t.$ref&&i.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(t,r.RULES)&&r.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}(e)}function _(e,t){if(e.opts.jtd)return x(e,[],!1,t);const n=(0,r.getSchemaTypes)(e.schema);x(e,n,!(0,r.coerceAndCheckDataType)(e,n),t)}function j({gen:e,schemaEnv:t,schema:n,errSchemaPath:i,opts:r}){const o=n.$comment;if(!0===r.$comment)e.code(l._`${u.default.self}.logger.log(${o})`);else if("function"==typeof r.$comment){const n=l.str`${i}/$comment`,r=e.scopeValue("root",{ref:t.root});e.code(l._`${u.default.self}.opts.$comment(${o}, ${n}, ${r}.schema)`)}}function x(e,t,n,i){const{gen:r,schema:a,data:c,allErrors:p,opts:f,self:h}=e,{RULES:m}=h;function y(d){(0,o.shouldUseGroup)(a,d)&&(d.type?(r.if((0,s.checkDataType)(d.type,c,f.strictNumbers)),w(e,d),1===t.length&&t[0]===d.type&&n&&(r.else(),(0,s.reportTypeError)(e)),r.endIf()):w(e,d),p||r.if(l._`${u.default.errors} === ${i||0}`))}!a.$ref||!f.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(a,m)?(f.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{$(e.dataTypes,t)||S(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const n=[];for(const i of e.dataTypes)$(t,i)?n.push(i):t.includes("integer")&&"number"===i&&n.push("integer");e.dataTypes=n}(e,t)):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&S(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const n=e.self.RULES.all;for(const i in n){const r=n[i];if("object"==typeof r&&(0,o.shouldUseRule)(e.schema,r)){const{type:n}=r.definition;n.length&&!n.some((e=>{return i=e,(n=t).includes(i)||"number"===i&&n.includes("integer");var n,i}))&&S(e,`missing type "${n.join(",")}" for keyword "${i}"`)}}}(e,e.dataTypes))}(e,t),r.block((()=>{for(const e of m.rules)y(e);y(m.post)}))):r.block((()=>O(e,"$ref",m.all.$ref.definition)))}function w(e,t){const{gen:n,schema:i,opts:{useDefaults:r}}=e;r&&(0,a.assignDefaults)(e,t.type),n.block((()=>{for(const n of t.rules)(0,o.shouldUseRule)(i,n)&&O(e,n.keyword,n.definition,t.type)}))}function $(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function S(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,d.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){b(e)&&(v(e),g(e))?function(e){const{schema:t,opts:n,gen:i}=e;m(e,(()=>{n.$comment&&t.$comment&&j(e),function(e){const{schema:t,opts:n}=e;void 0!==t.default&&n.useDefaults&&n.strictSchema&&(0,d.checkStrictMode)(e,"default is ignored in the schema root")}(e),i.let(u.default.vErrors,null),i.let(u.default.errors,0),n.unevaluated&&function(e){const{gen:t,validateName:n}=e;e.evaluated=t.const("evaluated",l._`${n}.evaluated`),t.if(l._`${e.evaluated}.dynamicProps`,(()=>t.assign(l._`${e.evaluated}.props`,l._`undefined`))),t.if(l._`${e.evaluated}.dynamicItems`,(()=>t.assign(l._`${e.evaluated}.items`,l._`undefined`)))}(e),_(e),function(e){const{gen:t,schemaEnv:n,validateName:i,ValidationError:r,opts:o}=e;n.$async?t.if(l._`${u.default.errors} === 0`,(()=>t.return(u.default.data)),(()=>t.throw(l._`new ${r}(${u.default.vErrors})`))):(t.assign(l._`${i}.errors`,u.default.vErrors),o.unevaluated&&function({gen:e,evaluated:t,props:n,items:i}){n instanceof l.Name&&e.assign(l._`${t}.props`,n),i instanceof l.Name&&e.assign(l._`${t}.items`,i)}(e),t.return(l._`${u.default.errors} === 0`))}(e)}))}(e):m(e,(()=>(0,i.topBoolOrEmptySchema)(e)))};class P{constructor(e,t,n){if((0,c.validateKeywordUsage)(e,t,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",T(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,c.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",u.default.errors))}result(e,t,n){this.failResult((0,l.not)(e),t,n)}failResult(e,t,n){this.gen.if(e),n?n():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,l.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(l._`${t} !== undefined && (${(0,l.or)(this.invalid$data(),e)})`)}error(e,t,n){if(t)return this.setParams(t),this._error(e,n),void this.setParams({});this._error(e,n)}_error(e,t){(e?h.reportExtraError:h.reportError)(this,this.def.error,t)}$dataError(){(0,h.reportError)(this,this.def.$dataError||h.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,h.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,n=l.nil){this.gen.block((()=>{this.check$data(e,n),t()}))}check$data(e=l.nil,t=l.nil){if(!this.$data)return;const{gen:n,schemaCode:i,schemaType:r,def:o}=this;n.if((0,l.or)(l._`${i} === undefined`,t)),e!==l.nil&&n.assign(e,!0),(r.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==l.nil&&n.assign(e,!1)),n.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:n,def:i,it:r}=this;return(0,l.or)(function(){if(n.length){if(!(t instanceof l.Name))throw new Error("ajv implementation error");const e=Array.isArray(n)?n:[n];return l._`${(0,s.checkDataTypes)(e,t,r.opts.strictNumbers,s.DataType.Wrong)}`}return l.nil}(),function(){if(i.validateSchema){const n=e.scopeValue("validate$data",{ref:i.validateSchema});return l._`!${n}(${t})`}return l.nil}())}subschema(e,t){const n=(0,p.getSubschema)(this.it,e);(0,p.extendSubschemaData)(n,this.it,e),(0,p.extendSubschemaMode)(n,e);const r={...this.it,...n,items:void 0,props:void 0};return function(e,t){b(e)&&(v(e),g(e))?function(e,t){const{schema:n,gen:i,opts:r}=e;r.$comment&&n.$comment&&j(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,f.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const o=i.const("_errs",u.default.errors);_(e,o),i.var(t,l._`${o} === ${u.default.errors}`)}(e,t):(0,i.boolOrEmptySchema)(e,t)}(r,t),r}mergeEvaluated(e,t){const{it:n,gen:i}=this;n.opts.unevaluated&&(!0!==n.props&&void 0!==e.props&&(n.props=d.mergeEvaluated.props(i,e.props,n.props,t)),!0!==n.items&&void 0!==e.items&&(n.items=d.mergeEvaluated.items(i,e.items,n.items,t)))}mergeValidEvaluated(e,t){const{it:n,gen:i}=this;if(n.opts.unevaluated&&(!0!==n.props||!0!==n.items))return i.if(t,(()=>this.mergeEvaluated(e,l.Name))),!0}}function O(e,t,n,i){const r=new P(e,n,t);"code"in n?n.code(r,i):r.$data&&n.validate?(0,c.funcKeywordCode)(r,n):"macro"in n?(0,c.macroKeywordCode)(r,n):(n.compile||n.validate)&&(0,c.funcKeywordCode)(r,n)}t.KeywordCxt=P;const E=/^\/(?:[^~]|~0|~1)*$/,A=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function T(e,{dataLevel:t,dataNames:n,dataPathArr:i}){let r,o;if(""===e)return u.default.rootData;if("/"===e[0]){if(!E.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);r=e,o=u.default.rootData}else{const s=A.exec(e);if(!s)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+s[1];if(r=s[2],"#"===r){if(a>=t)throw new Error(c("property/index",a));return i[t-a]}if(a>t)throw new Error(c("data",a));if(o=n[t-a],!r)return o}let s=o;const a=r.split("/");for(const e of a)e&&(o=l._`${o}${(0,l.getProperty)((0,d.unescapeJsonPointer)(e))}`,s=l._`${s} && ${o}`);return s;function c(e,n){return`Cannot access ${e} ${n} levels up, current level is ${t}`}}t.getData=T},95782:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const i=n(15669),r=n(17250),o=n(3499),s=n(6930);function a(e){const{gen:t,data:n,it:r}=e;t.if(r.parentData,(()=>t.assign(n,i._`${r.parentData}[${r.parentDataProperty}]`)))}function c(e,t,n){if(void 0===n)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof n?{ref:n}:{ref:n,code:(0,i.stringify)(n)})}t.macroKeywordCode=function(e,t){const{gen:n,keyword:r,schema:o,parentSchema:s,it:a}=e,p=t.macro.call(a.self,o,s,a),l=c(n,r,p);!1!==a.opts.validateSchema&&a.self.validateSchema(p,!0);const u=n.name("valid");e.subschema({schema:p,schemaPath:i.nil,errSchemaPath:`${a.errSchemaPath}/${r}`,topSchemaRef:l,compositeRule:!0},u),e.pass(u,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var n;const{gen:p,keyword:l,schema:u,parentSchema:f,$data:d,it:h}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(h,t);const m=!d&&t.compile?t.compile.call(h.self,u,f,h):t.validate,y=c(p,l,m),g=p.let("valid");function b(n=(t.async?i._`await `:i.nil)){const s=h.opts.passContext?r.default.this:r.default.self,a=!("compile"in t&&!d||!1===t.schema);p.assign(g,i._`${n}${(0,o.callValidateCode)(e,y,s,a)}`,t.modifying)}function v(e){var n;p.if((0,i.not)(null!==(n=t.valid)&&void 0!==n?n:g),e)}e.block$data(g,(function(){if(!1===t.errors)b(),t.modifying&&a(e),v((()=>e.error()));else{const n=t.async?function(){const e=p.let("ruleErrs",null);return p.try((()=>b(i._`await `)),(t=>p.assign(g,!1).if(i._`${t} instanceof ${h.ValidationError}`,(()=>p.assign(e,i._`${t}.errors`)),(()=>p.throw(t))))),e}():function(){const e=i._`${y}.errors`;return p.assign(e,null),b(i.nil),e}();t.modifying&&a(e),v((()=>function(e,t){const{gen:n}=e;n.if(i._`Array.isArray(${t})`,(()=>{n.assign(r.default.vErrors,i._`${r.default.vErrors} === null ? ${t} : ${r.default.vErrors}.concat(${t})`).assign(r.default.errors,i._`${r.default.vErrors}.length`),(0,s.extendErrors)(e)}),(()=>e.error()))}(e,n)))}})),e.ok(null!==(n=t.valid)&&void 0!==n?n:g)},t.validSchemaType=function(e,t,n=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||n&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:n,errSchemaPath:i},r,o){if(Array.isArray(r.keyword)?!r.keyword.includes(o):r.keyword!==o)throw new Error("ajv implementation error");const s=r.dependencies;if(null==s?void 0:s.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${o}: ${s.join(",")}`);if(r.validateSchema&&!r.validateSchema(e[o])){const e=`keyword "${o}" value is invalid at path "${i}": `+n.errorsText(r.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);n.logger.error(e)}}},38878:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const i=n(15669),r=n(88936);t.getSubschema=function(e,{keyword:t,schemaProp:n,schema:o,schemaPath:s,errSchemaPath:a,topSchemaRef:c}){if(void 0!==t&&void 0!==o)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const o=e.schema[t];return void 0===n?{schema:o,schemaPath:i._`${e.schemaPath}${(0,i.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:o[n],schemaPath:i._`${e.schemaPath}${(0,i.getProperty)(t)}${(0,i.getProperty)(n)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,r.escapeFragment)(n)}`}}if(void 0!==o){if(void 0===s||void 0===a||void 0===c)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:s,topSchemaRef:c,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:n,dataPropType:o,data:s,dataTypes:a,propertyName:c}){if(void 0!==s&&void 0!==n)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:p}=t;if(void 0!==n){const{errorPath:s,dataPathArr:a,opts:c}=t;l(p.let("data",i._`${t.data}${(0,i.getProperty)(n)}`,!0)),e.errorPath=i.str`${s}${(0,r.getErrorPath)(n,o,c.jsPropertySyntax)}`,e.parentDataProperty=i._`${n}`,e.dataPathArr=[...a,e.parentDataProperty]}function l(n){e.data=n,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,n]}void 0!==s&&(l(s instanceof i.Name?s:p.let("data",s,!0)),void 0!==c&&(e.propertyName=c)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:i,createErrors:r,allErrors:o}){void 0!==i&&(e.compositeRule=i),void 0!==r&&(e.createErrors=r),void 0!==o&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=n}},38355:(e,t,n)=>{"use strict";var i=n(30138);Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var r=n(91686);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return r.KeywordCxt}});var o=n(15669);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return o._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return o.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return o.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return o.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return o.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return o.CodeGen}});const s=n(46448),a=n(91578),c=n(82881),p=n(87382),l=n(15669),u=n(96696),f=n(97332),d=n(88936),h=n(71143),m=n(10407),y=(e,t)=>new RegExp(e,t);y.code="new RegExp";const g=["removeAdditional","useDefaults","coerceTypes"],b=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},_={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function j(e){var t,n,i,r,o,s,a,c,p,l,u,f,d,h,g,b,v,_,j,x,w,$,S,P,O;const E=e.strict,A=null===(t=e.code)||void 0===t?void 0:t.optimize,T=!0===A||void 0===A?1:A||0,k=null!==(i=null===(n=e.code)||void 0===n?void 0:n.regExp)&&void 0!==i?i:y,I=null!==(r=e.uriResolver)&&void 0!==r?r:m.default;return{strictSchema:null===(s=null!==(o=e.strictSchema)&&void 0!==o?o:E)||void 0===s||s,strictNumbers:null===(c=null!==(a=e.strictNumbers)&&void 0!==a?a:E)||void 0===c||c,strictTypes:null!==(l=null!==(p=e.strictTypes)&&void 0!==p?p:E)&&void 0!==l?l:"log",strictTuples:null!==(f=null!==(u=e.strictTuples)&&void 0!==u?u:E)&&void 0!==f?f:"log",strictRequired:null!==(h=null!==(d=e.strictRequired)&&void 0!==d?d:E)&&void 0!==h&&h,code:e.code?{...e.code,optimize:T,regExp:k}:{optimize:T,regExp:k},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===(_=e.messages)||void 0===_||_,inlineRefs:null===(j=e.inlineRefs)||void 0===j||j,schemaId:null!==(x=e.schemaId)&&void 0!==x?x:"$id",addUsedSchema:null===(w=e.addUsedSchema)||void 0===w||w,validateSchema:null===($=e.validateSchema)||void 0===$||$,validateFormats:null===(S=e.validateFormats)||void 0===S||S,unicodeRegExp:null===(P=e.unicodeRegExp)||void 0===P||P,int32range:null===(O=e.int32range)||void 0===O||O,uriResolver:I}}class x{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...j(e)};const{es5:t,lines:n}=this.opts.code;this.scope=new l.ValueScope({scope:{},prefixes:b,es5:t,lines:n}),this.logger=function(e){if(!1===e)return A;if(void 0===e)return i;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const r=e.validateFormats;e.validateFormats=!1,this.RULES=(0,c.getRules)(),w.call(this,v,e,"NOT SUPPORTED"),w.call(this,_,e,"DEPRECATED","warn"),this._metaOpts=E.call(this),e.formats&&P.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&O.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),S.call(this),e.validateFormats=r}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:n}=this.opts;let i=h;"id"===n&&(i={...h},i.id=i.$id,delete i.$id),t&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let n;if("string"==typeof e){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);const i=n(t);return"$async"in n||(this.errors=n.errors),i}compile(e,t){const n=this._addSchema(e,t);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:n}=this.opts;return i.call(this,e,t);async function i(e,t){await r.call(this,e.$schema);const n=this._addSchema(e,t);return n.validate||o.call(this,n)}async function r(e){e&&!this.getSchema(e)&&await i.call(this,{$ref:e},!0)}async function o(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof a.default))throw t;return s.call(this,t),await c.call(this,t.missingSchema),o.call(this,e)}}function s({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){const n=await p.call(this,e);this.refs[e]||await r.call(this,n.$schema),this.refs[e]||this.addSchema(n,e,t)}async function p(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=n(e))}finally{delete this._loading[e]}}}addSchema(e,t,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,n,i);return this}let r;if("object"==typeof e){const{schemaId:t}=this.opts;if(r=e[t],void 0!==r&&"string"!=typeof r)throw new Error(`schema ${t} must be string`)}return t=(0,u.normalizeId)(t||r),this._checkUnique(t),this.schemas[t]=this._addSchema(e,n,t,i,!0),this}addMetaSchema(e,t,n=this.opts.validateSchema){return this.addSchema(e,t,!0,n),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let n;if(n=e.$schema,void 0!==n&&"string"!=typeof n)throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const i=this.validate(n,e);if(!i&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return i}getSchema(e){let t;for(;"string"==typeof(t=$.call(this,e));)e=t;if(void 0===t){const{schemaId:n}=this.opts,i=new p.SchemaEnv({schema:{},schemaId:n});if(t=p.resolveSchema.call(this,i,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=$.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let n=e[this.opts.schemaId];return n&&(n=(0,u.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let n;if("string"==typeof e)n=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=n);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(n=(t=e).keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(k.call(this,n,t),!t)return(0,d.eachItem)(n,(e=>I.call(this,e))),this;M.call(this,t);const i={...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)};return(0,d.eachItem)(n,0===i.type.length?e=>I.call(this,e,i):e=>i.type.forEach((t=>I.call(this,e,i,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const n of t.rules){const t=n.rules.findIndex((t=>t.keyword===e));t>=0&&n.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:n="data"}={}){return e&&0!==e.length?e.map((e=>`${n}${e.instancePath} ${e.message}`)).reduce(((e,n)=>e+t+n)):"No errors"}$dataMetaSchema(e,t){const n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const i of t){const t=i.split("/").slice(1);let r=e;for(const e of t)r=r[e];for(const e in n){const t=n[e];if("object"!=typeof t)continue;const{$data:i}=t.definition,o=r[e];i&&o&&(r[e]=C(o))}}return e}_removeAllSchemas(e,t){for(const n in e){const i=e[n];t&&!t.test(n)||("string"==typeof i?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,t,n,i=this.opts.validateSchema,r=this.opts.addUsedSchema){let o;const{schemaId:s}=this.opts;if("object"==typeof e)o=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;n=(0,u.normalizeId)(o||n);const c=u.getSchemaRefs.call(this,e,n);return a=new p.SchemaEnv({schema:e,schemaId:s,meta:t,baseId:n,localRefs:c}),this._cache.set(a.schema,a),r&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=a),i&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):p.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{p.compileSchema.call(this,e)}finally{this.opts=t}}}function w(e,t,n,i="error"){for(const r in e){const o=r;o in t&&this.logger[i](`${n}: option ${r}. ${e[o]}`)}}function $(e){return e=(0,u.normalizeId)(e),this.schemas[e]||this.refs[e]}function S(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function P(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function O(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const n=e[t];n.keyword||(n.keyword=t),this.addKeyword(n)}}}function E(){const e={...this.opts};for(const t of g)delete e[t];return e}t.default=x,x.ValidationError=s.default,x.MissingRefError=a.default;const A={log(){},warn(){},error(){}},T=/^[a-z_$][a-z0-9_$:-]*$/i;function k(e,t){const{RULES:n}=this;if((0,d.eachItem)(e,(e=>{if(n.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!T.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,n){var i;const r=null==t?void 0:t.post;if(n&&r)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:o}=this;let s=r?o.post:o.rules.find((({type:e})=>e===n));if(s||(s={type:n,rules:[]},o.rules.push(s)),o.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,f.getJSONTypes)(t.type),schemaType:(0,f.getJSONTypes)(t.schemaType)}};t.before?R.call(this,s,a,t.before):s.rules.push(a),o.all[e]=a,null===(i=t.implements)||void 0===i||i.forEach((e=>this.addKeyword(e)))}function R(e,t,n){const i=e.rules.findIndex((e=>e.keyword===n));i>=0?e.rules.splice(i,0,t):(e.rules.push(t),this.logger.warn(`rule ${n} is not defined`))}function M(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=C(t)),e.validateSchema=this.compile(t,!0))}const N={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function C(e){return{anyOf:[e,N]}}},71297:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(89695),r=n(54181),o=n(54089),s=n(71103),a=n(56516),c=n(80504),p=n(9879),l=["/properties"];t.default=function(e){return[i,r,o,s,t(this,a),c,t(this,p)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,n){return e?t.$dataMetaSchema(n,l):n}}},12573:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(35006),r=n(3307),o=n(85693),s=n(63764),a=n(77452),c=n(70496),p=n(92650),l=n(19696),u=["/properties"];t.default=function(e){return[i,r,o,s,a,t(this,c),p,t(this,l)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,n){return e?t.$dataMetaSchema(n,u):n}}},94285:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(66471);i.code='require("ajv/dist/runtime/equal").default',t.default=i},49161:(e,t)=>{"use strict";function n(e){const t=e.length;let n,i=0,r=0;for(;r=55296&&n<=56319&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(22371);i.code='require("ajv/dist/runtime/uri").default',t.default=i},46448:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=n},78891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const i=n(15669),r=n(88936),o={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>i.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>i._`{limit: ${e}}`},code(e){const{parentSchema:t,it:n}=e,{items:i}=t;Array.isArray(i)?s(e,i):(0,r.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas')}};function s(e,t){const{gen:n,schema:o,data:s,keyword:a,it:c}=e;c.items=!0;const p=n.const("len",i._`${s}.length`);if(!1===o)e.setParams({len:t.length}),e.pass(i._`${p} <= ${t.length}`);else if("object"==typeof o&&!(0,r.alwaysValidSchema)(c,o)){const o=n.var("valid",i._`${p} <= ${t.length}`);n.if((0,i.not)(o),(()=>function(o){n.forRange("i",t.length,p,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:r.Type.Num},o),c.allErrors||n.if((0,i.not)(o),(()=>n.break()))}))}(o))),e.ok(o)}}t.validateAdditionalItems=s,t.default=o},24943:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3499),r=n(15669),o=n(17250),s=n(88936),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>r._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:n,parentSchema:a,data:c,errsCount:p,it:l}=e;if(!p)throw new Error("ajv implementation error");const{allErrors:u,opts:f}=l;if(l.props=!0,"all"!==f.removeAdditional&&(0,s.alwaysValidSchema)(l,n))return;const d=(0,i.allSchemaProperties)(a.properties),h=(0,i.allSchemaProperties)(a.patternProperties);function m(e){t.code(r._`delete ${c}[${e}]`)}function y(i){if("all"===f.removeAdditional||f.removeAdditional&&!1===n)m(i);else{if(!1===n)return e.setParams({additionalProperty:i}),e.error(),void(u||t.break());if("object"==typeof n&&!(0,s.alwaysValidSchema)(l,n)){const n=t.name("valid");"failing"===f.removeAdditional?(g(i,n,!1),t.if((0,r.not)(n),(()=>{e.reset(),m(i)}))):(g(i,n),u||t.if((0,r.not)(n),(()=>t.break())))}}}function g(t,n,i){const r={keyword:"additionalProperties",dataProp:t,dataPropType:s.Type.Str};!1===i&&Object.assign(r,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(r,n)}t.forIn("key",c,(n=>{d.length||h.length?t.if(function(n){let o;if(d.length>8){const e=(0,s.schemaRefOrVal)(l,a.properties,"properties");o=(0,i.isOwnProperty)(t,e,n)}else o=d.length?(0,r.or)(...d.map((e=>r._`${n} === ${e}`))):r.nil;return h.length&&(o=(0,r.or)(o,...h.map((t=>r._`${(0,i.usePattern)(e,t)}.test(${n})`)))),(0,r.not)(o)}(n),(()=>y(n))):y(n)})),e.ok(r._`${p} === ${o.default.errors}`)}};t.default=a},22609:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(88936),r={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:n,it:r}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");const o=t.name("valid");n.forEach(((t,n)=>{if((0,i.alwaysValidSchema)(r,t))return;const s=e.subschema({keyword:"allOf",schemaProp:n},o);e.ok(o),e.mergeEvaluated(s)}))}};t.default=r},54279:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:n(3499).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=i},95609:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?i.str`must contain at least ${e} valid item(s)`:i.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?i._`{minContains: ${e}}`:i._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:n,parentSchema:o,data:s,it:a}=e;let c,p;const{minContains:l,maxContains:u}=o;a.opts.next?(c=void 0===l?1:l,p=u):c=1;const f=t.const("len",i._`${s}.length`);if(e.setParams({min:c,max:p}),void 0===p&&0===c)return void(0,r.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==p&&c>p)return(0,r.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,r.alwaysValidSchema)(a,n)){let t=i._`${f} >= ${c}`;return void 0!==p&&(t=i._`${t} && ${f} <= ${p}`),void e.pass(t)}a.items=!0;const d=t.name("valid");function h(){const e=t.name("_valid"),n=t.let("count",0);m(e,(()=>t.if(e,(()=>function(e){t.code(i._`${e}++`),void 0===p?t.if(i._`${e} >= ${c}`,(()=>t.assign(d,!0).break())):(t.if(i._`${e} > ${p}`,(()=>t.assign(d,!1).break())),1===c?t.assign(d,!0):t.if(i._`${e} >= ${c}`,(()=>t.assign(d,!0))))}(n)))))}function m(n,i){t.forRange("i",0,f,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:r.Type.Num,compositeRule:!0},n),i()}))}void 0===p&&1===c?m(d,(()=>t.if(d,(()=>t.break())))):0===c?(t.let(d,!0),void 0!==p&&t.if(i._`${s}.length > 0`,h)):(t.let(d,!1),h()),e.result(d,(()=>e.reset()))}};t.default=o},5463:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const i=n(15669),r=n(88936),o=n(3499);t.error={message:({params:{property:e,depsCount:t,deps:n}})=>{const r=1===t?"property":"properties";return i.str`must have ${r} ${n} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:n,missingProperty:r}})=>i._`{property: ${e}, missingProperty: ${r}, depsCount: ${t}, - deps: ${n}}`};const s={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,n]=function({schema:e}){const t={},n={};for(const i in e)"__proto__"!==i&&((Array.isArray(e[i])?t:n)[i]=e[i]);return[t,n]}(e);a(e,t),c(e,n)}};function a(e,t=e.schema){const{gen:n,data:r,it:s}=e;if(0===Object.keys(t).length)return;const a=n.let("missing");for(const c in t){const p=t[c];if(0===p.length)continue;const l=(0,o.propertyInData)(n,r,c,s.opts.ownProperties);e.setParams({property:c,depsCount:p.length,deps:p.join(", ")}),s.allErrors?n.if(l,(()=>{for(const t of p)(0,o.checkReportMissingProp)(e,t)})):(n.if(i._`${l} && (${(0,o.checkMissingProp)(e,p,a)})`),(0,o.reportMissingProp)(e,a),n.else())}}function c(e,t=e.schema){const{gen:n,data:i,keyword:s,it:a}=e,c=n.name("valid");for(const p in t)(0,r.alwaysValidSchema)(a,t[p])||(n.if((0,o.propertyInData)(n,i,p,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:s,schemaProp:p},c);e.mergeValidEvaluated(t,c)}),(()=>n.var(c,!0))),e.ok(c))}t.validatePropertyDeps=a,t.validateSchemaDeps=c,t.default=s},18850:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(5463),r={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,i.validateSchemaDeps)(e)};t.default=r},50076:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>i.str`must match "${e.ifClause}" schema`,params:({params:e})=>i._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:n,it:o}=e;void 0===n.then&&void 0===n.else&&(0,r.checkStrictMode)(o,'"if" without "then" and "else" is ignored');const a=s(o,"then"),c=s(o,"else");if(!a&&!c)return;const p=t.let("valid",!0),l=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},l);e.mergeEvaluated(t)}(),e.reset(),a&&c){const n=t.let("ifClause");e.setParams({ifClause:n}),t.if(l,u("then",n),u("else",n))}else a?t.if(l,u("then")):t.if((0,i.not)(l),u("else"));function u(n,r){return()=>{const o=e.subschema({keyword:n},l);t.assign(p,l),e.mergeValidEvaluated(o,p),r?t.assign(r,i._`${n}`):e.setParams({ifClause:n})}}e.pass(p,(()=>e.error(!0)))}};function s(e,t){const n=e.schema[t];return void 0!==n&&!(0,r.alwaysValidSchema)(e,n)}t.default=o},46951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(78891),r=n(21162),o=n(98634),s=n(65151),a=n(95609),c=n(5463),p=n(53021),l=n(24943),u=n(34243),f=n(98103),d=n(72869),h=n(54279),m=n(14880),y=n(22609),g=n(50076),b=n(25316);t.default=function(e=!1){const t=[d.default,h.default,m.default,y.default,g.default,b.default,p.default,l.default,c.default,u.default,f.default];return e?t.push(r.default,s.default):t.push(i.default,o.default),t.push(a.default),t}},98634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const i=n(15669),r=n(88936),o=n(3499),s={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:n}=e;if(Array.isArray(t))return a(e,"additionalItems",t);n.items=!0,(0,r.alwaysValidSchema)(n,t)||e.ok((0,o.validateArray)(e))}};function a(e,t,n=e.schema){const{gen:o,parentSchema:s,data:a,keyword:c,it:p}=e;!function(e){const{opts:i,errSchemaPath:o}=p,s=n.length,a=s===e.minItems&&(s===e.maxItems||!1===e[t]);if(i.strictTuples&&!a){const e=`"${c}" is ${s}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,r.checkStrictMode)(p,e,i.strictTuples)}}(s),p.opts.unevaluated&&n.length&&!0!==p.items&&(p.items=r.mergeEvaluated.items(o,n.length,p.items));const l=o.name("valid"),u=o.const("len",i._`${a}.length`);n.forEach(((t,n)=>{(0,r.alwaysValidSchema)(p,t)||(o.if(i._`${u} > ${n}`,(()=>e.subschema({keyword:c,schemaProp:n,dataProp:n},l))),e.ok(l))}))}t.validateTuple=a,t.default=s},65151:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o=n(3499),s=n(78891),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>i.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>i._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:n,it:i}=e,{prefixItems:a}=n;i.items=!0,(0,r.alwaysValidSchema)(i,t)||(a?(0,s.validateAdditionalItems)(e,a):e.ok((0,o.validateArray)(e)))}};t.default=a},72869:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(88936),r={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:n,it:r}=e;if((0,i.alwaysValidSchema)(r,n))return void e.fail();const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=r},14880:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>i._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:n,parentSchema:o,it:s}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(s.opts.discriminator&&o.discriminator)return;const a=n,c=t.let("valid",!1),p=t.let("passing",null),l=t.name("_valid");e.setParams({passing:p}),t.block((function(){a.forEach(((n,o)=>{let a;(0,r.alwaysValidSchema)(s,n)?t.var(l,!0):a=e.subschema({keyword:"oneOf",schemaProp:o,compositeRule:!0},l),o>0&&t.if(i._`${l} && ${c}`).assign(c,!1).assign(p,i._`[${p}, ${o}]`).else(),t.if(l,(()=>{t.assign(c,!0),t.assign(p,o),a&&e.mergeEvaluated(a,i.Name)}))}))})),e.result(c,(()=>e.reset()),(()=>e.error(!0)))}};t.default=o},98103:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3499),r=n(15669),o=n(88936),s=n(88936),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,data:a,parentSchema:c,it:p}=e,{opts:l}=p,u=(0,i.allSchemaProperties)(n),f=u.filter((e=>(0,o.alwaysValidSchema)(p,n[e])));if(0===u.length||f.length===u.length&&(!p.opts.unevaluated||!0===p.props))return;const d=l.strictSchema&&!l.allowMatchingProperties&&c.properties,h=t.name("valid");!0===p.props||p.props instanceof r.Name||(p.props=(0,s.evaluatedPropsToName)(t,p.props));const{props:m}=p;function y(e){for(const t in d)new RegExp(e).test(t)&&(0,o.checkStrictMode)(p,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function g(n){t.forIn("key",a,(o=>{t.if(r._`${(0,i.usePattern)(e,n)}.test(${o})`,(()=>{const i=f.includes(n);i||e.subschema({keyword:"patternProperties",schemaProp:n,dataProp:o,dataPropType:s.Type.Str},h),p.opts.unevaluated&&!0!==m?t.assign(r._`${m}[${o}]`,!0):i||p.allErrors||t.if((0,r.not)(h),(()=>t.break()))}))}))}!function(){for(const e of u)d&&y(e),p.allErrors?g(e):(t.var(h,!0),g(e),t.if(h))}()}};t.default=a},21162:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(98634),r={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,i.validateTuple)(e,"items")};t.default=r},34243:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(91686),r=n(3499),o=n(88936),s=n(24943),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,parentSchema:a,data:c,it:p}=e;"all"===p.opts.removeAdditional&&void 0===a.additionalProperties&&s.default.code(new i.KeywordCxt(p,s.default,"additionalProperties"));const l=(0,r.allSchemaProperties)(n);for(const e of l)p.definedProperties.add(e);p.opts.unevaluated&&l.length&&!0!==p.props&&(p.props=o.mergeEvaluated.props(t,(0,o.toHash)(l),p.props));const u=l.filter((e=>!(0,o.alwaysValidSchema)(p,n[e])));if(0===u.length)return;const f=t.name("valid");for(const n of u)d(n)?h(n):(t.if((0,r.propertyInData)(t,c,n,p.opts.ownProperties)),h(n),p.allErrors||t.else().var(f,!0),t.endIf()),e.it.definedProperties.add(n),e.ok(f);function d(e){return p.opts.useDefaults&&!p.compositeRule&&void 0!==n[e].default}function h(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},f)}}};t.default=a},53021:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>i._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:n,data:o,it:s}=e;if((0,r.alwaysValidSchema)(s,n))return;const a=t.name("valid");t.forIn("key",o,(n=>{e.setParams({propertyName:n}),e.subschema({keyword:"propertyNames",data:n,dataTypes:["string"],propertyName:n,compositeRule:!0},a),t.if((0,i.not)(a),(()=>{e.error(!0),s.allErrors||t.break()}))})),e.ok(a)}};t.default=o},25316:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(88936),r={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){void 0===t.if&&(0,i.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};t.default=r},3499:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const i=n(15669),r=n(88936),o=n(17250),s=n(88936);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:i._`Object.prototype.hasOwnProperty`})}function c(e,t,n){return i._`${a(e)}.call(${t}, ${n})`}function p(e,t,n,r){const o=i._`${t}${(0,i.getProperty)(n)} === undefined`;return r?(0,i.or)(o,(0,i.not)(c(e,t,n))):o}function l(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:n,data:r,it:o}=e;n.if(p(n,r,t,o.opts.ownProperties),(()=>{e.setParams({missingProperty:i._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:n}},r,o){return(0,i.or)(...r.map((r=>(0,i.and)(p(e,t,r,n.ownProperties),i._`${o} = ${r}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=c,t.propertyInData=function(e,t,n,r){const o=i._`${t}${(0,i.getProperty)(n)} !== undefined`;return r?i._`${o} && ${c(e,t,n)}`:o},t.noPropertyInData=p,t.allSchemaProperties=l,t.schemaProperties=function(e,t){return l(t).filter((n=>!(0,r.alwaysValidSchema)(e,t[n])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:n,topSchemaRef:r,schemaPath:s,errorPath:a},it:c},p,l,u){const f=u?i._`${e}, ${t}, ${r}${s}`:t,d=[[o.default.instancePath,(0,i.strConcat)(o.default.instancePath,a)],[o.default.parentData,c.parentData],[o.default.parentDataProperty,c.parentDataProperty],[o.default.rootData,o.default.rootData]];c.opts.dynamicRef&&d.push([o.default.dynamicAnchors,o.default.dynamicAnchors]);const h=i._`${f}, ${n.object(...d)}`;return l!==i.nil?i._`${p}.call(${l}, ${h})`:i._`${p}(${h})`};const u=i._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},n){const r=t.unicodeRegExp?"u":"",{regExp:o}=t.code,a=o(n,r);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:i._`${"new RegExp"===o.code?u:(0,s.useFunc)(e,o)}(${n}, ${r})`})},t.validateArray=function(e){const{gen:t,data:n,keyword:o,it:s}=e,a=t.name("valid");if(s.allErrors){const e=t.let("valid",!0);return c((()=>t.assign(e,!1))),e}return t.var(a,!0),c((()=>t.break())),a;function c(s){const c=t.const("len",i._`${n}.length`);t.forRange("i",0,c,(n=>{e.subschema({keyword:o,dataProp:n,dataPropType:r.Type.Num},a),t.if((0,i.not)(a),s)}))}},t.validateUnion=function(e){const{gen:t,schema:n,keyword:o,it:s}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some((e=>(0,r.alwaysValidSchema)(s,e)))&&!s.opts.unevaluated)return;const a=t.let("valid",!1),c=t.name("_valid");t.block((()=>n.forEach(((n,r)=>{const s=e.subschema({keyword:o,schemaProp:r,compositeRule:!0},c);t.assign(a,i._`${a} || ${c}`),e.mergeValidEvaluated(s,c)||t.if((0,i.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},71018:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=n},32101:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(71018),r=n(41939),o=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",i.default,r.default];t.default=o},41939:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const i=n(91578),r=n(3499),o=n(15669),s=n(17250),a=n(87382),c=n(88936),p={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:n,it:r}=e,{baseId:s,schemaEnv:c,validateName:p,opts:f,self:d}=r,{root:h}=c;if(("#"===n||"#/"===n)&&s===h.baseId)return function(){if(c===h)return u(e,p,c,c.$async);const n=t.scopeValue("root",{ref:h});return u(e,o._`${n}.validate`,h,h.$async)}();const m=a.resolveRef.call(d,h,s,n);if(void 0===m)throw new i.default(r.opts.uriResolver,s,n);return m instanceof a.SchemaEnv?function(t){const n=l(e,t);u(e,n,t,t.$async)}(m):function(i){const r=t.scopeValue("schema",!0===f.code.source?{ref:i,code:(0,o.stringify)(i)}:{ref:i}),s=t.name("valid"),a=e.subschema({schema:i,dataTypes:[],schemaPath:o.nil,topSchemaRef:r,errSchemaPath:n},s);e.mergeEvaluated(a),e.ok(s)}(m)}};function l(e,t){const{gen:n}=e;return t.validate?n.scopeValue("validate",{ref:t.validate}):o._`${n.scopeValue("wrapper",{ref:t})}.validate`}function u(e,t,n,i){const{gen:a,it:p}=e,{allErrors:l,schemaEnv:u,opts:f}=p,d=f.passContext?s.default.this:o.nil;function h(e){const t=o._`${e}.errors`;a.assign(s.default.vErrors,o._`${s.default.vErrors} === null ? ${t} : ${s.default.vErrors}.concat(${t})`),a.assign(s.default.errors,o._`${s.default.vErrors}.length`)}function m(e){var t;if(!p.opts.unevaluated)return;const i=null===(t=null==n?void 0:n.validate)||void 0===t?void 0:t.evaluated;if(!0!==p.props)if(i&&!i.dynamicProps)void 0!==i.props&&(p.props=c.mergeEvaluated.props(a,i.props,p.props));else{const t=a.var("props",o._`${e}.evaluated.props`);p.props=c.mergeEvaluated.props(a,t,p.props,o.Name)}if(!0!==p.items)if(i&&!i.dynamicItems)void 0!==i.items&&(p.items=c.mergeEvaluated.items(a,i.items,p.items));else{const t=a.var("items",o._`${e}.evaluated.items`);p.items=c.mergeEvaluated.items(a,t,p.items,o.Name)}}i?function(){if(!u.$async)throw new Error("async schema referenced by sync schema");const n=a.let("valid");a.try((()=>{a.code(o._`await ${(0,r.callValidateCode)(e,t,d)}`),m(t),l||a.assign(n,!0)}),(e=>{a.if(o._`!(${e} instanceof ${p.ValidationError})`,(()=>a.throw(e))),h(e),l||a.assign(n,!1)})),e.ok(n)}():e.result((0,r.callValidateCode)(e,t,d),(()=>m(t)),(()=>h(t)))}t.getValidate=l,t.callRef=u,t.default=p},30002:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(77421),o=n(87382),s=n(88936),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===r.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>i._`{error: ${e}, tag: ${n}, tagValue: ${t}}`},code(e){const{gen:t,data:n,schema:a,parentSchema:c,it:p}=e,{oneOf:l}=c;if(!p.opts.discriminator)throw new Error("discriminator: requires discriminator option");const u=a.propertyName;if("string"!=typeof u)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!l)throw new Error("discriminator: requires oneOf keyword");const f=t.let("valid",!1),d=t.const("tag",i._`${n}${(0,i.getProperty)(u)}`);function h(n){const r=t.name("valid"),o=e.subschema({keyword:"oneOf",schemaProp:n},r);return e.mergeEvaluated(o,i.Name),r}t.if(i._`typeof ${d} == "string"`,(()=>function(){const n=function(){var e;const t={},n=r(c);let i=!0;for(let t=0;te.error(!1,{discrError:r.DiscrError.Tag,tag:d,tagName:u}))),e.ok(f)}};t.default=a},77421:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(n=t.DiscrError||(t.DiscrError={})).Tag="tag",n.Mapping="mapping"},38626:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(32101),r=n(37499),o=n(46951),s=n(37250),a=n(96015),c=n(9774),p=n(4480),l=n(32480),u=[s.default,i.default,r.default,(0,o.default)(!0),p.default,l.metadataVocabulary,l.contentVocabulary,a.default,c.default];t.default=u},35671:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(32101),r=n(37499),o=n(46951),s=n(4480),a=n(32480),c=[i.default,r.default,(0,o.default)(),s.default,a.metadataVocabulary,a.contentVocabulary];t.default=c},1876:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dynamicAnchor=void 0;const i=n(15669),r=n(17250),o=n(87382),s=n(41939),a={keyword:"$dynamicAnchor",schemaType:"string",code:e=>c(e,e.schema)};function c(e,t){const{gen:n,it:a}=e;a.schemaEnv.root.dynamicAnchors[t]=!0;const c=i._`${r.default.dynamicAnchors}${(0,i.getProperty)(t)}`,p="#"===a.errSchemaPath?a.validateName:function(e){const{schemaEnv:t,schema:n,self:i}=e.it,{root:r,baseId:a,localRefs:c,meta:p}=t.root,{schemaId:l}=i.opts,u=new o.SchemaEnv({schema:n,schemaId:l,root:r,baseId:a,localRefs:c,meta:p});return o.compileSchema.call(i,u),(0,s.getValidate)(e,u)}(e);n.if(i._`!${c}`,(()=>n.assign(c,p)))}t.dynamicAnchor=c,t.default=a},90615:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dynamicRef=void 0;const i=n(15669),r=n(17250),o=n(41939),s={keyword:"$dynamicRef",schemaType:"string",code:e=>a(e,e.schema)};function a(e,t){const{gen:n,keyword:s,it:a}=e;if("#"!==t[0])throw new Error(`"${s}" only supports hash fragment reference`);const c=t.slice(1);if(a.allErrors)p();else{const t=n.let("valid",!1);p(t),e.ok(t)}function p(e){if(a.schemaEnv.root.dynamicAnchors[c]){const t=n.let("_v",i._`${r.default.dynamicAnchors}${(0,i.getProperty)(c)}`);n.if(t,l(t,e),l(a.validateName,e))}else l(a.validateName,e)()}function l(t,i){return i?()=>n.block((()=>{(0,o.callRef)(e,t),n.let(i,!0)})):()=>(0,o.callRef)(e,t)}}t.dynamicRef=a,t.default=s},37250:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(1876),r=n(90615),o=n(77025),s=n(66655),a=[i.default,r.default,o.default,s.default];t.default=a},77025:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(1876),r=n(88936),o={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,i.dynamicAnchor)(e,""):(0,r.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};t.default=o},66655:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(90615),r={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,i.dynamicRef)(e,e.schema)};t.default=r},73599:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>i.str`must match format "${e}"`,params:({schemaCode:e})=>i._`{format: ${e}}`},code(e,t){const{gen:n,data:r,$data:o,schema:s,schemaCode:a,it:c}=e,{opts:p,errSchemaPath:l,schemaEnv:u,self:f}=c;p.validateFormats&&(o?function(){const o=n.scopeValue("formats",{ref:f.formats,code:p.code.formats}),s=n.const("fDef",i._`${o}[${a}]`),c=n.let("fType"),l=n.let("format");n.if(i._`typeof ${s} == "object" && !(${s} instanceof RegExp)`,(()=>n.assign(c,i._`${s}.type || "string"`).assign(l,i._`${s}.validate`)),(()=>n.assign(c,i._`"string"`).assign(l,s))),e.fail$data((0,i.or)(!1===p.strictSchema?i.nil:i._`${a} && !${l}`,function(){const e=u.$async?i._`(${s}.async ? await ${l}(${r}) : ${l}(${r}))`:i._`${l}(${r})`,n=i._`(typeof ${l} == "function" ? ${e} : ${l}.test(${r}))`;return i._`${l} && ${l} !== true && ${c} === ${t} && !${n}`}()))}():function(){const o=f.formats[s];if(!o)return void function(){if(!1!==p.strictSchema)throw new Error(e());function e(){return`unknown format "${s}" ignored in schema at path "${l}"`}f.logger.warn(e())}();if(!0===o)return;const[a,c,d]=function(e){const t=e instanceof RegExp?(0,i.regexpCode)(e):p.code.formats?i._`${p.code.formats}${(0,i.getProperty)(s)}`:void 0,r=n.scopeValue("formats",{key:s,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,r]:[e.type||"string",e.validate,i._`${r}.validate`]}(o);a===t&&e.pass(function(){if("object"==typeof o&&!(o instanceof RegExp)&&o.async){if(!u.$async)throw new Error("async format in sync schema");return i._`await ${d}(${r})`}return"function"==typeof c?i._`${d}(${r})`:i._`${d}.test(${r})`}())}())}};t.default=r},4480:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=[n(73599).default];t.default=i},32480:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},96015:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(51469),r=n(18850),o=n(19869),s=[i.default,r.default,o.default];t.default=s},9774:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(95214),r=n(97098),o=[i.default,r.default];t.default=o},97098:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:{message:({params:{len:e}})=>i.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>i._`{limit: ${e}}`},code(e){const{gen:t,schema:n,data:o,it:s}=e,a=s.items||0;if(!0===a)return;const c=t.const("len",i._`${o}.length`);if(!1===n)e.setParams({len:a}),e.fail(i._`${c} > ${a}`);else if("object"==typeof n&&!(0,r.alwaysValidSchema)(s,n)){const n=t.var("valid",i._`${c} <= ${a}`);t.if((0,i.not)(n),(()=>function(n,o){t.forRange("i",o,c,(o=>{e.subschema({keyword:"unevaluatedItems",dataProp:o,dataPropType:r.Type.Num},n),s.allErrors||t.if((0,i.not)(n),(()=>t.break()))}))}(n,a))),e.ok(n)}s.items=!0}};t.default=o},95214:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o=n(17250),s={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:e})=>i._`{unevaluatedProperty: ${e.unevaluatedProperty}}`},code(e){const{gen:t,schema:n,data:s,errsCount:a,it:c}=e;if(!a)throw new Error("ajv implementation error");const{allErrors:p,props:l}=c;function u(o){if(!1===n)return e.setParams({unevaluatedProperty:o}),e.error(),void(p||t.break());if(!(0,r.alwaysValidSchema)(c,n)){const n=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:o,dataPropType:r.Type.Str},n),p||t.if((0,i.not)(n),(()=>t.break()))}}l instanceof i.Name?t.if(i._`${l} !== true`,(()=>t.forIn("key",s,(e=>t.if(function(e,t){return i._`!${e} || !${e}[${t}]`}(l,e),(()=>u(e))))))):!0!==l&&t.forIn("key",s,(e=>void 0===l?u(e):t.if(function(e,t){const n=[];for(const r in e)!0===e[r]&&n.push(i._`${t} !== ${r}`);return(0,i.and)(...n)}(l,e),(()=>u(e))))),c.props=!0,e.ok(i._`${a} === ${o.default.errors}`)}};t.default=s},36577:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o=n(94285),s={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>i._`{allowedValue: ${e}}`},code(e){const{gen:t,data:n,$data:s,schemaCode:a,schema:c}=e;s||c&&"object"==typeof c?e.fail$data(i._`!${(0,r.useFunc)(t,o.default)}(${n}, ${a})`):e.fail(i._`${c} !== ${n}`)}};t.default=s},51469:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(5463),r={keyword:"dependentRequired",type:"object",schemaType:"object",error:i.error,code:e=>(0,i.validatePropertyDeps)(e)};t.default=r},59450:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o=n(94285),s={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>i._`{allowedValues: ${e}}`},code(e){const{gen:t,data:n,$data:s,schema:a,schemaCode:c,it:p}=e;if(!s&&0===a.length)throw new Error("enum must have non-empty array");const l=a.length>=p.opts.loopEnum;let u;const f=()=>null!=u?u:u=(0,r.useFunc)(t,o.default);let d;if(l||s)d=t.let("valid"),e.block$data(d,(function(){t.assign(d,!1),t.forOf("v",c,(e=>t.if(i._`${f()}(${n}, ${e})`,(()=>t.assign(d,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",c);d=(0,i.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?i._`${f()}(${n}, ${e}[${t}])`:i._`${n} === ${r}`}(e,r))))}e.pass(d)}};t.default=s},37499:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(31337),r=n(59706),o=n(99507),s=n(51216),a=n(70034),c=n(96962),p=n(61135),l=n(10194),u=n(36577),f=n(59450),d=[i.default,r.default,o.default,s.default,a.default,c.default,p.default,l.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,f.default];t.default=d},19869:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(88936),r={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:n}){void 0===t.contains&&(0,i.checkStrictMode)(n,`"${e}" without "contains" is ignored`)}};t.default=r},61135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxItems"===e?"more":"fewer";return i.str`must NOT have ${n} than ${t} items`},params:({schemaCode:e})=>i._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:r}=e,o="maxItems"===t?i.operators.GT:i.operators.LT;e.fail$data(i._`${n}.length ${o} ${r}`)}};t.default=r},99507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=n(88936),o=n(49161),s={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxLength"===e?"more":"fewer";return i.str`must NOT have ${n} than ${t} characters`},params:({schemaCode:e})=>i._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:s,it:a}=e,c="maxLength"===t?i.operators.GT:i.operators.LT,p=!1===a.opts.unicode?i._`${n}.length`:i._`${(0,r.useFunc)(e.gen,o.default)}(${n})`;e.fail$data(i._`${p} ${c} ${s}`)}};t.default=s},31337:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r=i.operators,o={maximum:{okStr:"<=",ok:r.LTE,fail:r.GT},minimum:{okStr:">=",ok:r.GTE,fail:r.LT},exclusiveMaximum:{okStr:"<",ok:r.LT,fail:r.GTE},exclusiveMinimum:{okStr:">",ok:r.GT,fail:r.LTE}},s={message:({keyword:e,schemaCode:t})=>i.str`must be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>i._`{comparison: ${o[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(o),type:"number",schemaType:"number",$data:!0,error:s,code(e){const{keyword:t,data:n,schemaCode:r}=e;e.fail$data(i._`${n} ${o[t].fail} ${r} || isNaN(${n})`)}};t.default=a},70034:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const n="maxProperties"===e?"more":"fewer";return i.str`must NOT have ${n} than ${t} properties`},params:({schemaCode:e})=>i._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:r}=e,o="maxProperties"===t?i.operators.GT:i.operators.LT;e.fail$data(i._`Object.keys(${n}).length ${o} ${r}`)}};t.default=r},59706:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(15669),r={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>i.str`must be multiple of ${e}`,params:({schemaCode:e})=>i._`{multipleOf: ${e}}`},code(e){const{gen:t,data:n,schemaCode:r,it:o}=e,s=o.opts.multipleOfPrecision,a=t.let("res"),c=s?i._`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:i._`${a} !== parseInt(${a})`;e.fail$data(i._`(${r} === 0 || (${a} = ${n}/${r}, ${c}))`)}};t.default=r},51216:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3499),r=n(15669),o={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>r.str`must match pattern "${e}"`,params:({schemaCode:e})=>r._`{pattern: ${e}}`},code(e){const{data:t,$data:n,schema:o,schemaCode:s,it:a}=e,c=a.opts.unicodeRegExp?"u":"",p=n?r._`(new RegExp(${s}, ${c}))`:(0,i.usePattern)(e,o);e.fail$data(r._`!${p}.test(${t})`)}};t.default=o},96962:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(3499),r=n(15669),o=n(88936),s={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>r.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>r._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:n,schemaCode:s,data:a,$data:c,it:p}=e,{opts:l}=p;if(!c&&0===n.length)return;const u=n.length>=l.loopRequired;if(p.allErrors?function(){if(u||c)e.block$data(r.nil,f);else for(const t of n)(0,i.checkReportMissingProp)(e,t)}():function(){const o=t.let("missing");if(u||c){const n=t.let("valid",!0);e.block$data(n,(()=>function(n,o){e.setParams({missingProperty:n}),t.forOf(n,s,(()=>{t.assign(o,(0,i.propertyInData)(t,a,n,l.ownProperties)),t.if((0,r.not)(o),(()=>{e.error(),t.break()}))}),r.nil)}(o,n))),e.ok(n)}else t.if((0,i.checkMissingProp)(e,n,o)),(0,i.reportMissingProp)(e,o),t.else()}(),l.strictRequired){const t=e.parentSchema.properties,{definedProperties:i}=e.it;for(const e of n)if(void 0===(null==t?void 0:t[e])&&!i.has(e)){const t=`required property "${e}" is not defined at "${p.schemaEnv.baseId+p.errSchemaPath}" (strictRequired)`;(0,o.checkStrictMode)(p,t,p.opts.strictRequired)}}function f(){t.forOf("prop",s,(n=>{e.setParams({missingProperty:n}),t.if((0,i.noPropertyInData)(t,a,n,l.ownProperties),(()=>e.error()))}))}}};t.default=s},10194:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(97332),r=n(15669),o=n(88936),s=n(94285),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>r.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>r._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:n,$data:a,schema:c,parentSchema:p,schemaCode:l,it:u}=e;if(!a&&!c)return;const f=t.let("valid"),d=p.items?(0,i.getSchemaTypes)(p.items):[];function h(o,s){const a=t.name("item"),c=(0,i.checkDataTypes)(d,a,u.opts.strictNumbers,i.DataType.Wrong),p=t.const("indices",r._`{}`);t.for(r._`;${o}--;`,(()=>{t.let(a,r._`${n}[${o}]`),t.if(c,r._`continue`),d.length>1&&t.if(r._`typeof ${a} == "string"`,r._`${a} += "_"`),t.if(r._`typeof ${p}[${a}] == "number"`,(()=>{t.assign(s,r._`${p}[${a}]`),e.error(),t.assign(f,!1).break()})).code(r._`${p}[${a}] = ${o}`)}))}function m(i,a){const c=(0,o.useFunc)(t,s.default),p=t.name("outer");t.label(p).for(r._`;${i}--;`,(()=>t.for(r._`${a} = ${i}; ${a}--;`,(()=>t.if(r._`${c}(${n}[${i}], ${n}[${a}])`,(()=>{e.error(),t.assign(f,!1).break(p)}))))))}e.block$data(f,(function(){const i=t.let("i",r._`${n}.length`),o=t.let("j");e.setParams({i,j:o}),t.assign(f,!0),t.if(r._`${i} > 1`,(()=>(d.length>0&&!d.some((e=>"object"===e||"array"===e))?h:m)(i,o)))}),r._`${l} === false`),e.ok(f)}};t.default=a},39619:(e,t,n)=>{"use strict";var i=n(27061),r=n(30138);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function s(e,t){for(var n=0;n1?n-1:0),r=1;r1?n-1:0),r=1;r1?n-1:0),r=1;r1?n-1:0),r=1;r{"use strict";var i=n(27061);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;te.length)&&(n=e.length),e.substring(n-t.length,n)===t}var v="",_="",j="",x="",w={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function $(e){var t=Object.keys(e),n=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){n[t]=e[t]})),Object.defineProperty(n,"message",{value:e.message}),n}function S(e){return y(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var P=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(P,e);var n,r,a,l,u=(n=P,r=f(),function(){var e,t=h(n);if(r){var i=h(this).constructor;e=Reflect.construct(t,arguments,i)}else e=t.apply(this,arguments);return c(this,e)});function P(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,P),"object"!==m(e)||null===e)throw new g("options","Object",e);var n=e.message,r=e.operator,o=e.stackStartFn,s=e.actual,a=e.expected,l=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=n)t=u.call(this,String(n));else if(i.stderr&&i.stderr.isTTY&&(i.stderr&&i.stderr.getColorDepth&&1!==i.stderr.getColorDepth()?(v="",_="",x="",j=""):(v="",_="",x="",j="")),"object"===m(s)&&null!==s&&"object"===m(a)&&null!==a&&"stack"in s&&s instanceof Error&&"stack"in a&&a instanceof Error&&(s=$(s),a=$(a)),"deepStrictEqual"===r||"strictEqual"===r)t=u.call(this,function(e,t,n){var r="",o="",s=0,a="",c=!1,p=S(e),l=p.split("\n"),u=S(t).split("\n"),f=0,d="";if("strictEqual"===n&&"object"===m(e)&&"object"===m(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===l.length&&1===u.length&&l[0]!==u[0]){var h=l[0].length+u[0].length;if(h<=10){if(!("object"===m(e)&&null!==e||"object"===m(t)&&null!==t||0===e&&0===t))return"".concat(w[n],"\n\n")+"".concat(l[0]," !== ").concat(u[0],"\n")}else if("strictEqualObject"!==n&&h<(i.stderr&&i.stderr.isTTY?i.stderr.columns:80)){for(;l[0][f]===u[0][f];)f++;f>2&&(d="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var n=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,n-e.length)}(" ",f),"^"),f=0)}}for(var y=l[l.length-1],g=u[u.length-1];y===g&&(f++<2?a="\n ".concat(y).concat(a):r=y,l.pop(),u.pop(),0!==l.length&&0!==u.length);)y=l[l.length-1],g=u[u.length-1];var $=Math.max(l.length,u.length);if(0===$){var P=p.split("\n");if(P.length>30)for(P[26]="".concat(v,"...").concat(x);P.length>27;)P.pop();return"".concat(w.notIdentical,"\n\n").concat(P.join("\n"),"\n")}f>3&&(a="\n".concat(v,"...").concat(x).concat(a),c=!0),""!==r&&(a="\n ".concat(r).concat(a),r="");var O=0,E=w[n]+"\n".concat(_,"+ actual").concat(x," ").concat(j,"- expected").concat(x),A=" ".concat(v,"...").concat(x," Lines skipped");for(f=0;f<$;f++){var T=f-s;if(l.length1&&f>2&&(T>4?(o+="\n".concat(v,"...").concat(x),c=!0):T>3&&(o+="\n ".concat(u[f-2]),O++),o+="\n ".concat(u[f-1]),O++),s=f,r+="\n".concat(j,"-").concat(x," ").concat(u[f]),O++;else if(u.length1&&f>2&&(T>4?(o+="\n".concat(v,"...").concat(x),c=!0):T>3&&(o+="\n ".concat(l[f-2]),O++),o+="\n ".concat(l[f-1]),O++),s=f,o+="\n".concat(_,"+").concat(x," ").concat(l[f]),O++;else{var k=u[f],I=l[f],R=I!==k&&(!b(I,",")||I.slice(0,-1)!==k);R&&b(k,",")&&k.slice(0,-1)===I&&(R=!1,I+=","),R?(T>1&&f>2&&(T>4?(o+="\n".concat(v,"...").concat(x),c=!0):T>3&&(o+="\n ".concat(l[f-2]),O++),o+="\n ".concat(l[f-1]),O++),s=f,o+="\n".concat(_,"+").concat(x," ").concat(I),r+="\n".concat(j,"-").concat(x," ").concat(k),O+=2):(o+=r,r="",1!==T&&0!==f||(o+="\n ".concat(I),O++))}if(O>20&&f<$-2)return"".concat(E).concat(A,"\n").concat(o,"\n").concat(v,"...").concat(x).concat(r,"\n")+"".concat(v,"...").concat(x)}return"".concat(E).concat(c?A:"","\n").concat(o).concat(r).concat(a).concat(d)}(s,a,r));else if("notDeepStrictEqual"===r||"notStrictEqual"===r){var f=w[r],d=S(s).split("\n");if("notStrictEqual"===r&&"object"===m(s)&&null!==s&&(f=w.notStrictEqualObject),d.length>30)for(d[26]="".concat(v,"...").concat(x);d.length>27;)d.pop();t=1===d.length?u.call(this,"".concat(f," ").concat(d[0])):u.call(this,"".concat(f,"\n\n").concat(d.join("\n"),"\n"))}else{var h=S(s),y="",O=w[r];"notDeepEqual"===r||"notEqual"===r?(h="".concat(w[r],"\n\n").concat(h)).length>1024&&(h="".concat(h.slice(0,1021),"...")):(y="".concat(S(a)),h.length>512&&(h="".concat(h.slice(0,509),"...")),y.length>512&&(y="".concat(y.slice(0,509),"...")),"deepEqual"===r||"equal"===r?h="".concat(O,"\n\n").concat(h,"\n\nshould equal\n\n"):y=" ".concat(r," ").concat(y)),t=u.call(this,"".concat(h).concat(y))}return Error.stackTraceLimit=l,t.generatedMessage=!n,Object.defineProperty(p(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=s,t.expected=a,t.operator=r,Error.captureStackTrace&&Error.captureStackTrace(p(t),o),t.stack,t.name="AssertionError",c(t)}return a=P,(l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return y(this,o(o({},t),{},{customInspect:!1,depth:0}))}}])&&s(a.prototype,l),Object.defineProperty(a,"prototype",{writable:!1}),P}(l(Error),y.custom);e.exports=P},51404:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var s,a,c={};function p(e,t,n){n||(n=Error);var s=function(n){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(l,n);var s,a,c,p=(a=l,c=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=o(a);if(c){var n=o(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function l(n,i,r){var o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),o=p.call(this,function(e,n,i){return"string"==typeof t?t:t(e,n,i)}(n,i,r)),o.code=e,o}return s=l,Object.defineProperty(s,"prototype",{writable:!1}),s}(n);c[e]=s}function l(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}p("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),p("ERR_INVALID_ARG_TYPE",(function(e,t,r){var o,a,c,p,u;if(void 0===s&&(s=n(39619)),s("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(a="not ",t.substr(0,4)===a)?(o="must not be",t=t.replace(/^not /,"")):o="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-9,n)===t}(e," argument"))c="The ".concat(e," ").concat(o," ").concat(l(t,"type"));else{var f=("number"!=typeof u&&(u=0),u+1>(p=e).length||-1===p.indexOf(".",u)?"argument":"property");c='The "'.concat(e,'" ').concat(f," ").concat(o," ").concat(l(t,"type"))}return c+". Received type ".concat(i(r))}),TypeError),p("ERR_INVALID_ARG_VALUE",(function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===a&&(a=n(71323));var r=a.inspect(t);return r.length>128&&(r="".concat(r.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(i,". Received ").concat(r)}),TypeError,RangeError),p("ERR_INVALID_RETURN_VALUE",(function(e,t,n){var r;return r=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(i(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(r,".")}),TypeError),p("ERR_MISSING_ARGS",(function(){for(var e=arguments.length,t=new Array(e),i=0;i0,"At least one arg needs to be specified");var r="The ",o=t.length;switch(t=t.map((function(e){return'"'.concat(e,'"')})),o){case 1:r+="".concat(t[0]," argument");break;case 2:r+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:r+=t.slice(0,o-1).join(", "),r+=", and ".concat(t[o-1]," arguments")}return"".concat(r," must be specified")}),TypeError),e.exports.codes=c},40118:(e,t,n)=>{"use strict";function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,o,s,a=[],c=!0,p=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(i=o.call(n)).done)&&(a.push(i.value),a.length!==t);c=!0);}catch(e){p=!0,r=e}finally{try{if(!c&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(p)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function R(e){return Object.keys(e).filter(I).concat(l(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function M(e,t){if(e===t)return 0;for(var n=e.length,i=t.length,r=0,o=Math.min(n,i);r{"use strict";function n(e,t){for(var n=0;n":9,"<=":9,">=":9,in:9,instanceof:9,"<<":10,">>":10,">>>":10,"+":11,"-":11,"*":12,"%":12,"/":12,"**":13},o=17;t.NEEDS_PARENTHESES=o;var s,a,c,p,l,u,f={ArrayExpression:20,TaggedTemplateExpression:20,ThisExpression:20,Identifier:20,PrivateIdentifier:20,Literal:18,TemplateLiteral:20,Super:20,SequenceExpression:20,MemberExpression:19,ChainExpression:19,CallExpression:19,NewExpression:19,ArrowFunctionExpression:o,ClassExpression:o,FunctionExpression:o,ObjectExpression:o,UpdateExpression:16,UnaryExpression:15,AwaitExpression:15,BinaryExpression:14,LogicalExpression:13,ConditionalExpression:4,AssignmentExpression:3,YieldExpression:2,RestElement:1};function d(e,t){var n=e.generator;if(e.write("("),null!=t&&t.length>0){n[t[0].type](t[0],e);for(var i=t.length,r=1;r0){e.write(i);for(var s=1;s0){n.VariableDeclarator(i[0],e);for(var o=1;o0){t.write(i),r&&null!=e.comments&&g(t,e.comments,o,i);for(var a=s.length,c=0;c0){for(;r0&&t.write(", ");var o=n[r],s=o.type[6];if("D"===s)t.write(o.local.name,o),r++;else{if("N"!==s)break;t.write("* as "+o.local.name,o),r++}}if(r0)for(var r=0;;){var o=n[r],s=o.local.name;if(t.write(s,o),s!==o.exported.name&&t.write(" as "+o.exported.name),!(++r "),"O"===e.body.type[0]?(t.write("("),this.ObjectExpression(e.body,t),t.write(")")):this[e.body.type](e.body,t)},ThisExpression:function(e,t){t.write("this",e)},Super:function(e,t){t.write("super",e)},RestElement:c=function(e,t){t.write("..."),this[e.argument.type](e.argument,t)},SpreadElement:c,YieldExpression:function(e,t){t.write(e.delegate?"yield*":"yield"),e.argument&&(t.write(" "),this[e.argument.type](e.argument,t))},AwaitExpression:function(e,t){t.write("await ",e),m(t,e.argument,e)},TemplateLiteral:function(e,t){var n=e.quasis,i=e.expressions;t.write("`");for(var r=i.length,o=0;o0)for(var n=e.elements,i=n.length,r=0;;){var o=n[r];if(null!=o&&this[o.type](o,t),!(++r0){t.write(i),r&&null!=e.comments&&g(t,e.comments,o,i);for(var s=","+i,a=e.properties,c=a.length,p=0;;){var l=a[p];if(r&&null!=l.comments&&g(t,l.comments,o,i),t.write(o),this[l.type](l,t),!(++p0)for(var n=e.properties,i=n.length,r=0;this[n[r].type](n[r],t),++r1)&&("U"!==r[0]||"n"!==r[1]&&"p"!==r[1]||!i.prefix||i.operator[0]!==n||"+"!==n&&"-"!==n)||t.write(" "),o?(t.write(n.length>1?" (":"("),this[r](i,t),t.write(")")):this[r](i,t)}else this[e.argument.type](e.argument,t),t.write(e.operator)},UpdateExpression:function(e,t){e.prefix?(t.write(e.operator),this[e.argument.type](e.argument,t)):(this[e.argument.type](e.argument,t),t.write(e.operator))},AssignmentExpression:function(e,t){this[e.left.type](e.left,t),t.write(" "+e.operator+" "),this[e.right.type](e.right,t)},AssignmentPattern:function(e,t){this[e.left.type](e.left,t),t.write(" = "),this[e.right.type](e.right,t)},BinaryExpression:p=function(e,t){var n="in"===e.operator;n&&t.write("("),m(t,e.left,e,!1),t.write(" "+e.operator+" "),m(t,e.right,e,!0),n&&t.write(")")},LogicalExpression:p,ConditionalExpression:function(e,t){var n=e.test,i=t.expressionsPrecedence[n.type];i===o||i<=t.expressionsPrecedence.ConditionalExpression?(t.write("("),this[n.type](n,t),t.write(")")):this[n.type](n,t),t.write(" ? "),this[e.consequent.type](e.consequent,t),t.write(" : "),this[e.alternate.type](e.alternate,t)},NewExpression:function(e,t){t.write("new ");var n=t.expressionsPrecedence[e.callee.type];n===o||n0&&(this.lineEndSize>0&&(1===p.length?e[c-1]===p:e.endsWith(p))?(this.line+=this.lineEndSize,this.column=0):this.column+=c)}},{key:"toString",value:function(){return this.output}}])&&n(t.prototype,i),e}()},22010:(e,t,n)=>{"use strict";var i=n(2817),r=n(11505),o=n(16671),s=n(2655);e.exports={Service:r.Service,assembleProtocol:o.assembleProtocol,discoverProtocol:r.discoverProtocol,parse:function(e,t){var n=o.read(e);return n.protocol?r.Service.forProtocol(n,t):i.Type.forSchema(n,t)},readProtocol:o.readProtocol,readSchema:o.readSchema},s.copyOwnProperties(i,e.exports)},2817:(e,t,n)=>{"use strict";var i=n(70304);e.exports={Type:i.Type,parse:function(e,t){var n;if("string"==typeof e)try{n=JSON.parse(e)}catch(t){n=e}else n=e;return i.Type.forSchema(n,t)},types:i.builtins,combine:i.Type.forTypes,infer:i.Type.forValue}},18709:(e,t,n)=>{"use strict";var i=n(22010),r=n(67608),o=n(2655),s=n(83424),a=n(71323);function c(e,t){s.Readable.call(this),t=t||{},this._batchSize=t.batchSize||65536,this._blob=e,this._pos=0}function p(){s.Transform.call(this,{readableObjectMode:!0}),this._bufs=[]}a.inherits(c,s.Readable),c.prototype._read=function(){var e=this._pos;if(e>=this._blob.size)this.push(null);else{this._pos+=this._batchSize;var t=this._blob.slice(e,this._pos,this._blob.type),n=new FileReader,i=this;n.addEventListener("loadend",(function e(t){n.removeEventListener("loadend",e,!1),t.error?i.emit("error",t.error):i.push(o.bufferFrom(n.result))}),!1),n.readAsArrayBuffer(t)}},a.inherits(p,s.Transform),p.prototype._transform=function(e,t,n){this._bufs.push(e),n()},p.prototype._flush=function(e){this.push(new Blob(this._bufs,{type:"application/octet-binary"})),e()},e.exports={createBlobDecoder:function(e,t){return new c(e).pipe(new r.streams.BlockDecoder(t))},createBlobEncoder:function(e,t){var n=new r.streams.BlockEncoder(e,t),i=new p;return n.pipe(i),new s.Duplex({objectMode:!0,read:function(){var e=i.read();e?n(e):i.once("readable",n);var t=this;function n(e){t.push(e||i.read()),t.push(null)}},write:function(e,t,i){return n.write(e,t,i)}}).on("finish",(function(){n.end()}))},streams:r.streams},o.copyOwnProperties(i,e.exports)},6279:(e,t,n)=>{"use strict";var i=n(30816).Buffer;function r(){this.data=void 0}function o(e,t){var n=e[0],i=e[1],r=e[2],o=e[3];n=a(n,i,r,o,t[0],7,-680876936),o=a(o,n,i,r,t[1],12,-389564586),r=a(r,o,n,i,t[2],17,606105819),i=a(i,r,o,n,t[3],22,-1044525330),n=a(n,i,r,o,t[4],7,-176418897),o=a(o,n,i,r,t[5],12,1200080426),r=a(r,o,n,i,t[6],17,-1473231341),i=a(i,r,o,n,t[7],22,-45705983),n=a(n,i,r,o,t[8],7,1770035416),o=a(o,n,i,r,t[9],12,-1958414417),r=a(r,o,n,i,t[10],17,-42063),i=a(i,r,o,n,t[11],22,-1990404162),n=a(n,i,r,o,t[12],7,1804603682),o=a(o,n,i,r,t[13],12,-40341101),r=a(r,o,n,i,t[14],17,-1502002290),n=c(n,i=a(i,r,o,n,t[15],22,1236535329),r,o,t[1],5,-165796510),o=c(o,n,i,r,t[6],9,-1069501632),r=c(r,o,n,i,t[11],14,643717713),i=c(i,r,o,n,t[0],20,-373897302),n=c(n,i,r,o,t[5],5,-701558691),o=c(o,n,i,r,t[10],9,38016083),r=c(r,o,n,i,t[15],14,-660478335),i=c(i,r,o,n,t[4],20,-405537848),n=c(n,i,r,o,t[9],5,568446438),o=c(o,n,i,r,t[14],9,-1019803690),r=c(r,o,n,i,t[3],14,-187363961),i=c(i,r,o,n,t[8],20,1163531501),n=c(n,i,r,o,t[13],5,-1444681467),o=c(o,n,i,r,t[2],9,-51403784),r=c(r,o,n,i,t[7],14,1735328473),n=p(n,i=c(i,r,o,n,t[12],20,-1926607734),r,o,t[5],4,-378558),o=p(o,n,i,r,t[8],11,-2022574463),r=p(r,o,n,i,t[11],16,1839030562),i=p(i,r,o,n,t[14],23,-35309556),n=p(n,i,r,o,t[1],4,-1530992060),o=p(o,n,i,r,t[4],11,1272893353),r=p(r,o,n,i,t[7],16,-155497632),i=p(i,r,o,n,t[10],23,-1094730640),n=p(n,i,r,o,t[13],4,681279174),o=p(o,n,i,r,t[0],11,-358537222),r=p(r,o,n,i,t[3],16,-722521979),i=p(i,r,o,n,t[6],23,76029189),n=p(n,i,r,o,t[9],4,-640364487),o=p(o,n,i,r,t[12],11,-421815835),r=p(r,o,n,i,t[15],16,530742520),n=l(n,i=p(i,r,o,n,t[2],23,-995338651),r,o,t[0],6,-198630844),o=l(o,n,i,r,t[7],10,1126891415),r=l(r,o,n,i,t[14],15,-1416354905),i=l(i,r,o,n,t[5],21,-57434055),n=l(n,i,r,o,t[12],6,1700485571),o=l(o,n,i,r,t[3],10,-1894986606),r=l(r,o,n,i,t[10],15,-1051523),i=l(i,r,o,n,t[1],21,-2054922799),n=l(n,i,r,o,t[8],6,1873313359),o=l(o,n,i,r,t[15],10,-30611744),r=l(r,o,n,i,t[6],15,-1560198380),i=l(i,r,o,n,t[13],21,1309151649),n=l(n,i,r,o,t[4],6,-145523070),o=l(o,n,i,r,t[11],10,-1120210379),r=l(r,o,n,i,t[2],15,718787259),i=l(i,r,o,n,t[9],21,-343485551),e[0]=f(n,e[0]),e[1]=f(i,e[1]),e[2]=f(r,e[2]),e[3]=f(o,e[3])}function s(e,t,n,i,r,o){return t=f(f(t,e),f(i,o)),f(t<>>32-r,n)}function a(e,t,n,i,r,o,a){return s(t&n|~t&i,e,t,r,o,a)}function c(e,t,n,i,r,o,a){return s(t&i|n&~i,e,t,r,o,a)}function p(e,t,n,i,r,o,a){return s(t^n^i,e,t,r,o,a)}function l(e,t,n,i,r,o,a){return s(n^(t|~i),e,t,r,o,a)}function u(e){var t,n=[];for(t=0;t<64;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n}function f(e,t){return e+t&4294967295}r.prototype.end=function(e){this.data=e},r.prototype.read=function(){return function(e){var t,n=function(e){var t,n=e.length,i=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=e.length;t+=64)o(i,u(e.substring(t-64,t)));e=e.substring(t-64);var r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t>2]|=e.charCodeAt(t)<<(t%4<<3);if(r[t>>2]|=128<<(t%4<<3),t>55)for(o(i,r),t=0;t<16;t++)r[t]=0;return r[14]=8*n,o(i,r),i}(e),r=i.alloc?i.alloc(16):new i(16);for(t=0;t<4;t++)r.writeIntLE(n[t],4*t,4);return r}(this.data)},e.exports={createHash:function(e){if("md5"!==e)throw new Error("only md5 is supported in the browser");return new r}}},93865:e=>{"use strict";function t(){return new Error("unsupported in the browser")}e.exports={createImportHook:function(){return function(e,n,i){i(t())}},createSyncImportHook:function(){return function(){throw t()}},existsSync:function(){return!1},readFileSync:function(){throw t()}}},67608:(e,t,n)=>{"use strict";var i=n(27061),r=n(70304),o=n(2655),s=n(30816),a=n(83424),c=n(71323),p=n(46864),l=s.Buffer,u={namespace:"org.apache.avro.file"},f=r.Type.forSchema("long",u),d=r.Type.forSchema({type:"map",values:"bytes"},u),h=r.Type.forSchema({name:"Header",type:"record",fields:[{name:"magic",type:{type:"fixed",name:"Magic",size:4}},{name:"meta",type:d},{name:"sync",type:{type:"fixed",name:"Sync",size:16}}]},u),m=r.Type.forSchema({name:"Block",type:"record",fields:[{name:"count",type:"long"},{name:"data",type:"bytes"},{name:"sync",type:"Sync"}]},u),y=o.bufferFrom("Obj"),g=c.format,b=o.Tap;function v(e,t){var n=!!(t=t||{}).noDecode;a.Duplex.call(this,{readableObjectMode:!n,allowHalfOpen:!1}),this._type=r.Type.forSchema(e),this._tap=new b(o.newBuffer(0)),this._writeCb=null,this._needPush=!1,this._readValue=P(n,this._type),this._finished=!1,this.on("finish",(function(){this._finished=!0,this._read()}))}function _(e){var t=!!(e=e||{}).noDecode;a.Duplex.call(this,{allowHalfOpen:!0,readableObjectMode:!t}),this._rType=void 0!==e.readerSchema?r.Type.forSchema(e.readerSchema):void 0,this._wType=null,this._codecs=e.codecs,this._codec=void 0,this._parseHook=e.parseHook,this._tap=new b(o.newBuffer(0)),this._blockTap=new b(o.newBuffer(0)),this._syncMarker=null,this._readValue=null,this._noDecode=t,this._queue=new o.OrderedQueue,this._decompress=null,this._index=0,this._remaining=void 0,this._needPush=!1,this._finished=!1,this.on("finish",(function(){this._finished=!0,this._needPush&&this._read()}))}function j(e,t){t=t||{},a.Transform.call(this,{writableObjectMode:!0,allowHalfOpen:!1}),this._type=r.Type.forSchema(e),this._writeValue=function(e,t){try{this._type._write(e,t)}catch(e){this.emit("typeError",e,t,this._type)}},this._tap=new b(o.newBuffer(t.batchSize||65536)),this.on("typeError",(function(e){this.emit("error",e)}))}function x(e,t){var n;if(t=t||{},a.Duplex.call(this,{allowHalfOpen:!0,writableObjectMode:!0}),r.Type.isType(e)?(n=e,e=void 0):n=r.Type.forSchema(e),this._schema=e,this._type=n,this._writeValue=function(e,t){try{this._type._write(e,t)}catch(e){return this.emit("typeError",e,t,this._type),!1}return!0},this._blockSize=t.blockSize||65536,this._tap=new b(o.newBuffer(this._blockSize)),this._codecs=t.codecs,this._codec=t.codec||"null",this._blockCount=0,this._syncMarker=t.syncMarker||(new o.Lcg).nextBuffer(16),this._queue=new o.OrderedQueue,this._pending=0,this._finished=!1,this._needHeader=!1,this._needPush=!1,this._metadata=t.metadata||{},!d.isValid(this._metadata))throw new Error("invalid metadata");var i=this._codec;if(this._compress=(this._codecs||x.getDefaultCodecs())[i],!this._compress)throw new Error(g("unsupported codec: %s",i));switch(void 0!==t.omitHeader&&(t.writeHeader=t.omitHeader?"never":"auto"),t.writeHeader){case!1:case"never":break;case void 0:case"auto":this._needHeader=!0;break;default:this._writeHeader()}this.on("finish",(function(){this._finished=!0,this._blockCount?this._flushChunk():this._finished&&this._needPush&&this.push(null)})),this.on("typeError",(function(e){this.emit("error",e)}))}function w(e,t,n){this.valueCount=e,this.rawDataLength=t,this.compressedDataLength=n}function $(e,t,n,i){this.index=e,this.buf=t,this.cb=n,this.count=0|i}function S(e){var t=e.pos,n=m._read(e);return e.isValid()?n:(e.pos=t,null)}function P(e,t,n){if(e)return r=t._skip,function(e){var t=e.pos;return r(e),e.buf.slice(t,e.pos)};if(n){var i=n.createResolver(t);return function(e){return i._read(e)}}return function(e){return t._read(e)};var r}c.inherits(v,a.Duplex),v.prototype._write=function(e,t,n){this._writeCb=n;var i=this._tap;i.buf=l.concat([i.buf.slice(i.pos),e]),i.pos=0,this._needPush&&(this._needPush=!1,this._read())},v.prototype._read=function(){this._needPush=!1;var e=this._tap,t=e.pos,n=this._readValue(e);e.isValid()?this.push(n):this._finished?this.push(null):(e.pos=t,this._needPush=!0,this._writeCb&&this._writeCb())},c.inherits(_,a.Duplex),_.defaultCodecs=function(){return{null:function(e,t){t(null,e)},deflate:p.inflateRaw}},_.getDefaultCodecs=_.defaultCodecs,_.prototype._decodeHeader=function(){var e=this._tap;if(e.buf.lengthr.length&&(i.buf=o.newBuffer(2*a)),i.pos=0,this._writeValue(i,e)}n()},j.prototype._flush=function(e){var t=this._tap,n=t.pos;n&&this.push(t.buf.slice(0,n)),e()},c.inherits(x,a.Duplex),x.defaultCodecs=function(){return{null:function(e,t){t(null,e)},deflate:p.deflateRaw}},x.getDefaultCodecs=x.defaultCodecs,x.prototype._writeHeader=function(){var e=JSON.stringify(this._schema?this._schema:this._type.getSchema({exportAttrs:!0})),t=o.copyOwnProperties(this._metadata,{"avro.schema":o.bufferFrom(e),"avro.codec":o.bufferFrom(this._codec)},!0),n=new(h.getRecordConstructor())(y,t,this._syncMarker);this.push(n.toBuffer())},x.prototype._write=function(e,t,n){this._needHeader&&(this._writeHeader(),this._needHeader=!1);var i=this._tap,r=i.pos,s=!1;if(this._writeValue(i,e)){if(!i.isValid()){r&&(this._flushChunk(r,n),s=!0);var a=i.pos-r;a>this._blockSize&&(this._blockSize=2*a),i.buf=o.newBuffer(this._blockSize),i.pos=0,this._writeValue(i,e)}this._blockCount++}else i.pos=r;s||n()},x.prototype._flushChunk=function(e,t){var n=this._tap;e=e||n.pos,this._compress(n.buf.slice(0,e),this._createBlockCallback(e,t)),this._blockCount=0},x.prototype._read=function(){var e=this,t=this._queue.pop();t?(this.push(f.toBuffer(t.count,!0)),this.push(f.toBuffer(t.buf.length,!0)),this.push(t.buf),this.push(this._syncMarker),this._finished||t.cb()):this._finished&&!this._pending?i.nextTick((function(){e.push(null)})):this._needPush=!0},x.prototype._createBlockCallback=function(e,t){var n=this,i=this._index++,r=this._blockCount;return this._pending++,function(o,s){if(o){var a=new Error(g("%s codec compression error",n._codec));return a.cause=o,void n.emit("error",a)}n._pending--,n.emit("block",new w(r,e,s.length)),n._queue.push(new $(i,s,t,r)),n._needPush&&(n._needPush=!1,n._read())}},e.exports={BLOCK_TYPE:m,HEADER_TYPE:h,MAGIC_BYTES:y,streams:{BlockDecoder:_,BlockEncoder:x,RawDecoder:v,RawEncoder:j}}},11505:(e,t,n)=>{"use strict";var i=n(27061),r=n(30138),o=n(70304),s=n(2655),a=n(30816),c=n(50343),p=n(83424),l=n(71323),u=a.Buffer,f=s.Tap,d=o.Type,h=l.debuglog("avsc:services"),m=l.format,y={namespace:"org.apache.avro.ipc"},g=d.forSchema("boolean",y),b=d.forSchema({type:"map",values:"bytes"},y),v=d.forSchema("string",y),_=d.forSchema({name:"HandshakeRequest",type:"record",fields:[{name:"clientHash",type:{name:"MD5",type:"fixed",size:16}},{name:"clientProtocol",type:["null","string"],default:null},{name:"serverHash",type:"MD5"},{name:"meta",type:["null",b],default:null}]},y),j=d.forSchema({name:"HandshakeResponse",type:"record",fields:[{name:"match",type:{name:"HandshakeMatch",type:"enum",symbols:["BOTH","CLIENT","NONE"]}},{name:"serverProtocol",type:["null","string"],default:null},{name:"serverHash",type:["null","MD5"],default:null},{name:"meta",type:["null",b],default:null}]},y),x=16,w=new $("",d.forSchema({name:"PingRequest",type:"record",fields:[]},y),d.forSchema(["string"],y),d.forSchema("null",y));function $(e,t,n,i,r,o){if(this.name=e,!d.isType(t,"record"))throw new Error("invalid request type");if(this.requestType=t,!d.isType(n,"union")||!d.isType(n.getTypes()[0],"string"))throw new Error("invalid error type");if(this.errorType=n,r&&(!d.isType(i,"null")||n.getTypes().length>1))throw new Error("inapplicable one-way parameter");this.responseType=i,this.oneWay=!!r,this.doc=void 0!==o?""+o:void 0,Object.freeze(this)}function S(e,t,n,i,r){if("string"!=typeof e)return S.forProtocol(e,t);this.name=e,this._messagesByName=t||{},this.messages=Object.freeze(s.objectValues(this._messagesByName)),this._typesByName=n||{},this.types=Object.freeze(s.objectValues(this._typesByName)),this.protocol=i,this._hashStr=s.getHash(JSON.stringify(i)).toString("binary"),this.doc=i.doc?""+i.doc:void 0,this._server=r||this.createServer({silent:!0}),Object.freeze(this)}function P(e,t){t=t||{},c.EventEmitter.call(this),this._svc$=e,this._channels$=[],this._fns$=[],this._buffering$=!!t.buffering,this._cache$=t.cache||{},this._policy$=t.channelPolicy,this._strict$=!!t.strictTypes,this._timeout$=s.getOption(t,"timeout",1e4),t.remoteProtocols&&G(this._cache$,t.remoteProtocols,e,!0),this._svc$.messages.forEach((function(e){this[e.name]=this._createMessageHandler$(e)}),this)}function O(e,t){t=t||{},c.EventEmitter.call(this),this.service=e,this._handlers={},this._fns=[],this._channels={},this._nextChannelId=1,this._cache=t.cache||{},this._defaultHandler=t.defaultHandler,this._sysErrFormatter=t.systemErrorFormatter,this._silent=!!t.silent,this._strict=!!t.strictTypes,t.remoteProtocols&&G(this._cache,t.remoteProtocols,e,!1),e.messages.forEach((function(e){var n=e.name;t.noCapitalize||(n=s.capitalize(n)),this["on"+n]=this._createMessageHandler(e)}),this)}function E(e,t){t=t||{},c.EventEmitter.call(this),this.client=e,this.timeout=s.getOption(t,"timeout",e._timeout$),this._endWritable=!!s.getOption(t,"endWritable",!0),this._prefix=X(t.scope);var n=e._cache$,i=e._svc$,r=t.serverHash;r||(r=i.hash);var o=n[r];o||(o=n[r=i.hash]=new q(i,i,r)),this._adapter=o,this._registry=new D(this,x),this.pending=0,this.destroyed=!1,this.draining=!1,this.once("_eot",(function(e,t){h("client channel EOT"),this.destroyed=!0,this.emit("eot",e,t)}))}function A(e,t,n){E.call(this,e,n),this._writableFactory=t,n&&n.noPing||(h("emitting ping request"),this.ping())}function T(e,t,n,r){E.call(this,e,r),this._readable=t,this._writable=n,this._connected=!(!r||!r.noPing),this._readable.on("end",d),this._writable.on("finish",m);var o,a=this,c=null;function p(e){if(!a.destroyed){o=a._createHandshakeRequest(a._adapter,!e);var t=[_.toBuffer(o),s.bufferFrom([0,0])];a._writable.write({id:a._prefix,payload:t})}}function l(e){if(a._matchesPrefix(e.id)){var t=u.concat(e.payload);try{var n=B(j,t).head;n.serverHash&&(a._adapter=a._getAdapter(n))}catch(e){return void a.destroy(e)}var r=n.match;h("handshake match: %s",r),a.emit("handshake",o,n),"NONE"===r?i.nextTick((function(){p(!0)})):(h("successfully connected"),c&&(clearTimeout(c),c=null),a._readable.removeListener("data",l).on("data",f),a._connected=!0,a.emit("_ready"),o=null)}else h("discarding unscoped response %s (still connecting)",e.id)}function f(e){var t=e.id;if(a._matchesPrefix(t)){var n=a._registry.get(t);n&&i.nextTick((function(){h("received message %s",t),n(null,u.concat(e.payload),a._adapter)}))}else h("discarding unscoped message %s",t)}function d(){a.destroy(!0)}function m(){a.destroy()}this.once("eot",(function(){c&&(clearTimeout(c),c=null),a._connected||a.emit("_ready"),this._writable.removeListener("finish",m),this._endWritable&&(h("ending transport"),this._writable.end()),this._readable.removeListener("data",l).removeListener("data",f).removeListener("end",d)})),this._connected?this._readable.on("data",f):(this._readable.on("data",l),i.nextTick(p),a.timeout&&(c=setTimeout((function(){a.destroy(new Error("timeout"))}),a.timeout)))}function k(e,t){t=t||{},c.EventEmitter.call(this),this.server=e,this._endWritable=!!s.getOption(t,"endWritable",!0),this._prefix=X(t.scope);var n=e._cache,i=e.service,r=i.hash;n[r]||(n[r]=new q(i,i,r)),this._adapter=null,this.destroyed=!1,this.draining=!1,this.pending=0,this.once("_eot",(function(e,t){h("server channel EOT"),this.emit("eot",e,t)}))}function I(e,t,n){k.call(this,e,n),this._writable=void 0;var r,o=this;function s(e){var t,n=e.id,i=u.concat(e.payload);try{var r=B(_,i),s=r.head,a=o._getAdapter(s)}catch(e){t=Z("INVALID_HANDSHAKE_REQUEST",e)}var c=o._createHandshakeResponse(t,s);function p(e){if(!o.destroyed){if(!o._writable)return void o.once("_writable",(function(){p(e)}));o._writable.write({id:n,payload:[j.toBuffer(c),e]})}o._writable&&o._endWritable&&o._writable.end()}o.emit("handshake",s,c),t?p(o._encodeSystemError(t)):o._receive(r.tail,a,p)}function a(){o.destroy()}function c(e){r.removeListener("data",s).removeListener("end",a),o.destroy(e||!0)}i.nextTick((function(){r=t.call(o,(function(e,t){i.nextTick((function(){e?c(e):(o._writable=t.on("finish",c),o.emit("_writable"))}))})).on("data",s).on("end",a)}))}function R(e,t,n,i){k.call(this,e,i),this._adapter=void 0,this._writable=n.on("finish",c),this._readable=t.on("data",o).on("end",a),this.once("_drain",(function(){this._readable.removeListener("data",o).removeListener("data",s).removeListener("end",a)})).once("eot",(function(){this._writable.removeListener("finish",c),this._endWritable&&this._writable.end()}));var r=this;function o(e){var t=e.id;if(r._matchesPrefix(t)){var n,i=u.concat(e.payload);try{var a=B(_,i),c=a.head;r._adapter=r._getAdapter(c)}catch(e){n=Z("INVALID_HANDSHAKE_REQUEST",e)}var p=r._createHandshakeResponse(n,c);r.emit("handshake",c,p),n?l(r._encodeSystemError(n)):(r._readable.removeListener("data",o).on("data",s),r._receive(a.tail,r._adapter,l))}function l(e){r.destroyed||r._writable.write({id:t,payload:[j.toBuffer(p),e]})}}function s(e){var t=e.id;if(r._matchesPrefix(t)){var n=u.concat(e.payload);r._receive(n,r._adapter,(function(e,n){r.destroyed||n||r._writable.write({id:t,payload:[e]})}))}}function a(){r.destroy()}function c(){r.destroy(!0)}}function M(e,t,n){this._msg=e,this.headers=t||{},this.request=n||{}}function N(e,t,n,i){this._msg=e,this.headers=t,this.error=n,this.response=i}function C(e,t){this.channel=t,this.locals={},this.message=e,Object.freeze(this)}function D(e,t){this._ctx=e,this._mask=-1>>>(0|t),this._id=0,this._n=0,this._cbs={}}function q(e,t,n,i){this._clientSvc=e,this._serverSvc=t,this._hash=n,this._isRemote=!!i,this._readers=W(e,t)}function F(){p.Transform.call(this,{readableObjectMode:!0}),this._id=void 0,this._buf=s.newBuffer(0),this._bufs=[],this.on("finish",(function(){this.push(null)}))}function L(){p.Transform.call(this,{writableObjectMode:!0}),this.on("finish",(function(){this.push(null)}))}function U(){p.Transform.call(this,{readableObjectMode:!0}),this._id=void 0,this._frameCount=0,this._buf=s.newBuffer(0),this._bufs=[],this.on("finish",(function(){this.push(null)}))}function V(){p.Transform.call(this,{writableObjectMode:!0}),this.on("finish",(function(){this.push(null)}))}function z(e){var t=s.newBuffer(4);return t.writeInt32BE(e),t}function B(e,t){var n=new f(t),i=e._read(n);if(!n.isValid())throw new Error(m("truncated %j",e.schema()));return{head:i,tail:n.buf.slice(n.pos)}}function H(e,t){return e.equals(t)?e:e.createResolver(t)}function W(e,t){var n={};return e.messages.forEach((function(e){var i=e.name,r=t.message(i);try{if(!r)throw new Error(m("missing server message: %s",i));if(r.oneWay!==e.oneWay)throw new Error(m("inconsistent one-way message: %s",i));n[i+"?"]=H(r.requestType,e.requestType),n[i+"*"]=H(e.errorType,r.errorType),n[i+"!"]=H(e.responseType,r.responseType)}catch(e){throw Z("INCOMPATIBLE_PROTOCOL",e)}})),n}function G(e,t,n,i){Object.keys(t).forEach((function(r){var o,s,a=t[r];i?(o=n,s=S.forProtocol(a)):(o=S.forProtocol(a),s=n),e[r]=new q(o,s,r,!0)}))}function K(e,t){var n={};return Object.keys(e).forEach((function(i){var r=e[i];if(r._isRemote){var o=t?r._serverSvc:r._clientSvc;n[i]=o.protocol}})),n}function J(e){return!!e&&"[object Error]"===Object.prototype.toString.call(e)}function Q(e,t){var n=new Error(e);return n.cause=t,n}function Z(e,t){var n=Q(e.toLowerCase().replace(/_/g," "),t);return n.rpcCode=t&&t.rpcCode?t.rpcCode:e,n}function Y(e,t,n){var i,r,o,s=[];for(i=0,r=n.length;i>32-x)}function te(e){return!(!e||!e.pipe)}function ne(e,t){var n=e.message(t);if(!n)throw new Error(m("unknown message: %s",t));return n}function ie(e){var t,n=[e.wreq,e.wres],r=[];function o(){var n=r.pop();if(n){var i=!1;n.call(e.ctx,t,(function(n){i?e.onError(Q("duplicate backward middleware call",n)):(t=n,i=!0,o())}))}else e.onCompletion.call(e.ctx,t)}!function s(a){var c=!1;a1&&(t.errors=i.slice(1)),this.oneWay&&(t["one-way"]=!0),t},s.addDeprecatedGetters($,["name","errorType","requestType","responseType"]),$.prototype.isOneWay=l.deprecate((function(){return this.oneWay}),"use `.oneWay` directly instead of `.isOneWay()`"),S.Client=P,S.Server=O,S.compatible=function(e,t){try{W(e,t)}catch(e){return!1}return!0},S.forProtocol=function(e,t){t=t||{};var n,i=e.protocol;if(!i)throw new Error("missing protocol name");if(void 0!==e.namespace)t.namespace=e.namespace;else{var r=/^(.*)\.[^.]+$/.exec(i);r&&(t.namespace=r[1])}return i=s.qualify(i,t.namespace),e.types&&e.types.forEach((function(e){d.forSchema(e,t)})),e.messages&&(n={},Object.keys(e.messages).forEach((function(i){n[i]=$.forSchema(i,e.messages[i],t)}))),new S(i,n,t.registry,e)},S.isService=function(e){return!!e&&e.hasOwnProperty("_hashStr")},S.prototype.createClient=function(e){var t=new P(this,e);return i.nextTick((function(){if(e&&e.server){var n={objectMode:!0},i=[new p.PassThrough(n),new p.PassThrough(n)];e.server.createChannel({readable:i[0],writable:i[1]},n),t.createChannel({readable:i[1],writable:i[0]},n)}else e&&e.transport&&t.createChannel(e.transport)})),t},S.prototype.createServer=function(e){return new O(this,e)},Object.defineProperty(S.prototype,"hash",{enumerable:!0,get:function(){return s.bufferFrom(this._hashStr,"binary")}}),S.prototype.message=function(e){return this._messagesByName[e]},S.prototype.type=function(e){return this._typesByName[e]},S.prototype.inspect=function(){return m("",this.name)},s.addDeprecatedGetters(S,["message","messages","name","type","types"]),S.prototype.createEmitter=l.deprecate((function(e,t){t=t||{};var n,i,r=this.createClient({cache:t.cache,buffering:!1,strictTypes:t.strictErrors,timeout:t.timeout}),o=r.createChannel(e,t);return i=o,(n=r).on("error",(function(e){i.emit("error",e,n)})),o}),"use `.createClient()` instead of `.createEmitter()`"),S.prototype.createListener=l.deprecate((function(e,t){if(t&&t.strictErrors)throw new Error("use `.createServer()` to support strict errors");return this._server.createChannel(e,t)}),"use `.createServer().createChannel()` instead of `.createListener()`"),S.prototype.emit=l.deprecate((function(e,t,n,i){if(!n||!this.equals(n.client._svc$))throw new Error("invalid emitter");var r=n.client;return P.prototype.emitMessage.call(r,e,t,i&&i.bind(this)),n.getPending()}),"create a client via `.createClient()` to emit messages instead of `.emit()`"),S.prototype.equals=l.deprecate((function(e){return S.isService(e)&&this.getFingerprint().equals(e.getFingerprint())}),"equality testing is deprecated, compare the `.protocol`s instead"),S.prototype.getFingerprint=l.deprecate((function(e){return s.getHash(JSON.stringify(this.protocol),e)}),"use `.hash` instead of `.getFingerprint()`"),S.prototype.getSchema=l.deprecate(d.prototype.getSchema,"use `.protocol` instead of `.getSchema()`"),S.prototype.on=l.deprecate((function(e,t){var n=this;return this._server.onMessage(e,(function(e,i){return t.call(n,e,this.channel,i)})),this}),"use `.createServer().onMessage()` instead of `.on()`"),S.prototype.subprotocol=l.deprecate((function(){var e=this._server,t={strictTypes:e._strict,cache:e._cache},n=new O(e.service,t);return n._handlers=Object.create(e._handlers),new S(this.name,this._messagesByName,this._typesByName,this.protocol,n)}),"`.subprotocol()` will be removed in 5.1"),S.prototype._attrs=function(e){var t={protocol:this.name},n=[];this.types.forEach((function(t){if(void 0!==t.getName()){var i=t._attrs(e);"string"!=typeof i&&n.push(i)}})),n.length&&(t.types=n);var i=Object.keys(this._messagesByName);return i.length&&(t.messages={},i.forEach((function(n){t.messages[n]=this._messagesByName[n]._attrs(e)}),this)),e&&e.exportAttrs&&void 0!==this.doc&&(t.doc=this.doc),t},l.inherits(P,c.EventEmitter),P.prototype.activeChannels=function(){return this._channels$.slice()},P.prototype.createChannel=function(e,t){var n,i=t&&t.objectMode;if("function"==typeof e){var r;r=i?e:function(t){var i=new L,r=e((function(e,i){if(e)t(e);else{var r=(new F).once("error",(function(e){n.destroy(e)}));t(null,i.pipe(r))}}));if(r)return i.pipe(r),i},n=new A(this,r,t)}else{var o,s;if(te(e)?o=s=e:(o=e.readable,s=e.writable),!i){var a=new U;o=o.pipe(a);var c=new V;c.pipe(s),s=c}n=new T(this,o,s,t),i||(n.once("eot",(function(){o.unpipe(a),c.unpipe(s)})),a.once("error",(function(e){n.destroy(e)})))}var p=this._channels$;return p.push(n),n.once("_drain",(function(){p.splice(p.indexOf(this),1)})),this._buffering$=!1,this.emit("channel",n),n},P.prototype.destroyChannels=function(e){this._channels$.forEach((function(t){t.destroy(e&&e.noWait)}))},P.prototype.emitMessage=function(e,t,n,i){var r=new M(ne(this._svc$,e),{},t);this._emitMessage$(r,n,i)},P.prototype.remoteProtocols=function(){return K(this._cache$,!0)},Object.defineProperty(P.prototype,"service",{enumerable:!0,get:function(){return this._svc$}}),P.prototype.use=function(){var e,t,n;for(e=0,t=arguments.length;e0&&(n=setTimeout((function(){o(new Error("timeout"))}),e)),this._cbs[r]=o,this._n++,r;function o(){i._cbs[r]&&(delete i._cbs[r],i._n--,n&&clearTimeout(n),t.apply(i._ctx,arguments))}},D.prototype.clear=function(){Object.keys(this._cbs).forEach((function(e){this._cbs[e](new Error("interrupted"))}),this)},q.prototype._decodeRequest=function(e){var t,n,i=new f(e),r=b._read(i),o=v._read(i);if(o?(t=this._serverSvc.message(o),n=this._readers[o+"?"]._read(i)):t=w,!i.isValid())throw new Error(m("truncated %s request",o||"ping$"));return new M(t,r,n)},q.prototype._decodeResponse=function(e,t,n){var i=new f(e);s.copyOwnProperties(b._read(i),t.headers,!0);var r=g._read(i),o=n.name;if(o){var a=this._readers[o+(r?"*":"!")];if(n=this._clientSvc.message(o),r?t.error=a._read(i):t.response=a._read(i),!i.isValid())throw new Error(m("truncated %s response",o))}else n=w},l.inherits(F,p.Transform),F.prototype._transform=function(e,t,n){var i;for(e=u.concat([this._buf,e]);e.length>=4&&e.length>=(i=e.readInt32BE(0))+4;){if(i)this._bufs.push(e.slice(4,i+4));else{var r=this._bufs;this._bufs=[],this.push({id:null,payload:r})}e=e.slice(i+4)}this._buf=e,n()},F.prototype._flush=function(e){if(this._buf.length||this._bufs.length){var t=this._bufs.slice();t.unshift(this._buf);var n=Z("TRAILING_DATA");n.trailingData=u.concat(t).toString(),this.emit("error",n)}e()},l.inherits(L,p.Transform),L.prototype._transform=function(e,t,n){var i,r,o,s=e.payload;for(i=0,r=s.length;i=4&&e.length>=(i=e.readInt32BE(0))+4;)this._frameCount--,this._bufs.push(e.slice(4,i+4)),e=e.slice(i+4);if(this._frameCount)return this._buf=e,void n();var r={id:this._id,payload:this._bufs};this._bufs=[],this._id=void 0,this.push(r)}},U.prototype._flush=F.prototype._flush,l.inherits(V,p.Transform),V.prototype._transform=function(e,t,n){var i,r,o=e.payload,a=o.length;for((i=s.newBuffer(8)).writeInt32BE(e.id,0),i.writeInt32BE(a,4),this.push(i),r=0;r{"use strict";var i=n(93865),r=n(2655),o=n(67425),s=n(71323).format,a={date:{type:"int",logicalType:"date"},decimal:{type:"bytes",logicalType:"decimal"},time_ms:{type:"long",logicalType:"time-millis"},timestamp_ms:{type:"long",logicalType:"timestamp-millis"}};function c(e,t,n){n||"function"!=typeof t||(n=t,t=void 0),(t=t||{}).importHook||(t.importHook=i.createImportHook()),function e(n,i){t.importHook(n,"idl",(function(r,a){if(r)i(r);else if(void 0!==a){try{var c=new p(a,t)._readProtocol(a,t)}catch(r){return r.path=n,void i(r)}!function(n,i,r,a){var c=[];!function p(){var l=i.shift();if(l){var u=o.join(r,l.name);"idl"===l.kind?e(u,(function(e,t){e?a(e):(t&&c.push(t),p())})):t.importHook(u,l.kind,(function(e,t){if(e)a(e);else switch(l.kind){case"protocol":case"schema":if(void 0===t)return void p();try{var n=JSON.parse(t)}catch(e){return e.path=u,void a(e)}var i="schema"===l.kind?{types:[n]}:n;return c.push(i),void p();default:a(new Error(s("invalid import kind: %s",l.kind)))}}))}else{c.reverse();try{c.forEach((function(e){!function(e,t){var n=t.types||[];n.reverse(),n.forEach((function(n){e.types||(e.types=[]),void 0===n.namespace&&(n.namespace=f(t)||""),e.types.unshift(n)})),Object.keys(t.messages||{}).forEach((function(n){if(e.messages||(e.messages={}),e.messages[n])throw new Error(s("duplicate message: %s",n));e.messages[n]=t.messages[n]}))}(n,e)}))}catch(e){return void a(e)}a(null,n)}}()}(c.protocol,c.imports,o.dirname(n),i)}else i()}))}(e,(function(e,t){if(e)n(e);else if(t){var i=t.types;if(i){var r=f(t)||"";i.forEach((function(e){e.namespace===r&&delete e.namespace}))}n(null,t)}else n(new Error("empty root import"))}))}function p(e,t){t=t||{},this._tk=new l(e),this._ackVoidMessages=!!t.ackVoidMessages,this._implicitTags=!t.delimitedCollections,this._typeRefs=t.typeRefs||a}function l(e){this._str=e,this.pos=0}function u(e){for(var t=e.replace(/^[ \t]+|[ \t]+$/g,"").split("\n").map((function(e,t){return t?e.replace(/^\s*\*\s?/,""):e}));t.length&&!t[0];)t.shift();for(;t.length&&!t[t.length-1];)t.pop();return t.join("\n")}function f(e){if(e.namespace)return e.namespace;var t=/^(.*)\.[^.]+$/.exec(e.protocol);return t?t[1]:void 0}p.readProtocol=function(e,t){var n=new p(e,t)._readProtocol();if(n.imports.length)throw new Error("unresolvable import");return n.protocol},p.readSchema=function(e,t){var n=new p(e,t),i=n._readJavadoc(),r=n._readType(void 0===i?{}:{doc:i},!0);return n._tk.next({id:"(eof)"}),r},p.prototype._readProtocol=function(){var e,t=this._tk,n=[],i=[],r={};this._readImports(n);var o={},a=this._readJavadoc();for(void 0!==a&&(o.doc=a),this._readAnnotations(o),t.next({val:"protocol"}),t.next({val:"{",silent:!0})||(o.protocol=t.next({id:"name"}).val,t.next({val:"{"}));!t.next({val:"}",silent:!0});)if(!this._readImports(n)){var c=this._readJavadoc(),p=this._readType({},!0),l=this._readImports(n,!0),u=void 0;if(e=t.pos,!l&&(u=this._readMessage(p))){void 0!==c&&void 0===u.schema.doc&&(u.schema.doc=c);var f=!1;if("void"!==u.schema.response&&"void"!==u.schema.response.type||(f=!this._ackVoidMessages&&!u.schema.errors,"void"===u.schema.response?u.schema.response="null":u.schema.response.type="null"),f&&(u.schema["one-way"]=!0),r[u.name])throw new Error(s("duplicate message: %s",u.name));r[u.name]=u.schema}else c&&("string"==typeof p?p={doc:c,type:p}:void 0===p.doc&&(p.doc=c)),i.push(p),t.pos=e,t.next({val:";",silent:!0});c=void 0}return t.next({id:"(eof)"}),i.length&&(o.types=i),Object.keys(r).length&&(o.messages=r),{protocol:o,imports:n}},p.prototype._readAnnotations=function(e){for(var t=this._tk;t.next({val:"@",silent:!0});){for(var n=[];!t.next({val:"(",silent:!0});)n.push(t.next().val);e[n.join("")]=t.next({id:"json"}).val,t.next({val:")"})}},p.prototype._readMessage=function(e){var t=this._tk,n={request:[],response:e};this._readAnnotations(n);var i=t.next().val;if("("===t.next().val){if(!t.next({val:")",silent:!0}))do{n.request.push(this._readField())}while(!t.next({val:")",silent:!0})&&t.next({val:","}));var r=t.next();switch(r.val){case"throws":n.errors=[];do{n.errors.push(this._readType())}while(!t.next({val:";",silent:!0})&&t.next({val:","}));break;case"oneway":n["one-way"]=!0,t.next({val:";"});break;case";":break;default:throw t.error("invalid message suffix",r)}return{name:i,schema:n}}},p.prototype._readJavadoc=function(){var e=this._tk.next({id:"javadoc",emitJavadoc:!0,silent:!0});if(e)return e.val},p.prototype._readField=function(){var e=this._tk,t=this._readJavadoc(),n={type:this._readType()};return void 0!==t&&void 0===n.doc&&(n.doc=t),this._readAnnotations(n),n.name=e.next({id:"name"}).val,e.next({val:"=",silent:!0})&&(n.default=e.next({id:"json"}).val),n},p.prototype._readType=function(e,t){switch(e=e||{},this._readAnnotations(e),e.type=this._tk.next({id:"name"}).val,e.type){case"record":case"error":return this._readRecord(e);case"fixed":return this._readFixed(e);case"enum":return this._readEnum(e,t);case"map":return this._readMap(e);case"array":return this._readArray(e);case"union":if(Object.keys(e).length>1)throw new Error("union annotations are not supported");return this._readUnion();default:var n=this._typeRefs[e.type];return n&&(delete e.type,r.copyOwnProperties(n,e)),Object.keys(e).length>1?e:e.type}},p.prototype._readFixed=function(e){var t=this._tk;return t.next({val:"(",silent:!0})||(e.name=t.next({id:"name"}).val,t.next({val:"("})),e.size=parseInt(t.next({id:"number"}).val),t.next({val:")"}),e},p.prototype._readMap=function(e){var t=this._tk,n=this._implicitTags,i=void 0===t.next({val:"<",silent:n});return e.values=this._readType(),t.next({val:">",silent:i}),e},p.prototype._readArray=function(e){var t=this._tk,n=this._implicitTags,i=void 0===t.next({val:"<",silent:n});return e.items=this._readType(),t.next({val:">",silent:i}),e},p.prototype._readEnum=function(e,t){var n=this._tk;n.next({val:"{",silent:!0})||(e.name=n.next({id:"name"}).val,n.next({val:"{"})),e.symbols=[];do{e.symbols.push(n.next().val)}while(!n.next({val:"}",silent:!0})&&n.next({val:","}));return t&&n.next({val:"=",silent:!0})&&(e.default=n.next().val,n.next({val:";"})),e},p.prototype._readUnion=function(){var e=this._tk,t=[];e.next({val:"{"});do{t.push(this._readType())}while(!e.next({val:"}",silent:!0})&&e.next({val:","}));return t},p.prototype._readRecord=function(e){var t=this._tk;for(t.next({val:"{",silent:!0})||(e.name=t.next({id:"name"}).val,t.next({val:"{"})),e.fields=[];!t.next({val:"}",silent:!0});)e.fields.push(this._readField()),t.next({val:";"});return e},p.prototype._readImports=function(e,t){for(var n=this._tk,i=0,r=n.pos;n.next({val:"import",silent:!0});){if(!i&&t&&n.next({val:"(",silent:!0}))return void(n.pos=r);var o=n.next({id:"name"}).val,s=JSON.parse(n.next({id:"string"}).val);n.next({val:";"}),e.push({kind:o,name:s}),i++}return i},l.prototype.next=function(e){var t,n={pos:this.pos,id:void 0,val:void 0},i=this._skip(e&&e.emitJavadoc);if("string"==typeof i)n.id="javadoc",n.val=i;else{var r=this.pos,o=this._str,a=o.charAt(r);if(a)if(e&&"json"===e.id?(n.id="json",this.pos=this._endOfJson()):'"'===a?(n.id="string",this.pos=this._endOfString()):/[0-9]/.test(a)?(n.id="number",this.pos=this._endOf(/[0-9]/)):/[`A-Za-z_.]/.test(a)?(n.id="name",this.pos=this._endOf(/[`A-Za-z0-9_.]/)):(n.id="operator",this.pos=r+1),n.val=o.slice(r,this.pos),"json"===n.id)try{n.val=JSON.parse(n.val)}catch(t){throw this.error("invalid JSON",n)}else"name"===n.id&&(n.val=n.val.replace(/`/g,""));else n.id="(eof)"}if(e&&e.id&&e.id!==n.id?t=this.error(s("expected ID %s",e.id),n):e&&e.val&&e.val!==n.val&&(t=this.error(s("expected value %s",e.val),n)),t){if(e&&e.silent)return void(this.pos=n.pos);throw t}return n},l.prototype.error=function(e,t){var n,i="number"!=typeof t,r=i?t.pos:t,o=this._str,a=1,c=0;for(n=0;n{"use strict";var i=n(2655),r=n(30816),o=n(71323),s=r.Buffer,a=r.SlowBuffer,c=i.Tap,p=o.debuglog("avsc:types"),l=o.format,u={array:I,boolean:v,bytes:S,double:w,enum:A,error:R,fixed:T,float:x,int:_,long:j,map:k,null:b,record:R,string:$},f=new i.Lcg,d=new c(new a(1024)),h=null,m=[];function y(e,t){var n;if(h?(n=h,m.push([h,this]),h=null):n=this,this._hash=new q,this.name=void 0,this.aliases=void 0,this.doc=e&&e.doc?""+e.doc:void 0,e){var i=e.name,r=void 0===e.namespace?t&&t.namespace:e.namespace;if(void 0!==i){if(V(i=K(i,r)))throw new Error(l("cannot rename primitive type: %j",i));var o=t&&t.registry;if(o){if(void 0!==o[i])throw new Error(l("duplicate type name: %s",i));o[i]=n}}else if(t&&t.noAnonymousTypes)throw new Error(l("missing name property in schema: %j",e));this.name=i,this.aliases=e.aliases?e.aliases.map((function(e){return K(e,r)})):[]}}function g(e){y.call(this),this._branchConstructor=this._createBranchConstructor(),e||Object.freeze(this)}function b(){g.call(this)}function v(){g.call(this)}function _(){g.call(this)}function j(){g.call(this)}function x(){g.call(this)}function w(){g.call(this)}function $(){g.call(this)}function S(){g.call(this)}function P(e,t){if(y.call(this),!Array.isArray(e))throw new Error(l("non-array union schema: %j",e));if(!e.length)throw new Error("empty union");this.types=Object.freeze(e.map((function(e){return y.forSchema(e,t)}))),this._branchIndices={},this.types.forEach((function(e,t){if(y.isType(e,"union"))throw new Error("unions cannot be directly nested");var n=e.branchName;if(void 0!==this._branchIndices[n])throw new Error(l("duplicate union branch name: %j",n));this._branchIndices[n]=t}),this)}function O(e,t){P.call(this,e,t),this._dynamicBranches=null,this._bucketIndices={},this.types.forEach((function(e,t){if(y.isType(e,"abstract","logical"))this._dynamicBranches||(this._dynamicBranches=[]),this._dynamicBranches.push({index:t,type:e});else{var n=J(e);if(void 0!==this._bucketIndices[n])throw new Error(l("ambiguous unwrapped union: %j",this));this._bucketIndices[n]=t}}),this),Object.freeze(this)}function E(e,t){P.call(this,e,t),Object.freeze(this)}function A(e,t){if(y.call(this,e,t),!Array.isArray(e.symbols)||!e.symbols.length)throw new Error(l("invalid enum symbols: %j",e.symbols));if(this.symbols=Object.freeze(e.symbols.slice()),this._indices={},this.symbols.forEach((function(e,t){if(!i.isValidName(e))throw new Error(l("invalid %s symbol: %j",this,e));if(void 0!==this._indices[e])throw new Error(l("duplicate %s symbol: %j",this,e));this._indices[e]=t}),this),this.default=e.default,void 0!==this.default&&void 0===this._indices[this.default])throw new Error(l("invalid %s default: %j",this,this.default));this._branchConstructor=this._createBranchConstructor(),Object.freeze(this)}function T(e,t){if(y.call(this,e,t),e.size!==(0|e.size)||e.size<0)throw new Error(l("invalid %s size",this.branchName));this.size=0|e.size,this._branchConstructor=this._createBranchConstructor(),Object.freeze(this)}function k(e,t){if(y.call(this),!e.values)throw new Error(l("missing map values: %j",e));this.valuesType=y.forSchema(e.values,t),this._branchConstructor=this._createBranchConstructor(),Object.freeze(this)}function I(e,t){if(y.call(this),!e.items)throw new Error(l("missing array items: %j",e));this.itemsType=y.forSchema(e.items,t),this._branchConstructor=this._createBranchConstructor(),Object.freeze(this)}function R(e,t){var n=(t=t||{}).namespace;if(void 0!==e.namespace)t.namespace=e.namespace;else if(e.name){var r=i.impliedNamespace(e.name);void 0!==r&&(t.namespace=r)}if(y.call(this,e,t),!Array.isArray(e.fields))throw new Error(l("non-array record fields: %j",e.fields));if(i.hasDuplicates(e.fields,(function(e){return e.name})))throw new Error(l("duplicate field name: %j",e.fields));this._fieldsByName={},this.fields=Object.freeze(e.fields.map((function(e){var n=new C(e,t);return this._fieldsByName[n.name]=n,n}),this)),this._branchConstructor=this._createBranchConstructor(),this._isError="error"===e.type,this.recordConstructor=this._createConstructor(t.errorStackTraces,t.omitRecordMethods),this._read=this._createReader(),this._skip=this._createSkipper(),this._write=this._createWriter(),this._check=this._createChecker(),t.namespace=n,Object.freeze(this)}function M(e,t){this._logicalTypeName=e.logicalType,y.call(this),h=this;try{this._underlyingType=y.forSchema(e,t)}finally{h=null;var n=m.length;n&&m[n-1][0]===this&&m.pop()}y.isType(this.underlyingType,"union")?this._branchConstructor=this.underlyingType._branchConstructor:this._branchConstructor=this.underlyingType._createBranchConstructor()}function N(e){this._concreteTypeName="long",g.call(this,!0),this._noUnpack=!!e}function C(e,t){var n=e.name;if("string"!=typeof n||!i.isValidName(n))throw new Error(l("invalid field name: %s",n));this.name=n,this.type=y.forSchema(e.type,t),this.aliases=e.aliases||[],this.doc=void 0!==e.doc?""+e.doc:void 0,this._order=function(e){switch(e){case"ascending":return 1;case"descending":return-1;case"ignore":return 0;default:throw new Error(l("invalid order: %j",e))}}(void 0===e.order?"ascending":e.order);var r=e.default;if(void 0!==r){var o,s=this.type;try{o=s._copy(r,{coerce:2,wrap:2})}catch(e){var a=l("incompatible field default %j (%s)",r,e.message);throw y.isType(s,"union")&&(a+=l(", union defaults must match the first branch's type (%j)",s.types[0])),new Error(a)}V(s.typeName)&&"bytes"!==s.typeName?this.defaultValue=function(){return o}:this.defaultValue=function(){return s._copy(o)}}Object.freeze(this)}function D(e){this._readerType=e,this._read=null,this.itemsType=null,this.size=0,this.symbols=null,this.valuesType=null}function q(){this.str=void 0}function F(e,t,n,i){if(n){if(n._readerType!==e)throw new Error("invalid resolver");return n._read(t,i)}return e._read(t)}function L(e){var t={};e.name&&(t[e.name]=!0);var n,i,r=e.aliases;for(n=0,i=r.length;n=-9007199254740990&&e<=9007199254740990}function W(e){return e&&"Buffer"===e.type&&Array.isArray(e.data)}function G(e,t){throw new Error(l("invalid %j: %j",t.schema(),e))}function K(e,t){var n=i.unqualify(e);return V(n)?n:i.qualify(e,t)}function J(e){var t=e.typeName;switch(t){case"double":case"float":case"int":case"long":return"number";case"bytes":case"fixed":return"buffer";case"enum":return"string";case"map":case"error":case"record":return"object";default:return t}}function Q(e){if(null===e)return"null";var t=typeof e;if("object"===t){if(Array.isArray(e))return"array";if(s.isBuffer(e))return"buffer"}return t}y.forSchema=function(e,t){(t=t||{}).registry=t.registry||{};var n,i=function(e){switch(!0===e?e="always":!1===e?e="never":void 0===e?e="auto":"string"==typeof e&&(e=e.toLowerCase()),e){case"always":return E;case"never":return O;case"auto":return;default:throw new Error(l("invalid wrap unions option: %j",e))}}(t.wrapUnions);if(null===e)throw new Error('invalid type: null (did you mean "null"?)');if(y.isType(e))return e;if(t.typeHook&&(n=t.typeHook(e,t))){if(!y.isType(n))throw new Error(l("invalid typehook return value: %j",n));return n}if("string"==typeof e){if(e=K(e,t.namespace),n=t.registry[e])return n;if(V(e))return t.registry[e]=y.forSchema({type:e},t);throw new Error(l("undefined type name: %s",e))}if(e.logicalType&&t.logicalTypes&&!h){var r=t.logicalTypes[e.logicalType];if(r){var o=t.namespace,s={};Object.keys(t.registry).forEach((function(e){s[e]=t.registry[e]}));try{return p("instantiating logical type for %s",e.logicalType),new r(e,t)}catch(n){if(p("failed to instantiate logical type for %s",e.logicalType),t.assertLogicalTypes)throw n;h=null,t.namespace=o,t.registry=s}}}if(Array.isArray(e)){var a=h;h=null;var c=e.map((function(e){return y.forSchema(e,t)}));i||(i=function(e){var t,n,i,r,o={};for(t=0,n=e.length;ts&&(s=r,a=i);return a}(n);case"string":return function(e,t){var n,i,r,o,s={};for(n=0,i=e.length;n0){var a=s[0];s[0]=s[r],s[r]=a,n=y.forSchema(s,t)}}return{name:e,type:n,default:p[e]}}))}:{type:"map",values:y.forTypes(a,t)},y.forSchema(s,t)}(n,t)}}));return 1===p.length?p[0]:y.forSchema(p,t)},y.isType=function(){var e=arguments.length;if(!e)return!1;var t=arguments[0];if(!t||"function"!=typeof t._update||"function"!=typeof t.fingerprint)return!1;if(1===e)return!0;var n,i=t.typeName;for(n=1;n",t);var n=this.schema({exportAttrs:!0,noDeref:!0});return"object"!=typeof n||y.isType(this,"logical")||(n.type=void 0),l("<%s %j>",t,n)},y.prototype.isValid=function(e,t){var n,i,r=0|(t&&t.noUndeclaredFields),o=t&&t.errorHook;return o&&(i=[],n=function(t,n){o.call(this,i.slice(),t,n,e)}),this._check(e,r,n,i)},y.prototype.random=i.abstractFunction,y.prototype.schema=function(e){return this._attrs({exportAttrs:!(!e||!e.exportAttrs),noDeref:!(!e||!e.noDeref)})},y.prototype.toBuffer=function(e){d.pos=0,this._write(d,e);var t=i.newBuffer(d.pos);return d.isValid()?d.buf.copy(t,0,0,d.pos):this._write(new c(t),e),t},y.prototype.toJSON=function(){return this.schema({exportAttrs:!0})},y.prototype.toString=function(e){return void 0===e?JSON.stringify(this.schema({noDeref:!0})):JSON.stringify(this._copy(e,{coerce:3}))},y.prototype.wrap=function(e){var t=this._branchConstructor;return null===t?null:new t(e)},y.prototype._attrs=function(e){e.derefed=e.derefed||{};var t=this.name;if(void 0!==t){if(e.noDeref||e.derefed[t])return t;e.derefed[t]=!0}var n={};void 0!==this.name&&(n.name=t),n.type=this.typeName;var i=this._deref(n,e);return void 0!==i&&(n=i),e.exportAttrs&&(this.aliases&&this.aliases.length&&(n.aliases=this.aliases),void 0!==this.doc&&(n.doc=this.doc)),n},y.prototype._createBranchConstructor=function(){var e=this.branchName;if("null"===e)return null;var t=~e.indexOf(".")?"this['"+e+"']":"this."+e,n=new Function("return function Branch$(val) { "+t+" = val; };")();return n.type=this,n.prototype.unwrap=new Function("return "+t+";"),n.prototype.unwrapped=n.prototype.unwrap,n},y.prototype._peek=function(e){var t=e.pos,n=this._read(e);return e.pos=t,n},y.prototype._check=i.abstractFunction,y.prototype._copy=i.abstractFunction,y.prototype._deref=i.abstractFunction,y.prototype._match=i.abstractFunction,y.prototype._read=i.abstractFunction,y.prototype._skip=i.abstractFunction,y.prototype._update=i.abstractFunction,y.prototype._write=i.abstractFunction,y.prototype.getAliases=function(){return this.aliases},y.prototype.getFingerprint=y.prototype.fingerprint,y.prototype.getName=function(e){return this.name||!e?this.name:this.branchName},y.prototype.getSchema=y.prototype.schema,y.prototype.getTypeName=function(){return this.typeName},o.inherits(g,y),g.prototype._update=function(e,t){t.typeName===this.typeName&&(e._read=this._read)},g.prototype._copy=function(e){return this._check(e,void 0,G),e},g.prototype._deref=function(){return this.typeName},g.prototype.compare=i.compare,o.inherits(b,g),b.prototype._check=function(e,t,n){var i=null===e;return!i&&n&&n(e,this),i},b.prototype._read=function(){return null},b.prototype._skip=function(){},b.prototype._write=function(e,t){null!==t&&G(t,this)},b.prototype._match=function(){return 0},b.prototype.compare=b.prototype._match,b.prototype.typeName="null",b.prototype.random=b.prototype._read,o.inherits(v,g),v.prototype._check=function(e,t,n){var i="boolean"==typeof e;return!i&&n&&n(e,this),i},v.prototype._read=function(e){return e.readBoolean()},v.prototype._skip=function(e){e.skipBoolean()},v.prototype._write=function(e,t){"boolean"!=typeof t&&G(t,this),e.writeBoolean(t)},v.prototype._match=function(e,t){return e.matchBoolean(t)},v.prototype.typeName="boolean",v.prototype.random=function(){return f.nextBoolean()},o.inherits(_,g),_.prototype._check=function(e,t,n){var i=e===(0|e);return!i&&n&&n(e,this),i},_.prototype._read=function(e){return e.readInt()},_.prototype._skip=function(e){e.skipInt()},_.prototype._write=function(e,t){t!==(0|t)&&G(t,this),e.writeInt(t)},_.prototype._match=function(e,t){return e.matchInt(t)},_.prototype.typeName="int",_.prototype.random=function(){return 0|f.nextInt(1e3)},o.inherits(j,g),j.prototype._check=function(e,t,n){var i="number"==typeof e&&e%1==0&&H(e);return!i&&n&&n(e,this),i},j.prototype._read=function(e){var t=e.readLong();if(!H(t))throw new Error("potential precision loss");return t},j.prototype._skip=function(e){e.skipLong()},j.prototype._write=function(e,t){("number"!=typeof t||t%1||!H(t))&&G(t,this),e.writeLong(t)},j.prototype._match=function(e,t){return e.matchLong(t)},j.prototype._update=function(e,t){switch(t.typeName){case"int":e._read=t._read;break;case"abstract:long":case"long":e._read=this._read}},j.prototype.typeName="long",j.prototype.random=function(){return f.nextInt()},j.__with=function(e,t){e=e||{};var n={toBuffer:"_toBuffer",fromBuffer:"_fromBuffer",fromJSON:"_fromJSON",toJSON:"_toJSON",isValid:"_isValid",compare:"compare"},i=new N(t);return Object.keys(n).forEach((function(t){if(void 0===e[t])throw new Error(l("missing method implementation: %s",t));i[n[t]]=e[t]})),Object.freeze(i)},o.inherits(x,g),x.prototype._check=function(e,t,n){var i="number"==typeof e;return!i&&n&&n(e,this),i},x.prototype._read=function(e){return e.readFloat()},x.prototype._skip=function(e){e.skipFloat()},x.prototype._write=function(e,t){"number"!=typeof t&&G(t,this),e.writeFloat(t)},x.prototype._match=function(e,t){return e.matchFloat(t)},x.prototype._update=function(e,t){switch(t.typeName){case"float":case"int":e._read=t._read;break;case"abstract:long":case"long":e._read=function(e){return e.readLong()}}},x.prototype.typeName="float",x.prototype.random=function(){return f.nextFloat(1e3)},o.inherits(w,g),w.prototype._check=function(e,t,n){var i="number"==typeof e;return!i&&n&&n(e,this),i},w.prototype._read=function(e){return e.readDouble()},w.prototype._skip=function(e){e.skipDouble()},w.prototype._write=function(e,t){"number"!=typeof t&&G(t,this),e.writeDouble(t)},w.prototype._match=function(e,t){return e.matchDouble(t)},w.prototype._update=function(e,t){switch(t.typeName){case"double":case"float":case"int":e._read=t._read;break;case"abstract:long":case"long":e._read=function(e){return e.readLong()}}},w.prototype.typeName="double",w.prototype.random=function(){return f.nextFloat()},o.inherits($,g),$.prototype._check=function(e,t,n){var i="string"==typeof e;return!i&&n&&n(e,this),i},$.prototype._read=function(e){return e.readString()},$.prototype._skip=function(e){e.skipString()},$.prototype._write=function(e,t){"string"!=typeof t&&G(t,this),e.writeString(t)},$.prototype._match=function(e,t){return e.matchString(t)},$.prototype._update=function(e,t){switch(t.typeName){case"bytes":case"string":e._read=this._read}},$.prototype.typeName="string",$.prototype.random=function(){return f.nextString(f.nextInt(32))},o.inherits(S,g),S.prototype._check=function(e,t,n){var i=s.isBuffer(e);return!i&&n&&n(e,this),i},S.prototype._read=function(e){return e.readBytes()},S.prototype._skip=function(e){e.skipBytes()},S.prototype._write=function(e,t){s.isBuffer(t)||G(t,this),e.writeBytes(t)},S.prototype._match=function(e,t){return e.matchBytes(t)},S.prototype._update=$.prototype._update,S.prototype._copy=function(e,t){var n;switch(0|(t&&t.coerce)){case 3:return this._check(e,void 0,G),e.toString("binary");case 2:if("string"!=typeof e)throw new Error(l("cannot coerce to buffer: %j",e));return n=i.bufferFrom(e,"binary"),this._check(n,void 0,G),n;case 1:if(!W(e))throw new Error(l("cannot coerce to buffer: %j",e));return n=i.bufferFrom(e.data),this._check(n,void 0,G),n;default:return this._check(e,void 0,G),i.bufferFrom(e)}},S.prototype.compare=s.compare,S.prototype.typeName="bytes",S.prototype.random=function(){return f.nextBuffer(f.nextInt(32))},o.inherits(P,y),P.prototype._branchConstructor=function(){throw new Error("unions cannot be directly wrapped")},P.prototype._skip=function(e){this.types[e.readLong()]._skip(e)},P.prototype._match=function(e,t){var n=e.readLong(),i=t.readLong();return n===i?this.types[n]._match(e,t):n1)throw new Error(l("ambiguous aliasing for %s.%s (%s)",t.name,s.name,p));if(p.length)a=p[0],u={resolver:s.type.createResolver(h[a].type,n),name:"_"+s.name},y[a]?y[a].push(u):y[a]=[u],m.push(u.name);else{if(void 0===s.defaultValue())throw new Error(l("no matching field for default-less %s.%s",t.name,s.name));m.push("undefined")}}var g=-1;for(r=d.length;r&&void 0===y[d[--r].name];)g=r;var b=this._getConstructorName(),v=[b],_=[this.recordConstructor],j=" return function read"+b+"(t, b) {\n";for(r=0;r=g?" ":" ",v.push("r"+r),_.push(s.type),j+="r"+r+"._skip(t);\n";else for(o=y[a].length;o--;)j+=~g&&r>=g?" ":" ",v.push("r"+r+"f"+o),u=y[a][o],_.push(u.resolver),j+="var "+u.name+" = ",j+="r"+r+"f"+o+"._"+(o?"peek":"read")+"(t);\n";~g&&(j+=" }\n"),j+=" return new "+b+"("+m.join()+");\n};",e._read=new Function(v.join(),j).apply(void 0,_)},R.prototype._match=function(e,t){var n,i,r,o,s,a=this.fields;for(n=0,i=a.length;n"},e.exports={Type:y,getTypeBucket:J,getValueBucket:Q,isPrimitive:V,builtins:function(){var e,t,n,i={LogicalType:M,UnwrappedUnionType:O,WrappedUnionType:E},r=Object.keys(u);for(e=0,t=r.length;e{"use strict";var i=n(30816),r=n(6279),o=n(71323),s=i.Buffer,a=new h(4096),c=/^[A-Za-z_][A-Za-z0-9_]*$/,p=o.format;function l(e){return"function"==typeof s.alloc?s.alloc(e):new s(e)}function u(e,t){return"function"==typeof s.from?s.from(e,t):new s(e,t)}function f(e){return e.charAt(0).toUpperCase()+e.slice(1)}function d(e){return c.test(e)}function h(e){this._len=0|e,this._pos=0,this._slab=l(this._len)}function m(e){var t=Math.pow(2,31),n=Math.floor(e||Math.random()*(t-1));this._max=t,this._nextInt=function(){return n=(1103515245*n+12345)%t}}function y(){this._index=0,this._items=[]}function g(e,t){if(this.buf=e,this.pos=0|t,this.pos<0)throw new Error("negative offset")}function b(e,t){for(;t--;)e[t]=~e[t]}h.prototype.alloc=function(e){if(e<0)throw new Error("negative length");var t=this._len;return e>t?l(e):(this._pos+e>t&&(this._slab=l(t),this._pos=0),this._slab.slice(this._pos,this._pos+=e))},m.prototype.nextBoolean=function(){return!!(this._nextInt()%2)},m.prototype.nextInt=function(e,t){return void 0===t&&(t=e,e=0),t=void 0===t?this._max:t,e+Math.floor(this.nextFloat()*(t-e))},m.prototype.nextFloat=function(e,t){return void 0===t&&(t=e,e=0),e+((t=void 0===t?1:t)-e)*this._nextInt()/this._max},m.prototype.nextString=function(e,t){e|=0;var n="";(t=t||"aA").indexOf("a")>-1&&(n+="abcdefghijklmnopqrstuvwxyz"),t.indexOf("A")>-1&&(n+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t.indexOf("#")>-1&&(n+="0123456789"),t.indexOf("!")>-1&&(n+="~`!@#$%^&*()_+-={}[]:\";'<>?,./|\\");for(var i=[],r=0;r0&&n[i].index>1].index;)e=n[i],n[i]=n[t],n[t]=e,i=t},y.prototype.pop=function(){var e=this._items,t=e.length-1|0,n=e[0];if(!n||n.index>this._index)return null;if(this._index++,!t)return e.pop(),n;e[0]=e.pop();for(var i,r,o,s,a,c,p,l=t>>1,u=0;u=s.index));)e[o]=s,e[u]=a,u=o;return n},g.prototype.isValid=function(){return this.pos<=this.buf.length},g.prototype._invalidate=function(){this.pos=this.buf.length+1},g.prototype.readBoolean=function(){return!!this.buf[this.pos++]},g.prototype.skipBoolean=function(){this.pos++},g.prototype.writeBoolean=function(e){this.buf[this.pos++]=!!e},g.prototype.readInt=g.prototype.readLong=function(){var e,t,n,i,r=0,o=0,s=this.buf;do{t=128&(e=s[this.pos++]),r|=(127&e)<>1^-(1&r)},g.prototype.skipInt=g.prototype.skipLong=function(){for(var e=this.buf;128&e[this.pos++];);},g.prototype.writeInt=g.prototype.writeLong=function(e){var t,n,i=this.buf;if(e>=-1073741824&&e<1073741824){n=e>=0?e<<1:~e<<1|1;do{i[this.pos]=127&n,n>>=7}while(n&&(i[this.pos++]|=128))}else{t=e>=0?2*e:2*-e-1;do{i[this.pos]=127&t,t/=128}while(t>=1&&(i[this.pos++]|=128))}this.pos++},g.prototype.readFloat=function(){var e=this.buf,t=this.pos;return this.pos+=4,this.pos>e.length?0:this.buf.readFloatLE(t)},g.prototype.skipFloat=function(){this.pos+=4},g.prototype.writeFloat=function(e){var t=this.buf,n=this.pos;if(this.pos+=4,!(this.pos>t.length))return this.buf.writeFloatLE(e,n)},g.prototype.readDouble=function(){var e=this.buf,t=this.pos;return this.pos+=8,this.pos>e.length?0:this.buf.readDoubleLE(t)},g.prototype.skipDouble=function(){this.pos+=8},g.prototype.writeDouble=function(e){var t=this.buf,n=this.pos;if(this.pos+=8,!(this.pos>t.length))return this.buf.writeDoubleLE(e,n)},g.prototype.readFixed=function(e){var t=this.pos;if(this.pos+=e,!(this.pos>this.buf.length)){var n=a.alloc(e);return this.buf.copy(n,0,t,t+e),n}},g.prototype.skipFixed=function(e){this.pos+=e},g.prototype.writeFixed=function(e,t){t=t||e.length;var n=this.pos;this.pos+=t,this.pos>this.buf.length||e.copy(this.buf,n,0,t)},g.prototype.readBytes=function(){var e=this.readLong();if(!(e<0))return this.readFixed(e);this._invalidate()},g.prototype.skipBytes=function(){var e=this.readLong();e<0?this._invalidate():this.pos+=e},g.prototype.writeBytes=function(e){var t=e.length;this.writeLong(t),this.writeFixed(e,t)},"function"==typeof s.prototype.utf8Slice?g.prototype.readString=function(){var e=this.readLong();if(e<0)return this._invalidate(),"";var t=this.pos,n=this.buf;return this.pos+=e,this.pos>n.length?void 0:this.buf.utf8Slice(t,t+e)}:g.prototype.readString=function(){var e=this.readLong();if(e<0)return this._invalidate(),"";var t=this.pos,n=this.buf;return this.pos+=e,this.pos>n.length?void 0:this.buf.slice(t,t+e).toString()},g.prototype.skipString=function(){var e=this.readLong();e<0?this._invalidate():this.pos+=e},g.prototype.writeString=function(e){var t=s.byteLength(e),n=this.buf;this.writeLong(t);var i,r,o,a,c=this.pos;if(this.pos+=t,!(this.pos>n.length))if(t>64&&"function"==typeof s.prototype.utf8Write)n.utf8Write(e,c,t);else for(i=0,r=t;i>6|192,n[c++]=63&o|128):55296==(64512&o)&&56320==(64512&(a=e.charCodeAt(i+1)))?(o=65536+((1023&o)<<10)+(1023&a),i++,n[c++]=o>>18|240,n[c++]=o>>12&63|128,n[c++]=o>>6&63|128,n[c++]=63&o|128):(n[c++]=o>>12|224,n[c++]=o>>6&63|128,n[c++]=63&o|128)},"function"==typeof s.prototype.latin1Write?g.prototype.writeBinary=function(e,t){var n=this.pos;this.pos+=t,this.pos>this.buf.length||this.buf.latin1Write(e,n,t)}:"function"==typeof s.prototype.binaryWrite?g.prototype.writeBinary=function(e,t){var n=this.pos;this.pos+=t,this.pos>this.buf.length||this.buf.binaryWrite(e,n,t)}:g.prototype.writeBinary=function(e,t){var n=this.pos;this.pos+=t,this.pos>this.buf.length||this.buf.write(e,n,t,"binary")},g.prototype.matchBoolean=function(e){return this.buf[this.pos++]-e.buf[e.pos++]},g.prototype.matchInt=g.prototype.matchLong=function(e){var t=this.readLong(),n=e.readLong();return t===n?0:t>1;128&e;)i|=(127&(e=s[this.pos++]))<=8&&(o-=8,n[r++]=i,i>>=8);return n[r]=i,t&&b(n,8),n},g.prototype.packLongBytes=function(e){var t,n=(128&e[7])>>7,i=this.buf,r=1,o=0,s=3;n?(b(e,8),t=1):t=0;for(var a=[e.readUIntLE(0,3),e.readUIntLE(3,3),e.readUIntLE(6,2)];s&&!a[--s];);for(;o7;)i[this.pos++]=127&t|128,t>>=7,r-=7;t|=a[s]<>=7}while(t&&(i[this.pos++]|=128));this.pos++,n&&b(e,8)},e.exports={abstractFunction:function(){throw new Error("abstract")},addDeprecatedGetters:function(e,t){var n,i,r,s,a=e.prototype;for(n=0,i=t.length;n=0)return-2;r=n}return r},hasDuplicates:function(e,t){var n,i,r,o=Object.create(null);for(n=0,i=e.length;n{"use strict";function t(e,t,r){e instanceof RegExp&&(e=n(e,r)),t instanceof RegExp&&(t=n(t,r));var o=i(e,t,r);return o&&{start:o[0],end:o[1],pre:r.slice(0,o[0]),body:r.slice(o[0]+e.length,o[1]),post:r.slice(o[1]+t.length)}}function n(e,t){var n=t.match(e);return n?n[0]:null}function i(e,t,n){var i,r,o,s,a,c=n.indexOf(e),p=n.indexOf(t,c+1),l=c;if(c>=0&&p>0){if(e===t)return[c,p];for(i=[],o=n.length;l>=0&&!a;)l==c?(i.push(l),c=n.indexOf(e,l+1)):1==i.length?a=[i.pop(),p]:((r=i.pop())=0?c:p;i.length&&(a=[o,s])}return a}e.exports=t,t.range=i},24782:(e,t)=>{"use strict";t.byteLength=function(e){var t=a(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,o=a(e),s=o[0],c=o[1],p=new r(function(e,t,n){return 3*(t+n)/4-n}(0,s,c)),l=0,u=c>0?s-4:s;for(n=0;n>16&255,p[l++]=t>>8&255,p[l++]=255&t;return 2===c&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,p[l++]=255&t),1===c&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,p[l++]=t>>8&255,p[l++]=255&t),p},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,o=[],s=16383,a=0,p=i-r;ap?p:a+s));return 1===r?(t=e[i-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function a(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,o,s=[],a=t;a>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},55457:(e,t,n)=>{var i=n(44044),r=n(10838);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),g(function(e){return e.split("\\\\").join(o).split("\\{").join(s).split("\\}").join(a).split("\\,").join(c).split("\\.").join(p)}(e),!0).map(u)):[]};var o="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",c="\0COMMA"+Math.random()+"\0",p="\0PERIOD"+Math.random()+"\0";function l(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function u(e){return e.split(o).join("\\").split(s).join("{").split(a).join("}").split(c).join(",").split(p).join(".")}function f(e){if(!e)return[""];var t=[],n=r("{","}",e);if(!n)return e.split(",");var i=n.pre,o=n.body,s=n.post,a=i.split(",");a[a.length-1]+="{"+o+"}";var c=f(s);return s.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),t.push.apply(t,a),t}function d(e){return"{"+e+"}"}function h(e){return/^-?0\d/.test(e)}function m(e,t){return e<=t}function y(e,t){return e>=t}function g(e,t){var n=[],o=r("{","}",e);if(!o||/\$$/.test(o.pre))return[e];var s,c=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(o.body),p=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(o.body),u=c||p,b=o.body.indexOf(",")>=0;if(!u&&!b)return o.post.match(/,.*\}/)?g(e=o.pre+"{"+o.body+a+o.post):[e];if(u)s=o.body.split(/\.\./);else if(1===(s=f(o.body)).length&&1===(s=g(s[0],!1).map(d)).length)return(j=o.post.length?g(o.post,!1):[""]).map((function(e){return o.pre+s[0]+e}));var v,_=o.pre,j=o.post.length?g(o.post,!1):[""];if(u){var x=l(s[0]),w=l(s[1]),$=Math.max(s[0].length,s[1].length),S=3==s.length?Math.abs(l(s[2])):1,P=m;w0){var k=new Array(T+1).join("0");A=E<0?"-"+k+A.slice(1):k+A}}v.push(A)}}else v=i(s,(function(e){return g(e,!1)}));for(var I=0;I{"use strict";var i=n(30816).Buffer,r=n(27061),o=n(39619),s=n(88894),a=n(83152),c=n(11863),p=n(92436);for(var l in p)t[l]=p[l];function u(e){if("number"!=typeof e||et.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=e,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}t.NONE=0,t.DEFLATE=1,t.INFLATE=2,t.GZIP=3,t.GUNZIP=4,t.DEFLATERAW=5,t.INFLATERAW=6,t.UNZIP=7,u.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,o(this.init_done,"close before init"),o(this.mode<=t.UNZIP),this.mode===t.DEFLATE||this.mode===t.GZIP||this.mode===t.DEFLATERAW?a.deflateEnd(this.strm):this.mode!==t.INFLATE&&this.mode!==t.GUNZIP&&this.mode!==t.INFLATERAW&&this.mode!==t.UNZIP||c.inflateEnd(this.strm),this.mode=t.NONE,this.dictionary=null)},u.prototype.write=function(e,t,n,i,r,o,s){return this._write(!0,e,t,n,i,r,o,s)},u.prototype.writeSync=function(e,t,n,i,r,o,s){return this._write(!1,e,t,n,i,r,o,s)},u.prototype._write=function(e,n,s,a,c,p,l,u){if(o.equal(arguments.length,8),o(this.init_done,"write before init"),o(this.mode!==t.NONE,"already finalized"),o.equal(!1,this.write_in_progress,"write already in progress"),o.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,o.equal(!1,void 0===n,"must provide flush value"),this.write_in_progress=!0,n!==t.Z_NO_FLUSH&&n!==t.Z_PARTIAL_FLUSH&&n!==t.Z_SYNC_FLUSH&&n!==t.Z_FULL_FLUSH&&n!==t.Z_FINISH&&n!==t.Z_BLOCK)throw new Error("Invalid flush value");if(null==s&&(s=i.alloc(0),c=0,a=0),this.strm.avail_in=c,this.strm.input=s,this.strm.next_in=a,this.strm.avail_out=u,this.strm.output=p,this.strm.next_out=l,this.flush=n,!e)return this._process(),this._checkError()?this._afterSync():void 0;var f=this;return r.nextTick((function(){f._process(),f._after()})),this},u.prototype._afterSync=function(){var e=this.strm.avail_out,t=this.strm.avail_in;return this.write_in_progress=!1,[t,e]},u.prototype._process=function(){var e=null;switch(this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=a.deflate(this.strm,this.flush);break;case t.UNZIP:switch(this.strm.avail_in>0&&(e=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===e)break;if(31!==this.strm.input[e]){this.mode=t.INFLATE;break}if(this.gzip_id_bytes_read=1,e++,1===this.strm.avail_in)break;case 1:if(null===e)break;139===this.strm.input[e]?(this.gzip_id_bytes_read=2,this.mode=t.GUNZIP):this.mode=t.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:for(this.err=c.inflate(this.strm,this.flush),this.err===t.Z_NEED_DICT&&this.dictionary&&(this.err=c.inflateSetDictionary(this.strm,this.dictionary),this.err===t.Z_OK?this.err=c.inflate(this.strm,this.flush):this.err===t.Z_DATA_ERROR&&(this.err=t.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===t.GUNZIP&&this.err===t.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=c.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},u.prototype._checkError=function(){switch(this.err){case t.Z_OK:case t.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===t.Z_FINISH)return this._error("unexpected end of file"),!1;break;case t.Z_STREAM_END:break;case t.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},u.prototype._after=function(){if(this._checkError()){var e=this.strm.avail_out,t=this.strm.avail_in;this.write_in_progress=!1,this.callback(t,e),this.pending_close&&this.close()}},u.prototype._error=function(e){this.strm.msg&&(e=this.strm.msg),this.onerror(e,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},u.prototype.init=function(e,n,i,r,s){o(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),o(e>=8&&e<=15,"invalid windowBits"),o(n>=-1&&n<=9,"invalid compression level"),o(i>=1&&i<=9,"invalid memlevel"),o(r===t.Z_FILTERED||r===t.Z_HUFFMAN_ONLY||r===t.Z_RLE||r===t.Z_FIXED||r===t.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(n,e,i,r,s),this._setDictionary()},u.prototype.params=function(){throw new Error("deflateParams Not supported")},u.prototype.reset=function(){this._reset(),this._setDictionary()},u.prototype._init=function(e,n,i,r,o){switch(this.level=e,this.windowBits=n,this.memLevel=i,this.strategy=r,this.flush=t.Z_NO_FLUSH,this.err=t.Z_OK,this.mode!==t.GZIP&&this.mode!==t.GUNZIP||(this.windowBits+=16),this.mode===t.UNZIP&&(this.windowBits+=32),this.mode!==t.DEFLATERAW&&this.mode!==t.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new s,this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=a.deflateInit2(this.strm,this.level,t.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:case t.UNZIP:this.err=c.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==t.Z_OK&&this._error("Init error"),this.dictionary=o,this.write_in_progress=!1,this.init_done=!0},u.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=t.Z_OK,this.mode){case t.DEFLATE:case t.DEFLATERAW:this.err=a.deflateSetDictionary(this.strm,this.dictionary)}this.err!==t.Z_OK&&this._error("Failed to set dictionary")}},u.prototype._reset=function(){switch(this.err=t.Z_OK,this.mode){case t.DEFLATE:case t.DEFLATERAW:case t.GZIP:this.err=a.deflateReset(this.strm);break;case t.INFLATE:case t.INFLATERAW:case t.GUNZIP:this.err=c.inflateReset(this.strm)}this.err!==t.Z_OK&&this._error("Failed to reset stream")},t.Zlib=u},46864:(e,t,n)=>{"use strict";var i=n(27061),r=n(30816).Buffer,o=n(83424).Transform,s=n(83011),a=n(71323),c=n(39619).ok,p=n(30816).kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+p.toString(16)+" bytes";s.Z_MIN_WINDOWBITS=8,s.Z_MAX_WINDOWBITS=15,s.Z_DEFAULT_WINDOWBITS=15,s.Z_MIN_CHUNK=64,s.Z_MAX_CHUNK=1/0,s.Z_DEFAULT_CHUNK=16384,s.Z_MIN_MEMLEVEL=1,s.Z_MAX_MEMLEVEL=9,s.Z_DEFAULT_MEMLEVEL=8,s.Z_MIN_LEVEL=-1,s.Z_MAX_LEVEL=9,s.Z_DEFAULT_LEVEL=s.Z_DEFAULT_COMPRESSION;for(var u=Object.keys(s),f=0;f=p?s=new RangeError(l):t=r.concat(i,o),i=[],e.close(),n(s,t)}e.on("error",(function(t){e.removeListener("end",a),e.removeListener("readable",s),n(t)})),e.on("end",a),e.end(t),s()}function v(e,t){if("string"==typeof t&&(t=r.from(t)),!r.isBuffer(t))throw new TypeError("Not a string or buffer");var n=e._finishFlushFlag;return e._processChunk(t,n)}function _(e){if(!(this instanceof _))return new _(e);E.call(this,e,s.DEFLATE)}function j(e){if(!(this instanceof j))return new j(e);E.call(this,e,s.INFLATE)}function x(e){if(!(this instanceof x))return new x(e);E.call(this,e,s.GZIP)}function w(e){if(!(this instanceof w))return new w(e);E.call(this,e,s.GUNZIP)}function $(e){if(!(this instanceof $))return new $(e);E.call(this,e,s.DEFLATERAW)}function S(e){if(!(this instanceof S))return new S(e);E.call(this,e,s.INFLATERAW)}function P(e){if(!(this instanceof P))return new P(e);E.call(this,e,s.UNZIP)}function O(e){return e===s.Z_NO_FLUSH||e===s.Z_PARTIAL_FLUSH||e===s.Z_SYNC_FLUSH||e===s.Z_FULL_FLUSH||e===s.Z_FINISH||e===s.Z_BLOCK}function E(e,n){var i=this;if(this._opts=e=e||{},this._chunkSize=e.chunkSize||t.Z_DEFAULT_CHUNK,o.call(this,e),e.flush&&!O(e.flush))throw new Error("Invalid flush flag: "+e.flush);if(e.finishFlush&&!O(e.finishFlush))throw new Error("Invalid flush flag: "+e.finishFlush);if(this._flushFlag=e.flush||s.Z_NO_FLUSH,this._finishFlushFlag=void 0!==e.finishFlush?e.finishFlush:s.Z_FINISH,e.chunkSize&&(e.chunkSizet.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBitst.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.levelt.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevelt.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=t.Z_FILTERED&&e.strategy!=t.Z_HUFFMAN_ONLY&&e.strategy!=t.Z_RLE&&e.strategy!=t.Z_FIXED&&e.strategy!=t.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!r.isBuffer(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new s.Zlib(n);var a=this;this._hadError=!1,this._handle.onerror=function(e,n){A(a),a._hadError=!0;var i=new Error(e);i.errno=n,i.code=t.codes[n],a.emit("error",i)};var c=t.Z_DEFAULT_COMPRESSION;"number"==typeof e.level&&(c=e.level);var p=t.Z_DEFAULT_STRATEGY;"number"==typeof e.strategy&&(p=e.strategy),this._handle.init(e.windowBits||t.Z_DEFAULT_WINDOWBITS,c,e.memLevel||t.Z_DEFAULT_MEMLEVEL,p,e.dictionary),this._buffer=r.allocUnsafe(this._chunkSize),this._offset=0,this._level=c,this._strategy=p,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!i._handle},configurable:!0,enumerable:!0})}function A(e,t){t&&i.nextTick(t),e._handle&&(e._handle.close(),e._handle=null)}function T(e){e.emit("close")}Object.defineProperty(t,"codes",{enumerable:!0,value:Object.freeze(h),writable:!1}),t.Deflate=_,t.Inflate=j,t.Gzip=x,t.Gunzip=w,t.DeflateRaw=$,t.InflateRaw=S,t.Unzip=P,t.createDeflate=function(e){return new _(e)},t.createInflate=function(e){return new j(e)},t.createDeflateRaw=function(e){return new $(e)},t.createInflateRaw=function(e){return new S(e)},t.createGzip=function(e){return new x(e)},t.createGunzip=function(e){return new w(e)},t.createUnzip=function(e){return new P(e)},t.deflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),b(new _(t),e,n)},t.deflateSync=function(e,t){return v(new _(t),e)},t.gzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),b(new x(t),e,n)},t.gzipSync=function(e,t){return v(new x(t),e)},t.deflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),b(new $(t),e,n)},t.deflateRawSync=function(e,t){return v(new $(t),e)},t.unzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),b(new P(t),e,n)},t.unzipSync=function(e,t){return v(new P(t),e)},t.inflate=function(e,t,n){return"function"==typeof t&&(n=t,t={}),b(new j(t),e,n)},t.inflateSync=function(e,t){return v(new j(t),e)},t.gunzip=function(e,t,n){return"function"==typeof t&&(n=t,t={}),b(new w(t),e,n)},t.gunzipSync=function(e,t){return v(new w(t),e)},t.inflateRaw=function(e,t,n){return"function"==typeof t&&(n=t,t={}),b(new S(t),e,n)},t.inflateRawSync=function(e,t){return v(new S(t),e)},a.inherits(E,o),E.prototype.params=function(e,n,r){if(et.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(n!=t.Z_FILTERED&&n!=t.Z_HUFFMAN_ONLY&&n!=t.Z_RLE&&n!=t.Z_FIXED&&n!=t.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+n);if(this._level!==e||this._strategy!==n){var o=this;this.flush(s.Z_SYNC_FLUSH,(function(){c(o._handle,"zlib binding closed"),o._handle.params(e,n),o._hadError||(o._level=e,o._strategy=n,r&&r())}))}else i.nextTick(r)},E.prototype.reset=function(){return c(this._handle,"zlib binding closed"),this._handle.reset()},E.prototype._flush=function(e){this._transform(r.alloc(0),"",e)},E.prototype.flush=function(e,t){var n=this,o=this._writableState;("function"==typeof e||void 0===e&&!t)&&(t=e,e=s.Z_FULL_FLUSH),o.ended?t&&i.nextTick(t):o.ending?t&&this.once("end",t):o.needDrain?t&&this.once("drain",(function(){return n.flush(e,t)})):(this._flushFlag=e,this.write(r.alloc(0),"",t))},E.prototype.close=function(e){A(this,e),i.nextTick(T,this)},E.prototype._transform=function(e,t,n){var i,o=this._writableState,a=(o.ending||o.ended)&&(!e||o.length===e.length);return null===e||r.isBuffer(e)?this._handle?(a?i=this._finishFlushFlag:(i=this._flushFlag,e.length>=o.length&&(this._flushFlag=this._opts.flush||s.Z_NO_FLUSH)),void this._processChunk(e,i,n)):n(new Error("zlib binding closed")):n(new Error("invalid input"))},E.prototype._processChunk=function(e,t,n){var i=e&&e.length,o=this._chunkSize-this._offset,s=0,a=this,u="function"==typeof n;if(!u){var f,d=[],h=0;this.on("error",(function(e){f=e})),c(this._handle,"zlib binding closed");do{var m=this._handle.writeSync(t,e,s,i,this._buffer,this._offset,o)}while(!this._hadError&&b(m[0],m[1]));if(this._hadError)throw f;if(h>=p)throw A(this),new RangeError(l);var y=r.concat(d,h);return A(this),y}c(this._handle,"zlib binding closed");var g=this._handle.write(t,e,s,i,this._buffer,this._offset,o);function b(p,l){if(this&&(this.buffer=null,this.callback=null),!a._hadError){var f=o-l;if(c(f>=0,"have should not go down"),f>0){var m=a._buffer.slice(a._offset,a._offset+f);a._offset+=f,u?a.push(m):(d.push(m),h+=m.length)}if((0===l||a._offset>=a._chunkSize)&&(o=a._chunkSize,a._offset=0,a._buffer=r.allocUnsafe(a._chunkSize)),0===l){if(s+=i-p,i=p,!u)return!0;var y=a._handle.write(t,e,s,i,a._buffer,a._offset,a._chunkSize);return y.callback=b,void(y.buffer=e)}if(!u)return!1;n()}}g.buffer=e,g.callback=b},a.inherits(_,E),a.inherits(j,E),a.inherits(x,E),a.inherits(w,E),a.inherits($,E),a.inherits(S,E),a.inherits(P,E)},30816:(e,t,n)=>{"use strict";var i=n(30138);const r=n(24782),o=n(78898),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=p,t.SlowBuffer=function(e){return+e!=e&&(e=0),p.alloc(+e)},t.INSPECT_MAX_BYTES=50;const a=2147483647;function c(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,p.prototype),t}function p(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return l(e,t,n)}function l(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!p.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|y(e,t);let i=c(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Q(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Q(e,ArrayBuffer)||e&&Q(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(Q(e,SharedArrayBuffer)||e&&Q(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return p.from(i,t,n);const r=function(e){if(p.isBuffer(e)){const t=0|m(e.length),n=c(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Z(e.length)?c(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return p.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return u(e),c(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=c(t);for(let i=0;i=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function y(e,t){if(p.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Q(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return G(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return K(e).length;default:if(r)return i?-1:G(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return k(this,t,n);case"utf8":case"utf-8":return O(this,t,n);case"ascii":return A(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return P(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function b(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Z(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=p.from(t,i)),p.isBuffer(t))return 0===t.length?-1:_(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):_(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function _(e,t,n,i,r){let o,s=1,a=e.length,c=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;s=2,a/=2,c/=2,n/=2}function p(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){let i=-1;for(o=n;oa&&(n=a-c),o=n;o>=0;o--){let n=!0;for(let i=0;ir&&(i=r):i=r;const o=t.length;let s;for(i>o/2&&(i=o/2),s=0;s>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function P(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function O(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+s<=n){let n,i,a,c;switch(s){case 1:t<128&&(o=t);break;case 2:n=e[r+1],128==(192&n)&&(c=(31&t)<<6|63&n,c>127&&(o=c));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(c=(15&t)<<12|(63&n)<<6|63&i,c>2047&&(c<55296||c>57343)&&(o=c));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(c=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,c>65535&&c<1114112&&(o=c))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),r+=s}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(p.isBuffer(t)||(t=p.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!p.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},p.byteLength=y,p.prototype._isBuffer=!0,p.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(p.prototype[s]=p.prototype.inspect),p.prototype.compare=function(e,t,n,i,r){if(Q(e,Uint8Array)&&(e=p.from(e,e.offset,e.byteLength)),!p.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let o=(r>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0);const a=Math.min(o,s),c=this.slice(i,r),l=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return j(this,e,t,n);case"utf8":case"utf-8":return x(this,e,t,n);case"ascii":case"latin1":case"binary":return w(this,e,t,n);case"base64":return $(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function A(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,i,r,o){if(!p.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){z(t,i,r,e,n,7);let o=Number(t&BigInt(4294967295));e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,n}function C(e,t,n,i,r){z(t,i,r,e,n,7);let o=Number(t&BigInt(4294967295));e[n+7]=o,o>>=8,e[n+6]=o,o>>=8,e[n+5]=o,o>>=8,e[n+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=s,s>>=8,e[n+2]=s,s>>=8,e[n+1]=s,s>>=8,e[n]=s,n+8}function D(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function q(e,t,n,i,r){return t=+t,n>>>=0,r||D(e,0,n,4),o.write(e,t,n,i,23,4),n+4}function F(e,t,n,i,r){return t=+t,n>>>=0,r||D(e,0,n,8),o.write(e,t,n,i,52,8),n+8}p.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,o=0;for(;++o>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},p.prototype.readUint8=p.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readBigUInt64LE=X((function(e){B(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,o=0;for(;++o=r&&(i-=Math.pow(2,8*t)),i},p.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,o=this[e+--i];for(;i>0&&(r*=256);)o+=this[e+--i]*r;return r*=128,o>=r&&(o-=Math.pow(2,8*t)),o},p.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readBigInt64LE=X((function(e){B(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||H(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),o.read(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),o.read(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),o.read(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),o.read(this,e,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||M(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},p.prototype.writeUint8=p.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,255,0),this[t]=255&e,t+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},p.prototype.writeBigUInt64LE=X((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeBigUInt64BE=X((function(e,t=0){return C(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}let r=0,o=1,s=0;for(this[t]=255&e;++r>>=0,!i){const i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}let r=n-1,o=1,s=0;for(this[t+r]=255&e;--r>=0&&(o*=256);)e<0&&0===s&&0!==this[t+r+1]&&(s=1),this[t+r]=(e/o|0)-s&255;return t+n},p.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},p.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},p.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},p.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},p.prototype.writeBigInt64LE=X((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeBigInt64BE=X((function(e,t=0){return C(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeFloatLE=function(e,t,n){return q(this,e,t,!0,n)},p.prototype.writeFloatBE=function(e,t,n){return q(this,e,t,!1,n)},p.prototype.writeDoubleLE=function(e,t,n){return F(this,e,t,!0,n)},p.prototype.writeDoubleBE=function(e,t,n){return F(this,e,t,!1,n)},p.prototype.copy=function(e,t,n,i){if(!p.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function z(e,t,n,i,r,o){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(o+1)}${i}`:`>= -(2${i} ** ${8*(o+1)-1}${i}) and < 2 ** ${8*(o+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new L.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){B(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||H(t,e.length-(n+1))}(i,r,o)}function B(e,t){if("number"!=typeof e)throw new L.ERR_INVALID_ARG_TYPE(t,"number",e)}function H(e,t,n){if(Math.floor(e)!==e)throw B(e,n),new L.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new L.ERR_BUFFER_OUT_OF_BOUNDS;throw new L.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}U("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),U("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),U("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=V(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=V(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const W=/[^+/0-9A-Za-z-_]/g;function G(e,t){let n;t=t||1/0;const i=e.length;let r=null;const o=[];for(let s=0;s55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function K(e){return r.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(W,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function J(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function Q(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Z(e){return e!=e}const Y=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function X(e){return"undefined"==typeof BigInt?ee:e}function ee(){throw new Error("BigInt not supported")}},12737:(e,t,n)=>{"use strict";var i=n(68750),r=n(34573),o=r(i("String.prototype.indexOf"));e.exports=function(e,t){var n=i(e,!!t);return"function"==typeof n&&o(e,".prototype.")>-1?r(n):n}},34573:(e,t,n)=>{"use strict";var i=n(20132),r=n(68750),o=n(504),s=n(31805),a=r("%Function.prototype.apply%"),c=r("%Function.prototype.call%"),p=r("%Reflect.apply%",!0)||i.call(c,a),l=n(51544),u=r("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new s("a function is required");var t=p(i,c,arguments);return o(t,1+u(0,e.length-(arguments.length-1)),!0)};var f=function(){return p(i,a,arguments)};l?l(e.exports,"apply",{value:f}):e.exports.apply=f},44044:e=>{e.exports=function(e,n){for(var i=[],r=0;r{var i=n(71323),r=n(39619);function o(){return(new Date).getTime()}var s,a=Array.prototype.slice,c={};s=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var p=[[function(){},"log"],[function(){s.log.apply(s,arguments)},"info"],[function(){s.log.apply(s,arguments)},"warn"],[function(){s.warn.apply(s,arguments)},"error"],[function(e){c[e]=o()},"time"],[function(e){var t=c[e];if(!t)throw new Error("No such label: "+e);delete c[e];var n=o()-t;s.log(e+": "+n+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=i.format.apply(null,arguments),s.error(e.stack)},"trace"],[function(e){s.log(i.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=a.call(arguments,1);r.ok(!1,i.format.apply(null,t))}},"assert"]],l=0;l{"use strict";var i=n(51544),r=n(74329),o=n(31805),s=n(77502);e.exports=function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new o("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new o("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new o("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new o("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new o("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,p=arguments.length>5?arguments[5]:null,l=arguments.length>6&&arguments[6],u=!!s&&s(e,t);if(i)i(e,t,{configurable:null===p&&u?u.configurable:!p,enumerable:null===a&&u?u.enumerable:!a,value:n,writable:null===c&&u?u.writable:!c});else{if(!l&&(a||c||p))throw new r("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=n}}},67392:(e,t,n)=>{"use strict";var i=n(44733),r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),o=Object.prototype.toString,s=Array.prototype.concat,a=n(76300),c=n(21365)(),p=function(e,t,n,i){if(t in e)if(!0===i){if(e[t]===n)return}else if("function"!=typeof(r=i)||"[object Function]"!==o.call(r)||!i())return;var r;c?a(e,t,n,!0):a(e,t,n)},l=function(e,t){var n=arguments.length>2?arguments[2]:{},o=i(t);r&&(o=s.call(o,Object.getOwnPropertySymbols(t)));for(var a=0;a{function n(e,t,n,i){var o={};return function(s){if(!o[s]){var a={},c=[],p=[];for(p.push({node:s,processed:!1});p.length>0;){var l=p[p.length-1],u=l.processed,f=l.node;if(u)p.pop(),c.pop(),a[f]=!1,o[f]=!0,t&&0!==e[f].length||n.push(f);else{if(o[f]){p.pop();continue}if(a[f]){if(i){p.pop();continue}throw c.push(f),new r(c)}a[f]=!0,c.push(f);for(var d=e[f],h=d.length-1;h>=0;h--)p.push({node:d[h],processed:!1});l.processed=!0}}}}}var i=t.DepGraph=function(e){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=e&&!!e.circular};i.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(e,t){this.hasNode(e)||(this.nodes[e]=2===arguments.length?t:e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode:function(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach((function(t){Object.keys(t).forEach((function(n){var i=t[n].indexOf(e);i>=0&&t[n].splice(i,1)}),this)})))},hasNode:function(e){return this.nodes.hasOwnProperty(e)},getNodeData:function(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency:function(e,t){var n;this.hasNode(e)&&(n=this.outgoingEdges[e].indexOf(t))>=0&&this.outgoingEdges[e].splice(n,1),this.hasNode(t)&&(n=this.incomingEdges[t].indexOf(e))>=0&&this.incomingEdges[t].splice(n,1)},clone:function(){var e=this,t=new i;return Object.keys(e.nodes).forEach((function(n){t.nodes[n]=e.nodes[n],t.outgoingEdges[n]=e.outgoingEdges[n].slice(0),t.incomingEdges[n]=e.incomingEdges[n].slice(0)})),t},directDependenciesOf:function(e){if(this.hasNode(e))return this.outgoingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},directDependantsOf:function(e){if(this.hasNode(e))return this.incomingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},dependenciesOf:function(e,t){if(this.hasNode(e)){var i=[];n(this.outgoingEdges,t,i,this.circular)(e);var r=i.indexOf(e);return r>=0&&i.splice(r,1),i}throw new Error("Node does not exist: "+e)},dependantsOf:function(e,t){if(this.hasNode(e)){var i=[];n(this.incomingEdges,t,i,this.circular)(e);var r=i.indexOf(e);return r>=0&&i.splice(r,1),i}throw new Error("Node does not exist: "+e)},overallOrder:function(e){var t=this,i=[],r=Object.keys(this.nodes);if(0===r.length)return i;if(!this.circular){var o=n(this.outgoingEdges,!1,[],this.circular);r.forEach((function(e){o(e)}))}var s=n(this.outgoingEdges,e,i,this.circular);return r.filter((function(e){return 0===t.incomingEdges[e].length})).forEach((function(e){s(e)})),this.circular&&r.filter((function(e){return-1===i.indexOf(e)})).forEach((function(e){s(e)})),i},entryNodes:function(){var e=this;return Object.keys(this.nodes).filter((function(t){return 0===e.incomingEdges[t].length}))}},i.prototype.directDependentsOf=i.prototype.directDependantsOf,i.prototype.dependentsOf=i.prototype.dependantsOf;var r=t.DepGraphCycleError=function(e){var t="Dependency Cycle Found: "+e.join(" -> "),n=new Error(t);return n.cyclePath=e,Object.setPrototypeOf(n,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(n,r),n};r.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(r,Error)},31699:function(e,t,n){var i=n(30138);e.exports=function(){"use strict";const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:r,getOwnPropertyDescriptor:o}=Object;let{freeze:s,seal:a,create:c}=Object,{apply:p,construct:l}="undefined"!=typeof Reflect&&Reflect;s||(s=function(e){return e}),a||(a=function(e){return e}),p||(p=function(e,t,n){return e.apply(t,n)}),l||(l=function(e,t){return new e(...t)});const u=$(Array.prototype.forEach),f=$(Array.prototype.pop),d=$(Array.prototype.push),h=$(String.prototype.toLowerCase),m=$(String.prototype.toString),y=$(String.prototype.match),g=$(String.prototype.replace),b=$(String.prototype.indexOf),v=$(String.prototype.trim),_=$(Object.prototype.hasOwnProperty),j=$(RegExp.prototype.test),x=(w=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:h;t&&t(e,null);let o=i.length;for(;o--;){let t=i[o];if("string"==typeof t){const e=r(t);e!==t&&(n(i)||(i[o]=e),t=e)}e[t]=!0}return e}function P(e){for(let t=0;t/gm),V=a(/\${[\w\W]*}/gm),z=a(/^data-[\-\w.\u00B7-\uFFFF]/),B=a(/^aria-[\-\w]+$/),H=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),W=a(/^(?:\w+script|data):/i),G=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),K=a(/^html$/i),J=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var Q=Object.freeze({__proto__:null,MUSTACHE_EXPR:L,ERB_EXPR:U,TMPLIT_EXPR:V,DATA_ATTR:z,ARIA_ATTR:B,IS_ALLOWED_URI:H,IS_SCRIPT_OR_DATA:W,ATTR_WHITESPACE:G,DOCTYPE_NAME:K,CUSTOM_ELEMENT:J});const Z=1,Y=3,X=7,ee=8,te=9,ne=function(){return"undefined"==typeof window?null:window};return function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ne();const r=e=>t(e);if(r.version="3.1.5",r.removed=[],!n||!n.document||n.document.nodeType!==te)return r.isSupported=!1,r;let{document:o}=n;const a=o,p=a.currentScript,{DocumentFragment:l,HTMLTemplateElement:w,Node:$,Element:P,NodeFilter:L,NamedNodeMap:U=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:V,DOMParser:z,trustedTypes:B}=n,W=P.prototype,G=E(W,"cloneNode"),J=E(W,"nextSibling"),ie=E(W,"childNodes"),re=E(W,"parentNode");if("function"==typeof w){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let oe,se="";const{implementation:ae,createNodeIterator:ce,createDocumentFragment:pe,getElementsByTagName:le}=o,{importNode:ue}=a;let fe={};r.isSupported="function"==typeof e&&"function"==typeof re&&ae&&void 0!==ae.createHTMLDocument;const{MUSTACHE_EXPR:de,ERB_EXPR:he,TMPLIT_EXPR:me,DATA_ATTR:ye,ARIA_ATTR:ge,IS_SCRIPT_OR_DATA:be,ATTR_WHITESPACE:ve,CUSTOM_ELEMENT:_e}=Q;let{IS_ALLOWED_URI:je}=Q,xe=null;const we=S({},[...A,...T,...k,...R,...N]);let $e=null;const Se=S({},[...C,...D,...q,...F]);let Pe=Object.seal(c(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Oe=null,Ee=null,Ae=!0,Te=!0,ke=!1,Ie=!0,Re=!1,Me=!0,Ne=!1,Ce=!1,De=!1,qe=!1,Fe=!1,Le=!1,Ue=!0,Ve=!1,ze=!0,Be=!1,He={},We=null;const Ge=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ke=null;const Je=S({},["audio","video","img","source","image","track"]);let Qe=null;const Ze=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ye="http://www.w3.org/1998/Math/MathML",Xe="http://www.w3.org/2000/svg",et="http://www.w3.org/1999/xhtml";let tt=et,nt=!1,it=null;const rt=S({},[Ye,Xe,et],m);let ot=null;const st=["application/xhtml+xml","text/html"];let at=null,ct=null;const pt=o.createElement("form"),lt=function(e){return e instanceof RegExp||e instanceof Function},ut=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ct||ct!==e){if(e&&"object"==typeof e||(e={}),e=O(e),ot=-1===st.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,at="application/xhtml+xml"===ot?m:h,xe=_(e,"ALLOWED_TAGS")?S({},e.ALLOWED_TAGS,at):we,$e=_(e,"ALLOWED_ATTR")?S({},e.ALLOWED_ATTR,at):Se,it=_(e,"ALLOWED_NAMESPACES")?S({},e.ALLOWED_NAMESPACES,m):rt,Qe=_(e,"ADD_URI_SAFE_ATTR")?S(O(Ze),e.ADD_URI_SAFE_ATTR,at):Ze,Ke=_(e,"ADD_DATA_URI_TAGS")?S(O(Je),e.ADD_DATA_URI_TAGS,at):Je,We=_(e,"FORBID_CONTENTS")?S({},e.FORBID_CONTENTS,at):Ge,Oe=_(e,"FORBID_TAGS")?S({},e.FORBID_TAGS,at):{},Ee=_(e,"FORBID_ATTR")?S({},e.FORBID_ATTR,at):{},He=!!_(e,"USE_PROFILES")&&e.USE_PROFILES,Ae=!1!==e.ALLOW_ARIA_ATTR,Te=!1!==e.ALLOW_DATA_ATTR,ke=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ie=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Re=e.SAFE_FOR_TEMPLATES||!1,Me=!1!==e.SAFE_FOR_XML,Ne=e.WHOLE_DOCUMENT||!1,qe=e.RETURN_DOM||!1,Fe=e.RETURN_DOM_FRAGMENT||!1,Le=e.RETURN_TRUSTED_TYPE||!1,De=e.FORCE_BODY||!1,Ue=!1!==e.SANITIZE_DOM,Ve=e.SANITIZE_NAMED_PROPS||!1,ze=!1!==e.KEEP_CONTENT,Be=e.IN_PLACE||!1,je=e.ALLOWED_URI_REGEXP||H,tt=e.NAMESPACE||et,Pe=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&<(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Pe.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&<(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Pe.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Pe.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Re&&(Te=!1),Fe&&(qe=!0),He&&(xe=S({},N),$e=[],!0===He.html&&(S(xe,A),S($e,C)),!0===He.svg&&(S(xe,T),S($e,D),S($e,F)),!0===He.svgFilters&&(S(xe,k),S($e,D),S($e,F)),!0===He.mathMl&&(S(xe,R),S($e,q),S($e,F))),e.ADD_TAGS&&(xe===we&&(xe=O(xe)),S(xe,e.ADD_TAGS,at)),e.ADD_ATTR&&($e===Se&&($e=O($e)),S($e,e.ADD_ATTR,at)),e.ADD_URI_SAFE_ATTR&&S(Qe,e.ADD_URI_SAFE_ATTR,at),e.FORBID_CONTENTS&&(We===Ge&&(We=O(We)),S(We,e.FORBID_CONTENTS,at)),ze&&(xe["#text"]=!0),Ne&&S(xe,["html","head","body"]),xe.table&&(S(xe,["tbody"]),delete Oe.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');oe=e.TRUSTED_TYPES_POLICY,se=oe.createHTML("")}else void 0===oe&&(oe=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));const o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return i.warn("TrustedTypes policy "+o+" could not be created."),null}}(B,p)),null!==oe&&"string"==typeof se&&(se=oe.createHTML(""));s&&s(e),ct=e}},ft=S({},["mi","mo","mn","ms","mtext"]),dt=S({},["foreignobject","annotation-xml"]),ht=S({},["title","style","font","a","script"]),mt=S({},[...T,...k,...I]),yt=S({},[...R,...M]),gt=function(e){d(r.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},bt=function(e,t){try{d(r.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){d(r.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!$e[e])if(qe||Fe)try{gt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},vt=function(e){let t=null,n=null;if(De)e=""+e;else{const t=y(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===ot&&tt===et&&(e=''+e+"");const i=oe?oe.createHTML(e):e;if(tt===et)try{t=(new z).parseFromString(i,ot)}catch(e){}if(!t||!t.documentElement){t=ae.createDocument(tt,"template",null);try{t.documentElement.innerHTML=nt?se:i}catch(e){}}const r=t.body||t.documentElement;return e&&n&&r.insertBefore(o.createTextNode(n),r.childNodes[0]||null),tt===et?le.call(t,Ne?"html":"body")[0]:Ne?t.documentElement:r},_t=function(e){return ce.call(e.ownerDocument||e,e,L.SHOW_ELEMENT|L.SHOW_COMMENT|L.SHOW_TEXT|L.SHOW_PROCESSING_INSTRUCTION|L.SHOW_CDATA_SECTION,null)},jt=function(e){return e instanceof V&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof U)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},xt=function(e){return"function"==typeof $&&e instanceof $},wt=function(e,t,n){fe[e]&&u(fe[e],(e=>{e.call(r,t,n,ct)}))},$t=function(e){let t=null;if(wt("beforeSanitizeElements",e,null),jt(e))return gt(e),!0;const n=at(e.nodeName);if(wt("uponSanitizeElement",e,{tagName:n,allowedTags:xe}),e.hasChildNodes()&&!xt(e.firstElementChild)&&j(/<[/\w]/g,e.innerHTML)&&j(/<[/\w]/g,e.textContent))return gt(e),!0;if(e.nodeType===X)return gt(e),!0;if(Me&&e.nodeType===ee&&j(/<[/\w]/g,e.data))return gt(e),!0;if(!xe[n]||Oe[n]){if(!Oe[n]&&Pt(n)){if(Pe.tagNameCheck instanceof RegExp&&j(Pe.tagNameCheck,n))return!1;if(Pe.tagNameCheck instanceof Function&&Pe.tagNameCheck(n))return!1}if(ze&&!We[n]){const t=re(e)||e.parentNode,n=ie(e)||e.childNodes;if(n&&t)for(let i=n.length-1;i>=0;--i){const r=G(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,J(e))}}return gt(e),!0}return e instanceof P&&!function(e){let t=re(e);t&&t.tagName||(t={namespaceURI:tt,tagName:"template"});const n=h(e.tagName),i=h(t.tagName);return!!it[e.namespaceURI]&&(e.namespaceURI===Xe?t.namespaceURI===et?"svg"===n:t.namespaceURI===Ye?"svg"===n&&("annotation-xml"===i||ft[i]):Boolean(mt[n]):e.namespaceURI===Ye?t.namespaceURI===et?"math"===n:t.namespaceURI===Xe?"math"===n&&dt[i]:Boolean(yt[n]):e.namespaceURI===et?!(t.namespaceURI===Xe&&!dt[i])&&!(t.namespaceURI===Ye&&!ft[i])&&!yt[n]&&(ht[n]||!mt[n]):!("application/xhtml+xml"!==ot||!it[e.namespaceURI]))}(e)?(gt(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!j(/<\/no(script|embed|frames)/i,e.innerHTML)?(Re&&e.nodeType===Y&&(t=e.textContent,u([de,he,me],(e=>{t=g(t,e," ")})),e.textContent!==t&&(d(r.removed,{element:e.cloneNode()}),e.textContent=t)),wt("afterSanitizeElements",e,null),!1):(gt(e),!0)},St=function(e,t,n){if(Ue&&("id"===t||"name"===t)&&(n in o||n in pt))return!1;if(Te&&!Ee[t]&&j(ye,t));else if(Ae&&j(ge,t));else if(!$e[t]||Ee[t]){if(!(Pt(e)&&(Pe.tagNameCheck instanceof RegExp&&j(Pe.tagNameCheck,e)||Pe.tagNameCheck instanceof Function&&Pe.tagNameCheck(e))&&(Pe.attributeNameCheck instanceof RegExp&&j(Pe.attributeNameCheck,t)||Pe.attributeNameCheck instanceof Function&&Pe.attributeNameCheck(t))||"is"===t&&Pe.allowCustomizedBuiltInElements&&(Pe.tagNameCheck instanceof RegExp&&j(Pe.tagNameCheck,n)||Pe.tagNameCheck instanceof Function&&Pe.tagNameCheck(n))))return!1}else if(Qe[t]);else if(j(je,g(n,ve,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==b(n,"data:")||!Ke[e])if(ke&&!j(be,g(n,ve,"")));else if(n)return!1;return!0},Pt=function(e){return"annotation-xml"!==e&&y(e,_e)},Ot=function(e){wt("beforeSanitizeAttributes",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:$e};let i=t.length;for(;i--;){const o=t[i],{name:s,namespaceURI:a,value:c}=o,p=at(s);let l="value"===s?c:v(c);if(n.attrName=p,n.attrValue=l,n.keepAttr=!0,n.forceKeepAttr=void 0,wt("uponSanitizeAttribute",e,n),l=n.attrValue,n.forceKeepAttr)continue;if(bt(s,e),!n.keepAttr)continue;if(!Ie&&j(/\/>/i,l)){bt(s,e);continue}if(Me&&j(/((--!?|])>)|<\/(style|title)/i,l)){bt(s,e);continue}Re&&u([de,he,me],(e=>{l=g(l,e," ")}));const d=at(e.nodeName);if(St(d,p,l)){if(!Ve||"id"!==p&&"name"!==p||(bt(s,e),l="user-content-"+l),oe&&"object"==typeof B&&"function"==typeof B.getAttributeType)if(a);else switch(B.getAttributeType(d,p)){case"TrustedHTML":l=oe.createHTML(l);break;case"TrustedScriptURL":l=oe.createScriptURL(l)}try{a?e.setAttributeNS(a,s,l):e.setAttribute(s,l),jt(e)?gt(e):f(r.removed)}catch(e){}}}wt("afterSanitizeAttributes",e,null)},Et=function e(t){let n=null;const i=_t(t);for(wt("beforeSanitizeShadowDOM",t,null);n=i.nextNode();)wt("uponSanitizeShadowNode",n,null),$t(n)||(n.content instanceof l&&e(n.content),Ot(n));wt("afterSanitizeShadowDOM",t,null)};return r.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,i=null,o=null,s=null;if(nt=!e,nt&&(e="\x3c!--\x3e"),"string"!=typeof e&&!xt(e)){if("function"!=typeof e.toString)throw x("toString is not a function");if("string"!=typeof(e=e.toString()))throw x("dirty is not a string, aborting")}if(!r.isSupported)return e;if(Ce||ut(t),r.removed=[],"string"==typeof e&&(Be=!1),Be){if(e.nodeName){const t=at(e.nodeName);if(!xe[t]||Oe[t])throw x("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof $)n=vt("\x3c!----\x3e"),i=n.ownerDocument.importNode(e,!0),i.nodeType===Z&&"BODY"===i.nodeName||"HTML"===i.nodeName?n=i:n.appendChild(i);else{if(!qe&&!Re&&!Ne&&-1===e.indexOf("<"))return oe&&Le?oe.createHTML(e):e;if(n=vt(e),!n)return qe?null:Le?se:""}n&&De&>(n.firstChild);const c=_t(Be?e:n);for(;o=c.nextNode();)$t(o)||(o.content instanceof l&&Et(o.content),Ot(o));if(Be)return e;if(qe){if(Fe)for(s=pe.call(n.ownerDocument);n.firstChild;)s.appendChild(n.firstChild);else s=n;return($e.shadowroot||$e.shadowrootmode)&&(s=ue.call(a,s,!0)),s}let p=Ne?n.outerHTML:n.innerHTML;return Ne&&xe["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&j(K,n.ownerDocument.doctype.name)&&(p="\n"+p),Re&&u([de,he,me],(e=>{p=g(p,e," ")})),oe&&Le?oe.createHTML(p):p},r.setConfig=function(){ut(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ce=!0},r.clearConfig=function(){ct=null,Ce=!1},r.isValidAttribute=function(e,t,n){ct||ut({});const i=at(e),r=at(t);return St(i,r,n)},r.addHook=function(e,t){"function"==typeof t&&(fe[e]=fe[e]||[],d(fe[e],t))},r.removeHook=function(e){if(fe[e])return f(fe[e])},r.removeHooks=function(e){fe[e]&&(fe[e]=[])},r.removeAllHooks=function(){fe={}},r}()}()},1919:(e,t,n)=>{"use strict";var i=n(73063),r=n(85802),o=n(73367),s=n(21365)(),a=n(60143),c=n(70467),p=n(85513);function l(e,t){var n=new p(t);c(n,u),delete n.constructor;var r=a(o(e,"sync"));return i(n,"errors",r),n}s&&Object.defineProperty(l,"prototype",{writable:!1});var u=l.prototype;if(!r(u,"constructor",l)||!r(u,"message","")||!r(u,"name","AggregateError"))throw new p("unable to install AggregateError.prototype properties; please report this!");c(l.prototype,Error.prototype),e.exports=l},90216:(e,t,n)=>{"use strict";var i=n(20132),r=n(67392),o=n(15244),s=n(76300),a=n(1919),c=n(16810),p=n(30116),l=c(),u=o(i.call(l),l.name,!0);s(u,"prototype",l.prototype,!0,!0,!0,!0),r(u,{getPolyfill:c,implementation:a,shim:p}),e.exports=u},16810:(e,t,n)=>{"use strict";var i=n(1919);e.exports=function(){return"function"==typeof AggregateError?AggregateError:i}},30116:(e,t,n)=>{"use strict";var i=n(67392),r=n(1913)(),o=n(16810);e.exports=function(){var e=o();return i(r,{AggregateError:e},{AggregateError:function(){return r.AggregateError!==e}}),e}},51544:(e,t,n)=>{"use strict";var i=n(68750)("%Object.defineProperty%",!0)||!1;if(i)try{i({},"a",{value:1})}catch(e){i=!1}e.exports=i},73573:e=>{"use strict";e.exports=EvalError},85513:e=>{"use strict";e.exports=Error},77679:e=>{"use strict";e.exports=RangeError},39269:e=>{"use strict";e.exports=ReferenceError},74329:e=>{"use strict";e.exports=SyntaxError},31805:e=>{"use strict";e.exports=TypeError},99491:e=>{"use strict";e.exports=URIError},50343:(e,t,n)=>{"use strict";var i,r=n(30138),o="object"==typeof Reflect?Reflect:null,s=o&&"function"==typeof o.apply?o.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function c(){c.init.call(this)}e.exports=c,e.exports.once=function(e,t){return new Promise((function(n,i){function r(n){e.removeListener(t,o),i(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}b(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&b(e,"error",t,{once:!0})}(e,r)}))},c.EventEmitter=c,c.prototype._events=void 0,c.prototype._eventsCount=0,c.prototype._maxListeners=void 0;var p=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?c.defaultMaxListeners:e._maxListeners}function f(e,t,n,i){var o,s,a,c;if(l(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]),void 0===a)a=s[t]=n,++e._eventsCount;else if("function"==typeof a?a=s[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(o=u(e))>0&&a.length>o&&!a.warned){a.warned=!0;var p=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");p.name="MaxListenersExceededWarning",p.emitter=e,p.type=t,p.count=a.length,c=p,r&&r.warn&&r.warn(c)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=d.bind(i);return r.listener=n,i.wrapFn=r,r}function m(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=r[e];if(void 0===c)return!1;if("function"==typeof c)s(c,this,t);else{var p=c.length,l=g(c,p);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},c.prototype.listeners=function(e){return m(this,e,!0)},c.prototype.rawListeners=function(e){return m(this,e,!1)},c.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):y.call(e,t)},c.prototype.listenerCount=y,c.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},66471:e=>{"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var i,r,o;if(Array.isArray(t)){if((i=t.length)!=n.length)return!1;for(r=i;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((i=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(r=i;0!=r--;)if(!Object.prototype.hasOwnProperty.call(n,o[r]))return!1;for(r=i;0!=r--;){var s=o[r];if(!e(t[s],n[s]))return!1}return!0}return t!=t&&n!=n}},89518:e=>{function t(e,t,n,i){var r,o=null==(r=i)||"number"==typeof r||"boolean"==typeof r?i:n(i),s=t.get(o);return void 0===s&&(s=e.call(this,i),t.set(o,s)),s}function n(e,t,n){var i=Array.prototype.slice.call(arguments,3),r=n(i),o=t.get(r);return void 0===o&&(o=e.apply(this,i),t.set(r,o)),o}function i(e,t,n,i,r){return n.bind(t,e,i,r)}function r(e,r){return i(e,this,1===e.length?t:n,r.cache.create(),r.serializer)}function o(){return JSON.stringify(arguments)}function s(){this.cache=Object.create(null)}s.prototype.has=function(e){return e in this.cache},s.prototype.get=function(e){return this.cache[e]},s.prototype.set=function(e,t){this.cache[e]=t};var a={create:function(){return new s}};e.exports=function(e,t){var n=t&&t.cache?t.cache:a,i=t&&t.serializer?t.serializer:o;return(t&&t.strategy?t.strategy:r)(e,{cache:n,serializer:i})},e.exports.strategies={variadic:function(e,t){return i(e,this,n,t.cache.create(),t.serializer)},monadic:function(e,n){return i(e,this,t,n.cache.create(),n.serializer)}}},55278:(e,t,n)=>{"use strict";var i=n(72922),r=Object.prototype.toString,o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){if(!i(t))throw new TypeError("iterator must be a function");var s;arguments.length>=3&&(s=n),"[object Array]"===r.call(e)?function(e,t,n){for(var i=0,r=e.length;i{var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString;e.exports=function(e,i,r){if("[object Function]"!==n.call(i))throw new TypeError("iterator must be a function");var o=e.length;if(o===+o)for(var s=0;s{"use strict";var t=Object.prototype.toString,n=Math.max,i=function(e,t){for(var n=[],i=0;i{"use strict";var i=n(68458);e.exports=Function.prototype.bind||i},80222:e=>{"use strict";var t=function(){return"string"==typeof function(){}.name},n=Object.getOwnPropertyDescriptor;if(n)try{n([],"length")}catch(e){n=null}t.functionsHaveConfigurableNames=function(){if(!t()||!n)return!1;var e=n((function(){}),"name");return!!e&&!!e.configurable};var i=Function.prototype.bind;t.boundFunctionsHaveNames=function(){return t()&&"function"==typeof i&&""!==function(){}.bind().name},e.exports=t},68750:(e,t,n)=>{"use strict";var i,r=n(85513),o=n(73573),s=n(77679),a=n(39269),c=n(74329),p=n(31805),l=n(99491),u=Function,f=function(e){try{return u('"use strict"; return ('+e+").constructor;")()}catch(e){}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch(e){d=null}var h=function(){throw new p},m=d?function(){try{return h}catch(e){try{return d(arguments,"callee").get}catch(e){return h}}}():h,y=n(40679)(),g=n(42574)(),b=Object.getPrototypeOf||(g?function(e){return e.__proto__}:null),v={},_="undefined"!=typeof Uint8Array&&b?b(Uint8Array):i,j={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":y&&b?b([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":o,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":u,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":y&&b?b(b([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&y&&b?b((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":s,"%ReferenceError%":a,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&y&&b?b((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":y&&b?b(""[Symbol.iterator]()):i,"%Symbol%":y?Symbol:i,"%SyntaxError%":c,"%ThrowTypeError%":m,"%TypedArray%":_,"%TypeError%":p,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":l,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet};if(b)try{null.error}catch(e){var x=b(b(e));j["%Error.prototype%"]=x}var w=function e(t){var n;if("%AsyncFunction%"===t)n=f("async function () {}");else if("%GeneratorFunction%"===t)n=f("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=f("async function* () {}");else if("%AsyncGenerator%"===t){var i=e("%AsyncGeneratorFunction%");i&&(n=i.prototype)}else if("%AsyncIteratorPrototype%"===t){var r=e("%AsyncGenerator%");r&&b&&(n=b(r.prototype))}return j[t]=n,n},$={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},S=n(20132),P=n(71712),O=S.call(Function.call,Array.prototype.concat),E=S.call(Function.apply,Array.prototype.splice),A=S.call(Function.call,String.prototype.replace),T=S.call(Function.call,String.prototype.slice),k=S.call(Function.call,RegExp.prototype.exec),I=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,R=/\\(\\)?/g,M=function(e,t){var n,i=e;if(P($,i)&&(i="%"+(n=$[i])[0]+"%"),P(j,i)){var r=j[i];if(r===v&&(r=w(i)),void 0===r&&!t)throw new p("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:i,value:r}}throw new c("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new p("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new p('"allowMissing" argument must be a boolean');if(null===k(/^%?[^%]*%?$/,e))throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(e){var t=T(e,0,1),n=T(e,-1);if("%"===t&&"%"!==n)throw new c("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new c("invalid intrinsic syntax, expected opening `%`");var i=[];return A(e,I,(function(e,t,n,r){i[i.length]=n?A(r,R,"$1"):t||e})),i}(e),i=n.length>0?n[0]:"",r=M("%"+i+"%",t),o=r.name,s=r.value,a=!1,l=r.alias;l&&(i=l[0],E(n,O([0,1],l)));for(var u=1,f=!0;u=n.length){var g=d(s,h);s=(f=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:s[h]}else f=P(s,h),s=s[h];f&&!a&&(j[o]=s)}}return s}},61403:e=>{"use strict";"undefined"!=typeof self?e.exports=self:"undefined"!=typeof window?e.exports=window:e.exports=Function("return this")()},1913:(e,t,n)=>{"use strict";var i=n(67392),r=n(61403),o=n(79958),s=n(74101),a=o(),c=function(){return a};i(c,{getPolyfill:o,implementation:r,shim:s}),e.exports=c},79958:(e,t,n)=>{"use strict";var i=n(61403);e.exports=function(){return"object"==typeof n.g&&n.g&&n.g.Math===Math&&n.g.Array===Array?n.g:i}},74101:(e,t,n)=>{"use strict";var i=n(67392),r=n(79958);e.exports=function(){var e=r();if(i.supportsDescriptors){var t=Object.getOwnPropertyDescriptor(e,"globalThis");t&&(!t.configurable||!t.enumerable&&t.writable&&globalThis===e)||Object.defineProperty(e,"globalThis",{configurable:!0,enumerable:!1,value:e,writable:!0})}else"object"==typeof globalThis&&globalThis===e||(e.globalThis=e);return e}},77502:(e,t,n)=>{"use strict";var i=n(68750)("%Object.getOwnPropertyDescriptor%",!0);if(i)try{i([],"length")}catch(e){i=null}e.exports=i},21365:(e,t,n)=>{"use strict";var i=n(51544),r=function(){return!!i};r.hasArrayLengthDefineBug=function(){if(!i)return null;try{return 1!==i([],"length",{value:1}).length}catch(e){return!0}},e.exports=r},42574:e=>{"use strict";var t={__proto__:null,foo:{}},n=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!(t instanceof n)}},40679:(e,t,n)=>{"use strict";var i="undefined"!=typeof Symbol&&Symbol,r=n(8186);e.exports=function(){return"function"==typeof i&&"function"==typeof Symbol&&"symbol"==typeof i("foo")&&"symbol"==typeof Symbol("bar")&&r()}},8186:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(e,t);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},10698:(e,t,n)=>{"use strict";var i=n(8186);e.exports=function(){return i()&&!!Symbol.toStringTag}},71712:(e,t,n)=>{"use strict";var i=Function.prototype.call,r=Object.prototype.hasOwnProperty,o=n(20132);e.exports=o.call(i,r)},30906:(e,t,n)=>{var i=n(30138);function r(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||r(n)})),e}var o=r,s=r;o.default=s;class a{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function c(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function p(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const l=e=>!!e.kind;class u{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=c(e)}openNode(e){if(!l(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){l(e)&&(this.buffer+="")}value(){return this.buffer}span(e){this.buffer+=``}}class f{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{f._collapse(e)})))}}class d extends f{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new u(this,this.options).value()}finalize(){return!0}}function h(e){return e?"string"==typeof e?e:e.source:null}const m=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,y="[a-zA-Z]\\w*",g="[a-zA-Z_]\\w*",b="\\b\\d+(\\.\\d+)?",v="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",_="\\b(0b[01]+)",j={begin:"\\\\[\\s\\S]",relevance:0},x={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[j]},w={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[j]},$={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},S=function(e,t,n={}){const i=p({className:"comment",begin:e,end:t,contains:[]},n);return i.contains.push($),i.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),i},P=S("//","$"),O=S("/\\*","\\*/"),E=S("#","$"),A={className:"number",begin:b,relevance:0},T={className:"number",begin:v,relevance:0},k={className:"number",begin:_,relevance:0},I={className:"number",begin:b+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},R={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]}]},M={className:"title",begin:y,relevance:0},N={className:"title",begin:g,relevance:0},C={begin:"\\.\\s*"+g,relevance:0};var D=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:y,UNDERSCORE_IDENT_RE:g,NUMBER_RE:b,C_NUMBER_RE:v,BINARY_NUMBER_RE:_,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>h(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),p({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:j,APOS_STRING_MODE:x,QUOTE_STRING_MODE:w,PHRASAL_WORDS_MODE:$,COMMENT:S,C_LINE_COMMENT_MODE:P,C_BLOCK_COMMENT_MODE:O,HASH_COMMENT_MODE:E,NUMBER_MODE:A,C_NUMBER_MODE:T,BINARY_NUMBER_MODE:k,CSS_NUMBER_MODE:I,REGEXP_MODE:R,TITLE_MODE:M,UNDERSCORE_TITLE_MODE:N,METHOD_GUARD:C,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function q(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function F(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=q,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function L(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>h(e))).join("|")+")"}(...e.illegal))}function U(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function V(e,t){void 0===e.relevance&&(e.relevance=1)}const z=["of","and","for","in","not","or","if","then","parent","list","value"],B="keyword";function H(e,t,n=B){const i={};return"string"==typeof e?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach((function(n){Object.assign(i,H(e[n],t,n))})),i;function r(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");i[n[0]]=[e,W(n[0],n[1])]}))}}function W(e,t){return t?Number(t):function(e){return z.includes(e.toLowerCase())}(e)?0:1}function G(e,{plugins:t}){function n(t,n){return new RegExp(h(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class i{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let i=h(e),r="";for(;i.length>0;){const e=m.exec(i);if(!e){r+=i;break}r+=i.substring(0,e.index),i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+String(Number(e[1])+t):(r+=e[0],"("===e[0]&&n++)}return r})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,i)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new i;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=p(e.classNameAliases||{}),function t(i,o){const s=i;if(i.isCompiled)return s;[U].forEach((e=>e(i,o))),e.compilerExtensions.forEach((e=>e(i,o))),i.__beforeBegin=null,[F,L,V].forEach((e=>e(i,o))),i.isCompiled=!0;let a=null;if("object"==typeof i.keywords&&(a=i.keywords.$pattern,delete i.keywords.$pattern),i.keywords&&(i.keywords=H(i.keywords,e.case_insensitive)),i.lexemes&&a)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return a=a||i.lexemes||/\w+/,s.keywordPatternRe=n(a,!0),o&&(i.begin||(i.begin=/\B|\b/),s.beginRe=n(i.begin),i.endSameAsBegin&&(i.end=i.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(s.endRe=n(i.end)),s.terminatorEnd=h(i.end)||"",i.endsWithParent&&o.terminatorEnd&&(s.terminatorEnd+=(i.end?"|":"")+o.terminatorEnd)),i.illegal&&(s.illegalRe=n(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(e){return function(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return p(e,{variants:null},t)}))),e.cachedVariants?e.cachedVariants:K(e)?p(e,{starts:e.starts?p(e.starts):null}):Object.isFrozen(e)?p(e):e}("self"===e?i:e)}))),i.contains.forEach((function(e){t(e,s)})),i.starts&&t(i.starts,o),s.matcher=function(e){const t=new r;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(s),s}(e)}function K(e){return!!e&&(e.endsWithParent||K(e.starts))}function J(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return i.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,c(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Q={"after:highlightElement":({el:e,result:t,text:n})=>{const i=Y(e);if(!i.length)return;const r=document.createElement("div");r.innerHTML=t.value,t.value=function(e,t,n){let i=0,r="";const o=[];function s(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function p(e){r+=""}function l(e){("start"===e.event?a:p)(e.node)}for(;e.length||t.length;){let t=s();if(r+=c(n.substring(i,t[0].offset)),i=t[0].offset,t===e){o.reverse().forEach(p);do{l(t.splice(0,1)[0]),t=s()}while(t===e&&t.length&&t[0].offset===i);o.reverse().forEach(a)}else"start"===t[0].event?o.push(t[0].node):o.pop(),l(t.splice(0,1)[0])}return r+c(n.substr(i))}(i,Y(r),n)}};function Z(e){return e.nodeName.toLowerCase()}function Y(e){const t=[];return function e(n,i){for(let r=n.firstChild;r;r=r.nextSibling)3===r.nodeType?i+=r.nodeValue.length:1===r.nodeType&&(t.push({event:"start",offset:i,node:r}),i=e(r,i),Z(r).match(/br|hr|img|input/)||t.push({event:"stop",offset:i,node:r}));return i}(e,0),t}const X={},ee=e=>{i.error(e)},te=(e,...t)=>{i.log(`WARN: ${e}`,...t)},ne=(e,t)=>{X[`${e}/${t}`]||(i.log(`Deprecated as of ${e}. ${t}`),X[`${e}/${t}`]=!0)},ie=c,re=p,oe=Symbol("nomatch");var se=function(e){const t=Object.create(null),n=Object.create(null),i=[];let r=!0;const s=/(^(<[^>]+>|\t|)+|\n)/gm,c="Could not find the language '{}', did you forget to load/include a language module?",p={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:d};function u(e){return l.noHighlightRe.test(e)}function f(e,t,n,i){let r="",o="";"object"==typeof t?(r=e,n=t.ignoreIllegals,o=t.language,i=void 0):(ne("10.7.0","highlight(lang, code, ...args) has been deprecated."),ne("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,r=t);const s={code:r,language:o};P("before:highlight",s);const a=s.result?s.result:h(s.language,s.code,n,i);return a.code=s.code,P("after:highlight",a),a}function h(e,n,o,s){function p(e,t){const n=_.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){null!=$.subLanguage?function(){if(""===O)return;let e=null;if("string"==typeof $.subLanguage){if(!t[$.subLanguage])return void P.addText(O);e=h($.subLanguage,O,!0,S[$.subLanguage]),S[$.subLanguage]=e.top}else e=m(O,$.subLanguage.length?$.subLanguage:null);$.relevance>0&&(E+=e.relevance),P.addSublanguage(e.emitter,e.language)}():function(){if(!$.keywords)return void P.addText(O);let e=0;$.keywordPatternRe.lastIndex=0;let t=$.keywordPatternRe.exec(O),n="";for(;t;){n+=O.substring(e,t.index);const i=p($,t);if(i){const[e,r]=i;if(P.addText(n),n="",E+=r,e.startsWith("_"))n+=t[0];else{const n=_.classNameAliases[e]||e;P.addKeyword(t[0],n)}}else n+=t[0];e=$.keywordPatternRe.lastIndex,t=$.keywordPatternRe.exec(O)}n+=O.substr(e),P.addText(n)}(),O=""}function f(e){return e.className&&P.openNode(_.classNameAliases[e.className]||e.className),$=Object.create(e,{parent:{value:$}}),$}function d(e,t,n){let i=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(i){if(e["on:end"]){const n=new a(e);e["on:end"](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return d(e.parent,t,n)}function y(e){return 0===$.matcher.regexIndex?(O+=e[0],1):(k=!0,0)}function g(e){const t=e[0],i=n.substr(e.index),r=d($,e,i);if(!r)return oe;const o=$;o.skip?O+=t:(o.returnEnd||o.excludeEnd||(O+=t),u(),o.excludeEnd&&(O=t));do{$.className&&P.closeNode(),$.skip||$.subLanguage||(E+=$.relevance),$=$.parent}while($!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),f(r.starts)),o.returnEnd?0:t.length}let b={};function v(t,i){const s=i&&i[0];if(O+=t,null==s)return u(),0;if("begin"===b.type&&"end"===i.type&&b.index===i.index&&""===s){if(O+=n.slice(i.index,i.index+1),!r){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=b.rule,t}return 1}if(b=i,"begin"===i.type)return function(e){const t=e[0],n=e.rule,i=new a(n),r=[n.__beforeBegin,n["on:begin"]];for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?O+=t:(n.excludeBegin&&(O+=t),u(),n.returnBegin||n.excludeBegin||(O=t)),f(n),n.returnBegin?0:t.length}(i);if("illegal"===i.type&&!o){const e=new Error('Illegal lexeme "'+s+'" for mode "'+($.className||"")+'"');throw e.mode=$,e}if("end"===i.type){const e=g(i);if(e!==oe)return e}if("illegal"===i.type&&""===s)return 1;if(T>1e5&&T>3*i.index)throw new Error("potential infinite loop, way more iterations than matches");return O+=s,s.length}const _=w(e);if(!_)throw ee(c.replace("{}",e)),new Error('Unknown language: "'+e+'"');const j=G(_,{plugins:i});let x="",$=s||j;const S={},P=new l.__emitter(l);!function(){const e=[];for(let t=$;t!==_;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>P.openNode(e)))}();let O="",E=0,A=0,T=0,k=!1;try{for($.matcher.considerAll();;){T++,k?k=!1:$.matcher.considerAll(),$.matcher.lastIndex=A;const e=$.matcher.exec(n);if(!e)break;const t=v(n.substring(A,e.index),e);A=e.index+t}return v(n.substr(A)),P.closeAllNodes(),P.finalize(),x=P.toHTML(),{relevance:Math.floor(E),value:x,language:e,illegal:!1,emitter:P,top:$}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(A-100,A+100),mode:t.mode},sofar:x,relevance:0,value:ie(n),emitter:P};if(r)return{illegal:!1,relevance:0,value:ie(n),emitter:P,language:e,top:$,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const i=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:ie(e),illegal:!1,top:p};return t.emitter.addText(e),t}(e),r=n.filter(w).filter(S).map((t=>h(t,e,!1)));r.unshift(i);const o=r.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(w(e.language).supersetOf===t.language)return 1;if(w(t.language).supersetOf===e.language)return-1}return 0})),[s,a]=o,c=s;return c.second_best=a,c}const y={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"
"))}},g=/^(<[^>]+>|\t)+/gm,b={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(g,(e=>e.replace(/\t/g,l.tabReplace))))}};function v(e){let t=null;const i=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=w(n[1]);return t||(te(c.replace("{}",n[1])),te("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>u(e)||w(e)))}(e);if(u(i))return;P("before:highlightElement",{el:e,language:i}),t=e;const r=t.textContent,o=i?f(r,{language:i,ignoreIllegals:!0}):m(r);P("after:highlightElement",{el:e,result:o,text:r}),e.innerHTML=o.value,function(e,t,i){const r=t?n[t]:i;e.classList.add("hljs"),r&&e.classList.add(r)}(e,i,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const _=()=>{_.called||(_.called=!0,ne("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."),document.querySelectorAll("pre code").forEach(v))};let j=!1;function x(){"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(v):j=!0}function w(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function $(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function S(e){const t=w(e);return t&&!t.disableAutodetect}function P(e,t){const n=e;i.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){j&&x()}),!1),Object.assign(e,{highlight:f,highlightAuto:m,highlightAll:x,fixMarkup:function(e){return ne("10.2.0","fixMarkup will be removed entirely in v11.0"),ne("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),t=e,l.tabReplace||l.useBR?t.replace(s,(e=>"\n"===e?l.useBR?"
":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):t;var t},highlightElement:v,highlightBlock:function(e){return ne("10.7.0","highlightBlock will be removed entirely in v12.0"),ne("10.7.0","Please use highlightElement now."),v(e)},configure:function(e){e.useBR&&(ne("10.3.0","'useBR' will be removed entirely in v11.0"),ne("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=re(l,e)},initHighlighting:_,initHighlightingOnLoad:function(){ne("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),j=!0},registerLanguage:function(n,i){let o=null;try{o=i(e)}catch(e){if(ee("Language definition for '{}' could not be registered.".replace("{}",n)),!r)throw e;ee(e),o=p}o.name||(o.name=n),t[n]=o,o.rawDefinition=i.bind(null,e),o.aliases&&$(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:w,registerAliases:$,requireLanguage:function(e){ne("10.4.0","requireLanguage will be removed entirely in v11."),ne("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=w(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:S,inherit:re,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),i.push(e)},vuePlugin:J(e).VuePlugin}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString="10.7.3";for(const e in D)"object"==typeof D[e]&&o(D[e]);return Object.assign(e,D),e.addPlugin(y),e.addPlugin(Q),e.addPlugin(b),e}({});e.exports=se},35001:e=>{function t(...e){return e.map((e=>{return(t=e)?"string"==typeof t?t:t.source:null;var t})).join("")}e.exports=function(e){const n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(s);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},c=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),p={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[c,e.SHEBANG(),p,a,e.HASH_COMMENT_MODE,o,s,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},n]}}},23506:e=>{e.exports=function(e){const t={literal:"true false null"},n=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],i=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:i,keywords:t},o={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})].concat(n),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return i.push(o,s),n.forEach((function(e){i.push(e)})),{name:"JSON",contains:i,keywords:t,illegal:"\\S"}}},25941:e=>{e.exports=function(e){var t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},r=e.inherit(i,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),o={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},s={begin:/\{/,end:/\}/,contains:[o],illegal:"\\n",relevance:0},a={begin:"\\[",end:"\\]",contains:[o],illegal:"\\n",relevance:0},c=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,a,i],p=[...c];return p.pop(),p.push(r),o.contains=p,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:c}}},78898:(e,t)=>{t.read=function(e,t,n,i,r){var o,s,a=8*r-i-1,c=(1<>1,l=-7,u=n?r-1:0,f=n?-1:1,d=e[t+u];for(u+=f,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=256*o+e[t+u],u+=f,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=i;l>0;s=256*s+e[t+u],u+=f,l-=8);if(0===o)o=1-p;else{if(o===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),o-=p}return(d?-1:1)*s*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var s,a,c,p=8*o-r-1,l=(1<>1,f=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,h=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+u>=1?f/c:f*Math.pow(2,1-u))*c>=2&&(s++,c/=2),s+u>=l?(a=0,s=l):s+u>=1?(a=(t*c-1)*Math.pow(2,r),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;e[n+d]=255&a,d+=h,a/=256,r-=8);for(s=s<0;e[n+d]=255&s,d+=h,s/=256,p-=8);e[n+d-h]|=128*m}},38862:(e,t)=>{function n(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i3?t.t-4:t.t:Array.isArray(e)?1:u(e)?2:f(e)?3:0}function a(e,t){return 2===s(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function c(e,t){return 2===s(e)?e.get(t):e[t]}function p(e,t,n){var i=s(e);2===i?e.set(t,n):3===i?e.add(n):e[t]=n}function l(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function u(e){return z&&e instanceof Map}function f(e){return B&&e instanceof Set}function d(e){return e.i||e.u}function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Y(e);delete t[K];for(var n=Z(t),i=0;i1&&(e.set=e.add=e.clear=e.delete=y),Object.freeze(e),t&&o(e,(function(e,t){return m(t,!0)}),!0)),e}function y(){n(2)}function g(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function b(e){var t=X[e];return t||n(18,e),t}function v(e,t){X[e]||(X[e]=t)}function _(){return U}function j(e,t){t&&(b("Patches"),e.o=[],e.v=[],e.s=t)}function x(e){w(e),e.p.forEach(S),e.p=null}function w(e){e===U&&(U=e.l)}function $(e){return U={p:[],l:U,h:e,_:!0,m:0}}function S(e){var t=e[K];0===t.t||1===t.t?t.j():t.O=!0}function P(e,t){t.m=t.p.length;var i=t.p[0],o=void 0!==e&&e!==i;return t.h.S||b("ES5").P(t,e,o),o?(i[K].g&&(x(t),n(4)),r(e)&&(e=O(t,e),t.l||A(t,e)),t.o&&b("Patches").M(i[K].u,e,t.o,t.v)):e=O(t,i,[]),x(t),t.o&&t.s(t.o,t.v),e!==W?e:void 0}function O(e,t,n){if(g(t))return t;var i=t[K];if(!i)return o(t,(function(r,o){return E(e,i,t,r,o,n)}),!0),t;if(i.A!==e)return t;if(!i.g)return A(e,i.u,!0),i.u;if(!i.R){i.R=!0,i.A.m--;var r=4===i.t||5===i.t?i.i=h(i.k):i.i,s=r,a=!1;3===i.t&&(s=new Set(r),r.clear(),a=!0),o(s,(function(t,o){return E(e,i,r,t,o,n,a)})),A(e,r,!1),n&&e.o&&b("Patches").F(i,n,e.o,e.v)}return i.i}function E(e,t,n,o,s,c,l){if(i(s)){var u=O(e,s,c&&t&&3!==t.t&&!a(t.N,o)?c.concat(o):void 0);if(p(n,o,u),!i(u))return;e._=!1}else l&&n.add(s);if(r(s)&&!g(s)){if(!e.h.D&&e.m<1)return;O(e,s),t&&t.A.l||A(e,s)}}function A(e,t,n){void 0===n&&(n=!1),!e.l&&e.h.D&&e._&&m(t,n)}function T(e,t){var n=e[K];return(n?d(n):e)[t]}function k(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var i=Object.getOwnPropertyDescriptor(n,t);if(i)return i;n=Object.getPrototypeOf(n)}}function I(e){e.g||(e.g=!0,e.l&&I(e.l))}function R(e){e.i||(e.i=h(e.u))}function M(e,t,n){var i=u(t)?b("MapSet").K(t,n):f(t)?b("MapSet").$(t,n):e.S?function(e,t){var n=Array.isArray(e),i={t:n?1:0,A:t?t.A:_(),g:!1,R:!1,N:{},l:t,u:e,k:null,i:null,j:null,C:!1},r=i,o=ee;n&&(r=[i],o=te);var s=Proxy.revocable(r,o),a=s.revoke,c=s.proxy;return i.k=c,i.j=a,c}(t,n):b("ES5").I(t,n);return(n?n.A:_()).p.push(i),i}function N(e){return i(e)||n(22,e),function e(t){if(!r(t))return t;var n,i=t[K],a=s(t);if(i){if(!i.g&&(i.t<4||!b("ES5").J(i)))return i.u;i.R=!0,n=C(t,a),i.R=!1}else n=C(t,a);return o(n,(function(t,r){i&&c(i.u,t)===r||p(n,t,e(r))})),3===a?new Set(n):n}(e)}function C(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return h(e)}function D(){function e(e,t){var n=s[e];return n?n.enumerable=t:s[e]=n={configurable:!0,enumerable:t,get:function(){return ee.get(this[K],e)},set:function(t){ee.set(this[K],e,t)}},n}function t(e){for(var t=e.length-1;t>=0;t--){var i=e[t][K];if(!i.g)switch(i.t){case 5:r(i)&&I(i);break;case 4:n(i)&&I(i)}}}function n(e){for(var t=e.u,n=e.k,i=Z(n),r=i.length-1;r>=0;r--){var o=i[r];if(o!==K){var s=t[o];if(void 0===s&&!a(t,o))return!0;var c=n[o],p=c&&c[K];if(p?p.u!==s:!l(c,s))return!0}}var u=!!t[K];return i.length!==Z(t).length+(u?0:1)}function r(e){var t=e.k;if(t.length!==e.u.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);if(n&&!n.get)return!0;for(var i=0;i1?n-1:0),o=1;o1?i-1:0),o=1;o=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));var o=b("Patches").W;return i(e)?o(e,t):this.produce(e,(function(e){return o(e,t)}))},e}(),ie=new ne,re=ie.produce,oe=ie.produceWithPatches.bind(ie),se=ie.setAutoFreeze.bind(ie),ae=ie.setUseProxies.bind(ie),ce=ie.applyPatches.bind(ie),pe=ie.createDraft.bind(ie),le=ie.finishDraft.bind(ie);t.Immer=ne,t.applyPatches=ce,t.castDraft=function(e){return e},t.castImmutable=function(e){return e},t.createDraft=pe,t.current=N,t.default=re,t.enableAllPlugins=function(){D(),F(),q()},t.enableES5=D,t.enableMapSet=F,t.enablePatches=q,t.finishDraft=le,t.freeze=m,t.immerable=G,t.isDraft=i,t.isDraftable=r,t.nothing=W,t.original=function(e){return i(e)||n(23,e),e[K].u},t.produce=re,t.produceWithPatches=oe,t.setAutoFreeze=se,t.setUseProxies=ae},33037:(e,t,n)=>{"use strict";e.exports=n(38862)},70087:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},22524:(e,t,n)=>{"use strict";var i=n(71712),r=n(95337)(),o=n(31805),s={assert:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");if(r.assert(e),!s.has(e,t))throw new o("`"+t+"` is not present on `O`")},get:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");var n=r.get(e);return n&&n["$"+t]},has:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");var n=r.get(e);return!!n&&i(n,"$"+t)},set:function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");var i=r.get(e);i||(i={},r.set(e,i)),i["$"+t]=n}};Object.freeze&&Object.freeze(s),e.exports=s},47740:(e,t,n)=>{"use strict";var i=n(10698)(),r=n(12737)("Object.prototype.toString"),o=function(e){return!(i&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===r(e)},s=function(e){return!!o(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==r(e)&&"[object Function]"===r(e.callee)},a=function(){return o(arguments)}();o.isLegacyArguments=s,e.exports=a?o:s},72922:e=>{"use strict";var t,n,i=Function.prototype.toString,r="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof r&&"function"==typeof Object.defineProperty)try{t=Object.defineProperty({},"length",{get:function(){throw n}}),n={},r((function(){throw 42}),null,t)}catch(e){e!==n&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=i.call(e);return o.test(t)}catch(e){return!1}},a=function(e){try{return!s(e)&&(i.call(e),!0)}catch(e){return!1}},c=Object.prototype.toString,p="function"==typeof Symbol&&!!Symbol.toStringTag,l=!(0 in[,]),u=function(){return!1};if("object"==typeof document){var f=document.all;c.call(f)===c.call(document.all)&&(u=function(e){if((l||!e)&&(void 0===e||"object"==typeof e))try{var t=c.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=r?function(e){if(u(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{r(e,null,t)}catch(e){if(e!==n)return!1}return!s(e)&&a(e)}:function(e){if(u(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(p)return a(e);if(s(e))return!1;var t=c.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&a(e)}},18265:(e,t,n)=>{"use strict";var i,r=Object.prototype.toString,o=Function.prototype.toString,s=/^\s*(?:function)?\*/,a=n(10698)(),c=Object.getPrototypeOf;e.exports=function(e){if("function"!=typeof e)return!1;if(s.test(o.call(e)))return!0;if(!a)return"[object GeneratorFunction]"===r.call(e);if(!c)return!1;if(void 0===i){var t=function(){if(!a)return!1;try{return Function("return function*() {}")()}catch(e){}}();i=!!t&&c(t)}return c(e)===i}},44127:e=>{"use strict";e.exports=function(e){return e!=e}},74866:(e,t,n)=>{"use strict";var i=n(34573),r=n(67392),o=n(44127),s=n(40850),a=n(88045),c=i(s(),Number);r(c,{getPolyfill:s,implementation:o,shim:a}),e.exports=c},40850:(e,t,n)=>{"use strict";var i=n(44127);e.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:i}},88045:(e,t,n)=>{"use strict";var i=n(67392),r=n(40850);e.exports=function(){var e=r();return i(Number,{isNaN:e},{isNaN:function(){return Number.isNaN!==e}}),e}},38559:(e,t,n)=>{"use strict";var i=String.prototype.valueOf,r=Object.prototype.toString,o=n(10698)();e.exports=function(e){return"string"==typeof e||"object"==typeof e&&(o?function(e){try{return i.call(e),!0}catch(e){return!1}}(e):"[object String]"===r.call(e))}},50387:(e,t,n)=>{"use strict";var i=n(52505);e.exports=function(e){return!!i(e)}},27650:(e,t,n)=>{e.exports=window.DOMPurify||(window.DOMPurify=n(31699).default||n(31699))},96628:(e,t,n)=>{"use strict";var i=n(98372);function r(e,t,n){if(3===arguments.length)return r.set(e,t,n);if(2===arguments.length)return r.get(e,t);var i=r.bind(r,e);for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o].bind(i,e));return i}e.exports=r,r.get=function(e,t){for(var n=Array.isArray(t)?t:r.parse(t),i=0;i{"use strict";var t=e.exports=function(e,t,i){"function"==typeof t&&(i=t,t={}),n(t,"function"==typeof(i=t.cb||i)?i:i.pre||function(){},i.post||function(){},e,"",e)};function n(e,i,r,o,s,a,c,p,l,u){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in i(o,s,a,c,p,l,u),o){var d=o[f];if(Array.isArray(d)){if(f in t.arrayKeywords)for(var h=0;h{var n=/~/,i=/~[01]/g;function r(e){switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Invalid tilde escape: "+e)}function o(e){return n.test(e)?e.replace(i,r):e}function s(e){if("string"==typeof e){if(""===(e=e.split("/"))[0])return e;throw new Error("Invalid JSON pointer.")}if(Array.isArray(e)){for(const t of e)if("string"!=typeof t&&"number"!=typeof t)throw new Error("Invalid JSON pointer. Must be of type string or number.");return e}throw new Error("Invalid JSON pointer.")}function a(e,t){if("object"!=typeof e)throw new Error("Invalid input object.");var n=(t=s(t)).length;if(1===n)return e;for(var i=1;is,void 0===e[i]&&(Array.isArray(e)&&"-"===i&&(i=e.length),r&&(""!==t[s]&&t[s]<1/0||"-"===t[s]?e[i]=[]:e[i]={})),!r)break;e=e[i]}var c=e[i];return void 0===n?delete e[i]:e[i]=n,c}(e,t,n)}t.get=a,t.set=c,t.compile=function(e){var t=s(e);return{get:function(e){return a(e,t)},set:function(e,n){return c(e,t,n)}}}},33078:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let o=e.length,s=i.length;for(;o>0&&e.charCodeAt(~-o)===i.charCodeAt(~-s);)o--,s--;let a,c,p,l,u=0;for(;uc?l>c?c+1:l:l>p?p+1:l;return c};e.exports=i,e.exports.default=i},10915:(e,t,n)=>{var i,r="__lodash_hash_undefined__",o="[object Function]",s="[object GeneratorFunction]",a="[object Symbol]",c=/^\./,p=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/\\(\\)?/g,u=/^\[object .+?Constructor\]$/,f="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,d="object"==typeof self&&self&&self.Object===Object&&self,h=f||d||Function("return this")(),m=Array.prototype,y=Function.prototype,g=Object.prototype,b=h["__core-js_shared__"],v=(i=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",_=y.toString,j=g.hasOwnProperty,x=g.toString,w=RegExp("^"+_.call(j).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$=h.Symbol,S=m.splice,P=N(h,"Map"),O=N(Object,"create"),E=$?$.prototype:void 0,A=E?E.toString:void 0;function T(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},k.prototype.set=function(e,t){var n=this.__data__,i=R(n,e);return i<0?n.push([e,t]):n[i][1]=t,this},I.prototype.clear=function(){this.__data__={hash:new T,map:new(P||k),string:new T}},I.prototype.delete=function(e){return M(this,e).delete(e)},I.prototype.get=function(e){return M(this,e).get(e)},I.prototype.has=function(e){return M(this,e).has(e)},I.prototype.set=function(e,t){return M(this,e).set(e,t),this};var C=q((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(U(e))return A?A.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return c.test(e)&&n.push(""),e.replace(p,(function(e,t,i,r){n.push(i?r.replace(l,"$1"):t||e)})),n}));function D(e){if("string"==typeof e||U(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function q(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s),s};return n.cache=new(q.Cache||I),n}q.Cache=I;var F=Array.isArray;function L(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function U(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&x.call(e)==a}e.exports=function(e){return F(e)?function(e,t){for(var n=-1,i=e?e.length:0,r=Array(i);++n{var i=n(57753),r=n(82452),o=n(22115),s=n(38256),a=n(67426);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var i=n(69417),r=n(72470),o=n(66165),s=n(71873),a=n(52556);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var i=n(81822)(n(77400),"Map");e.exports=i},74554:(e,t,n)=>{var i=n(39448),r=n(7738),o=n(66575),s=n(7238),a=n(38738);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var i=n(77400).Symbol;e.exports=i},66070:e=>{e.exports=function(e,t){for(var n=-1,i=null==e?0:e.length,r=Array(i);++n{var i=n(88799),r=n(85638),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var s=e[t];o.call(e,t)&&r(s,n)&&(void 0!==n||t in e)||i(e,t,n)}},93382:(e,t,n)=>{var i=n(85638);e.exports=function(e,t){for(var n=e.length;n--;)if(i(e[n][0],t))return n;return-1}},88799:(e,t,n)=>{var i=n(42630);e.exports=function(e,t,n){"__proto__"==t&&i?i(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},79867:(e,t,n)=>{var i=n(76747),r=n(37948);e.exports=function(e,t){for(var n=0,o=(t=i(t,e)).length;null!=e&&n{var i=n(96539),r=n(34840),o=n(21258),s=i?i.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?r(e):o(e)}},46729:(e,t,n)=>{var i=n(28338),r=n(99678),o=n(11611),s=n(76532),a=/^\[object .+?Constructor\]$/,c=Function.prototype,p=Object.prototype,l=c.toString,u=p.hasOwnProperty,f=RegExp("^"+l.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||r(e))&&(i(e)?f:a).test(s(e))}},78859:(e,t,n)=>{var i=n(71928),r=n(76747),o=n(42383),s=n(11611),a=n(37948);e.exports=function(e,t,n,c){if(!s(e))return e;for(var p=-1,l=(t=r(t,e)).length,u=l-1,f=e;null!=f&&++p{var i=n(96539),r=n(66070),o=n(19785),s=n(55193),a=i?i.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return r(t,e)+"";if(s(t))return c?c.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},76747:(e,t,n)=>{var i=n(19785),r=n(40318),o=n(23419),s=n(65567);e.exports=function(e,t){return i(e)?e:r(e,t)?[e]:o(s(e))}},64937:(e,t,n)=>{var i=n(77400)["__core-js_shared__"];e.exports=i},42630:(e,t,n)=>{var i=n(81822),r=function(){try{var e=i(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=r},39120:(e,t,n)=>{var i="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=i},95899:(e,t,n)=>{var i=n(54479);e.exports=function(e,t){var n=e.__data__;return i(t)?n["string"==typeof t?"string":"hash"]:n.map}},81822:(e,t,n)=>{var i=n(46729),r=n(15371);e.exports=function(e,t){var n=r(e,t);return i(n)?n:void 0}},34840:(e,t,n)=>{var i=n(96539),r=Object.prototype,o=r.hasOwnProperty,s=r.toString,a=i?i.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),n=e[a];try{e[a]=void 0;var i=!0}catch(e){}var r=s.call(e);return i&&(t?e[a]=n:delete e[a]),r}},15371:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},57753:(e,t,n)=>{var i=n(35718);e.exports=function(){this.__data__=i?i(null):{},this.size=0}},82452:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},22115:(e,t,n)=>{var i=n(35718),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(i){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return r.call(t,e)?t[e]:void 0}},38256:(e,t,n)=>{var i=n(35718),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return i?void 0!==t[e]:r.call(t,e)}},67426:(e,t,n)=>{var i=n(35718);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=i&&void 0===t?"__lodash_hash_undefined__":t,this}},42383:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var i=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==i||"symbol"!=i&&t.test(e))&&e>-1&&e%1==0&&e{var i=n(19785),r=n(55193),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(i(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!r(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}},54479:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},99678:(e,t,n)=>{var i,r=n(64937),o=(i=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"";e.exports=function(e){return!!o&&o in e}},69417:e=>{e.exports=function(){this.__data__=[],this.size=0}},72470:(e,t,n)=>{var i=n(93382),r=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=i(t,e);return!(n<0||(n==t.length-1?t.pop():r.call(t,n,1),--this.size,0))}},66165:(e,t,n)=>{var i=n(93382);e.exports=function(e){var t=this.__data__,n=i(t,e);return n<0?void 0:t[n][1]}},71873:(e,t,n)=>{var i=n(93382);e.exports=function(e){return i(this.__data__,e)>-1}},52556:(e,t,n)=>{var i=n(93382);e.exports=function(e,t){var n=this.__data__,r=i(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}},39448:(e,t,n)=>{var i=n(96586),r=n(36301),o=n(44538);e.exports=function(){this.size=0,this.__data__={hash:new i,map:new(o||r),string:new i}}},7738:(e,t,n)=>{var i=n(95899);e.exports=function(e){var t=i(this,e).delete(e);return this.size-=t?1:0,t}},66575:(e,t,n)=>{var i=n(95899);e.exports=function(e){return i(this,e).get(e)}},7238:(e,t,n)=>{var i=n(95899);e.exports=function(e){return i(this,e).has(e)}},38738:(e,t,n)=>{var i=n(95899);e.exports=function(e,t){var n=i(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}},2941:(e,t,n)=>{var i=n(16651);e.exports=function(e){var t=i(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},35718:(e,t,n)=>{var i=n(81822)(Object,"create");e.exports=i},21258:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},77400:(e,t,n)=>{var i=n(39120),r="object"==typeof self&&self&&self.Object===Object&&self,o=i||r||Function("return this")();e.exports=o},23419:(e,t,n)=>{var i=n(2941),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,s=i((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r,(function(e,n,i,r){t.push(i?r.replace(o,"$1"):n||e)})),t}));e.exports=s},37948:(e,t,n)=>{var i=n(55193);e.exports=function(e){if("string"==typeof e||i(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},76532:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},85638:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},99729:(e,t,n)=>{var i=n(79867);e.exports=function(e,t,n){var r=null==e?void 0:i(e,t);return void 0===r?n:r}},19785:e=>{var t=Array.isArray;e.exports=t},28338:(e,t,n)=>{var i=n(99736),r=n(11611);e.exports=function(e){if(!r(e))return!1;var t=i(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},11611:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},92360:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},55193:(e,t,n)=>{var i=n(99736),r=n(92360);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==i(e)}},98784:function(e,t,n){var i;e=n.nmd(e),function(){var r,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",c=32,p=128,l=1/0,u=9007199254740991,f=NaN,d=4294967295,h=[["ary",p],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],m="[object Arguments]",y="[object Array]",g="[object Boolean]",b="[object Date]",v="[object Error]",_="[object Function]",j="[object GeneratorFunction]",x="[object Map]",w="[object Number]",$="[object Object]",S="[object Promise]",P="[object RegExp]",O="[object Set]",E="[object String]",A="[object Symbol]",T="[object WeakMap]",k="[object ArrayBuffer]",I="[object DataView]",R="[object Float32Array]",M="[object Float64Array]",N="[object Int8Array]",C="[object Int16Array]",D="[object Int32Array]",q="[object Uint8Array]",F="[object Uint8ClampedArray]",L="[object Uint16Array]",U="[object Uint32Array]",V=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,B=/(__e\(.*?\)|\b__t\)) \+\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,W=/[&<>"']/g,G=RegExp(H.source),K=RegExp(W.source),J=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,Y=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),ie=/^\s+/,re=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,ce=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pe=/[()=,{}\[\]\/\s]/,le=/\\(\\)?/g,ue=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,de=/^[-+]0x[0-9a-f]+$/i,he=/^0b[01]+$/i,me=/^\[object .+?Constructor\]$/,ye=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,be=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ve=/($^)/,_e=/['\n\r\u2028\u2029\\]/g,je="\\ud800-\\udfff",xe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",$e="a-z\\xdf-\\xf6\\xf8-\\xff",Se="A-Z\\xc0-\\xd6\\xd8-\\xde",Pe="\\ufe0e\\ufe0f",Oe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ee="["+je+"]",Ae="["+Oe+"]",Te="["+xe+"]",ke="\\d+",Ie="["+we+"]",Re="["+$e+"]",Me="[^"+je+Oe+ke+we+$e+Se+"]",Ne="\\ud83c[\\udffb-\\udfff]",Ce="[^"+je+"]",De="(?:\\ud83c[\\udde6-\\uddff]){2}",qe="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Se+"]",Le="\\u200d",Ue="(?:"+Re+"|"+Me+")",Ve="(?:"+Fe+"|"+Me+")",ze="(?:['’](?:d|ll|m|re|s|t|ve))?",Be="(?:['’](?:D|LL|M|RE|S|T|VE))?",He="(?:"+Te+"|"+Ne+")?",We="["+Pe+"]?",Ge=We+He+"(?:"+Le+"(?:"+[Ce,De,qe].join("|")+")"+We+He+")*",Ke="(?:"+[Ie,De,qe].join("|")+")"+Ge,Je="(?:"+[Ce+Te+"?",Te,De,qe,Ee].join("|")+")",Qe=RegExp("['’]","g"),Ze=RegExp(Te,"g"),Ye=RegExp(Ne+"(?="+Ne+")|"+Je+Ge,"g"),Xe=RegExp([Fe+"?"+Re+"+"+ze+"(?="+[Ae,Fe,"$"].join("|")+")",Ve+"+"+Be+"(?="+[Ae,Fe+Ue,"$"].join("|")+")",Fe+"?"+Ue+"+"+ze,Fe+"+"+Be,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ke,Ke].join("|"),"g"),et=RegExp("["+Le+je+xe+Pe+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],it=-1,rt={};rt[R]=rt[M]=rt[N]=rt[C]=rt[D]=rt[q]=rt[F]=rt[L]=rt[U]=!0,rt[m]=rt[y]=rt[k]=rt[g]=rt[I]=rt[b]=rt[v]=rt[_]=rt[x]=rt[w]=rt[$]=rt[P]=rt[O]=rt[E]=rt[T]=!1;var ot={};ot[m]=ot[y]=ot[k]=ot[I]=ot[g]=ot[b]=ot[R]=ot[M]=ot[N]=ot[C]=ot[D]=ot[x]=ot[w]=ot[$]=ot[P]=ot[O]=ot[E]=ot[A]=ot[q]=ot[F]=ot[L]=ot[U]=!0,ot[v]=ot[_]=ot[T]=!1;var st={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},at=parseFloat,ct=parseInt,pt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,lt="object"==typeof self&&self&&self.Object===Object&&self,ut=pt||lt||Function("return this")(),ft=t&&!t.nodeType&&t,dt=ft&&e&&!e.nodeType&&e,ht=dt&&dt.exports===ft,mt=ht&&pt.process,yt=function(){try{return dt&&dt.require&&dt.require("util").types||mt&&mt.binding&&mt.binding("util")}catch(e){}}(),gt=yt&&yt.isArrayBuffer,bt=yt&&yt.isDate,vt=yt&&yt.isMap,_t=yt&&yt.isRegExp,jt=yt&&yt.isSet,xt=yt&&yt.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function $t(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Tt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function Xt(e,t){for(var n=e.length;n--&&Ft(t,e[n],0)>-1;);return n}var en=Bt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Bt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+st[e]}function rn(e){return et.test(e)}function on(e){var t=-1,n=Array(e.size);return e.forEach((function(e,i){n[++t]=[i,e]})),n}function sn(e,t){return function(n){return e(t(n))}}function an(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"}),hn=function e(t){var n,i=(t=null==t?ut:hn.defaults(ut.Object(),t,hn.pick(ut,nt))).Array,re=t.Date,je=t.Error,xe=t.Function,we=t.Math,$e=t.Object,Se=t.RegExp,Pe=t.String,Oe=t.TypeError,Ee=i.prototype,Ae=xe.prototype,Te=$e.prototype,ke=t["__core-js_shared__"],Ie=Ae.toString,Re=Te.hasOwnProperty,Me=0,Ne=(n=/[^.]+$/.exec(ke&&ke.keys&&ke.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ce=Te.toString,De=Ie.call($e),qe=ut._,Fe=Se("^"+Ie.call(Re).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Le=ht?t.Buffer:r,Ue=t.Symbol,Ve=t.Uint8Array,ze=Le?Le.allocUnsafe:r,Be=sn($e.getPrototypeOf,$e),He=$e.create,We=Te.propertyIsEnumerable,Ge=Ee.splice,Ke=Ue?Ue.isConcatSpreadable:r,Je=Ue?Ue.iterator:r,Ye=Ue?Ue.toStringTag:r,et=function(){try{var e=co($e,"defineProperty");return e({},"",{}),e}catch(e){}}(),st=t.clearTimeout!==ut.clearTimeout&&t.clearTimeout,pt=re&&re.now!==ut.Date.now&&re.now,lt=t.setTimeout!==ut.setTimeout&&t.setTimeout,ft=we.ceil,dt=we.floor,mt=$e.getOwnPropertySymbols,yt=Le?Le.isBuffer:r,Ct=t.isFinite,Bt=Ee.join,mn=sn($e.keys,$e),yn=we.max,gn=we.min,bn=re.now,vn=t.parseInt,_n=we.random,jn=Ee.reverse,xn=co(t,"DataView"),wn=co(t,"Map"),$n=co(t,"Promise"),Sn=co(t,"Set"),Pn=co(t,"WeakMap"),On=co($e,"create"),En=Pn&&new Pn,An={},Tn=Do(xn),kn=Do(wn),In=Do($n),Rn=Do(Sn),Mn=Do(Pn),Nn=Ue?Ue.prototype:r,Cn=Nn?Nn.valueOf:r,Dn=Nn?Nn.toString:r;function qn(e){if(ea(e)&&!zs(e)&&!(e instanceof Vn)){if(e instanceof Un)return e;if(Re.call(e,"__wrapped__"))return qo(e)}return new Un(e)}var Fn=function(){function e(){}return function(t){if(!Xs(t))return{};if(He)return He(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function Ln(){}function Un(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function si(e,t,n,i,o,s){var a,c=1&t,p=2&t,l=4&t;if(n&&(a=o?n(e,i,o,s):n(e)),a!==r)return a;if(!Xs(e))return e;var u=zs(e);if(u){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Re.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!c)return Pr(e,a)}else{var f=uo(e),d=f==_||f==j;if(Gs(e))return _r(e,c);if(f==$||f==m||d&&!o){if(a=p||d?{}:ho(e),!c)return p?function(e,t){return Or(e,lo(e),t)}(e,function(e,t){return e&&Or(t,ka(t),e)}(a,e)):function(e,t){return Or(e,po(e),t)}(e,ni(a,e))}else{if(!ot[f])return o?e:{};a=function(e,t,n){var i,r=e.constructor;switch(t){case k:return jr(e);case g:case b:return new r(+e);case I:return function(e,t){var n=t?jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case R:case M:case N:case C:case D:case q:case F:case L:case U:return xr(e,n);case x:return new r;case w:case E:return new r(e);case P:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return new r;case A:return i=e,Cn?$e(Cn.call(i)):{}}}(e,f,c)}}s||(s=new Gn);var h=s.get(e);if(h)return h;s.set(e,a),oa(e)?e.forEach((function(i){a.add(si(i,t,n,i,e,s))})):ta(e)&&e.forEach((function(i,r){a.set(r,si(i,t,n,r,e,s))}));var y=u?r:(l?p?to:eo:p?ka:Ta)(e);return St(y||e,(function(i,r){y&&(i=e[r=i]),Xn(a,r,si(i,t,n,r,e,s))})),a}function ai(e,t,n){var i=n.length;if(null==e)return!i;for(e=$e(e);i--;){var o=n[i],s=t[o],a=e[o];if(a===r&&!(o in e)||!s(a))return!1}return!0}function ci(e,t,n){if("function"!=typeof e)throw new Oe(o);return Eo((function(){e.apply(r,n)}),t)}function pi(e,t,n,i){var r=-1,o=At,s=!0,a=e.length,c=[],p=t.length;if(!a)return c;n&&(t=kt(t,Jt(n))),i?(o=Tt,s=!1):t.length>=200&&(o=Zt,s=!1,t=new Wn(t));e:for(;++r-1},Bn.prototype.set=function(e,t){var n=this.__data__,i=ei(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Bn),string:new zn}},Hn.prototype.delete=function(e){var t=so(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return so(this,e).get(e)},Hn.prototype.has=function(e){return so(this,e).has(e)},Hn.prototype.set=function(e,t){var n=so(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},Wn.prototype.add=Wn.prototype.push=function(e){return this.__data__.set(e,s),this},Wn.prototype.has=function(e){return this.__data__.has(e)},Gn.prototype.clear=function(){this.__data__=new Bn,this.size=0},Gn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Gn.prototype.get=function(e){return this.__data__.get(e)},Gn.prototype.has=function(e){return this.__data__.has(e)},Gn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Bn){var i=n.__data__;if(!wn||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(e,t),this.size=n.size,this};var li=Tr(bi),ui=Tr(vi,!0);function fi(e,t){var n=!0;return li(e,(function(e,i,r){return n=!!t(e,i,r)})),n}function di(e,t,n){for(var i=-1,o=e.length;++i0&&n(a)?t>1?mi(a,t-1,n,i,r):It(r,a):i||(r[r.length]=a)}return r}var yi=kr(),gi=kr(!0);function bi(e,t){return e&&yi(e,t,Ta)}function vi(e,t){return e&&gi(e,t,Ta)}function _i(e,t){return Et(t,(function(t){return Qs(e[t])}))}function ji(e,t){for(var n=0,i=(t=yr(t,e)).length;null!=e&&nt}function Si(e,t){return null!=e&&Re.call(e,t)}function Pi(e,t){return null!=e&&t in $e(e)}function Oi(e,t,n){for(var o=n?Tt:At,s=e[0].length,a=e.length,c=a,p=i(a),l=1/0,u=[];c--;){var f=e[c];c&&t&&(f=kt(f,Jt(t))),l=gn(f.length,l),p[c]=!n&&(t||s>=120&&f.length>=120)?new Wn(c&&f):r}f=e[0];var d=-1,h=p[0];e:for(;++d=a?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)}));i--;)e[i]=e[i].value;return e}(r)}function Vi(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)a!==e&&Ge.call(a,c,1),Ge.call(e,c,1);return e}function Bi(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;yo(r)?Ge.call(e,r,1):cr(e,r)}}return e}function Hi(e,t){return e+dt(_n()*(t-e+1))}function Wi(e,t){var n="";if(!e||t<1||t>u)return n;do{t%2&&(n+=e),(t=dt(t/2))&&(e+=e)}while(t);return n}function Gi(e,t){return Ao($o(e,t,nc),e+"")}function Ki(e){return Jn(Fa(e))}function Ji(e,t){var n=Fa(e);return Io(n,oi(t,0,n.length))}function Qi(e,t,n,i){if(!Xs(e))return e;for(var o=-1,s=(t=yr(t,e)).length,a=s-1,c=e;null!=c&&++oo?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=i(o);++r>>1,s=e[o];null!==s&&!aa(s)&&(n?s<=t:s=200){var p=t?null:Wr(e);if(p)return cn(p);s=!1,r=Zt,c=new Wn}else c=t?[]:a;e:for(;++i=i?e:er(e,t,n)}var vr=st||function(e){return ut.clearTimeout(e)};function _r(e,t){if(t)return e.slice();var n=e.length,i=ze?ze(n):new e.constructor(n);return e.copy(i),i}function jr(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function xr(e,t){var n=t?jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var n=e!==r,i=null===e,o=e==e,s=aa(e),a=t!==r,c=null===t,p=t==t,l=aa(t);if(!c&&!l&&!s&&e>t||s&&a&&p&&!c&&!l||i&&a&&p||!n&&p||!o)return 1;if(!i&&!s&&!l&&e1?n[o-1]:r,a=o>2?n[2]:r;for(s=e.length>3&&"function"==typeof s?(o--,s):r,a&&go(n[0],n[1],a)&&(s=o<3?r:s,o=1),t=$e(t);++i-1?o[s?t[a]:a]:r}}function Cr(e){return Xr((function(t){var n=t.length,i=n,s=Un.prototype.thru;for(e&&t.reverse();i--;){var a=t[i];if("function"!=typeof a)throw new Oe(o);if(s&&!c&&"wrapper"==io(a))var c=new Un([],!0)}for(i=c?i:n;++i1&&_.reverse(),d&&uc))return!1;var l=s.get(e),u=s.get(t);if(l&&u)return l==t&&u==e;var f=-1,d=!0,h=2&n?new Wn:r;for(s.set(e,t),s.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return St(h,(function(n){var i="_."+n[0];t&n[1]&&!At(e,i)&&e.push(i)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(i),n)))}function ko(e){var t=0,n=0;return function(){var i=bn(),o=16-(i-n);if(n=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Io(e,t){var n=-1,i=e.length,o=i-1;for(t=t===r?i:t;++n1?e[t-1]:r;return n="function"==typeof n?(e.pop(),n):r,rs(e,n)}));function us(e){var t=qn(e);return t.__chain__=!0,t}function fs(e,t){return t(e)}var ds=Xr((function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,o=function(t){return ri(t,e)};return!(t>1||this.__actions__.length)&&i instanceof Vn&&yo(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:fs,args:[o],thisArg:r}),new Un(i,this.__chain__).thru((function(e){return t&&!e.length&&e.push(r),e}))):this.thru(o)})),hs=Er((function(e,t,n){Re.call(e,n)?++e[n]:ii(e,n,1)})),ms=Nr(Vo),ys=Nr(zo);function gs(e,t){return(zs(e)?St:li)(e,oo(t,3))}function bs(e,t){return(zs(e)?Pt:ui)(e,oo(t,3))}var vs=Er((function(e,t,n){Re.call(e,n)?e[n].push(t):ii(e,n,[t])})),_s=Gi((function(e,t,n){var r=-1,o="function"==typeof t,s=Hs(e)?i(e.length):[];return li(e,(function(e){s[++r]=o?wt(t,e,n):Ei(e,t,n)})),s})),js=Er((function(e,t,n){ii(e,n,t)}));function xs(e,t){return(zs(e)?kt:Ci)(e,oo(t,3))}var ws=Er((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),$s=Gi((function(e,t){if(null==e)return[];var n=t.length;return n>1&&go(e,t[0],t[1])?t=[]:n>2&&go(t[0],t[1],t[2])&&(t=[t[0]]),Ui(e,mi(t,1),[])})),Ss=pt||function(){return ut.Date.now()};function Ps(e,t,n){return t=n?r:t,t=e&&null==t?e.length:t,Kr(e,p,r,r,r,r,t)}function Os(e,t){var n;if("function"!=typeof t)throw new Oe(o);return e=da(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Es=Gi((function(e,t,n){var i=1;if(n.length){var r=an(n,ro(Es));i|=c}return Kr(e,i,t,n,r)})),As=Gi((function(e,t,n){var i=3;if(n.length){var r=an(n,ro(As));i|=c}return Kr(t,i,e,n,r)}));function Ts(e,t,n){var i,s,a,c,p,l,u=0,f=!1,d=!1,h=!0;if("function"!=typeof e)throw new Oe(o);function m(t){var n=i,o=s;return i=s=r,u=t,c=e.apply(o,n)}function y(e){var n=e-l;return l===r||n>=t||n<0||d&&e-u>=a}function g(){var e=Ss();if(y(e))return b(e);p=Eo(g,function(e){var n=t-(e-l);return d?gn(n,a-(e-u)):n}(e))}function b(e){return p=r,h&&i?m(e):(i=s=r,c)}function v(){var e=Ss(),n=y(e);if(i=arguments,s=this,l=e,n){if(p===r)return function(e){return u=e,p=Eo(g,t),f?m(e):c}(l);if(d)return vr(p),p=Eo(g,t),m(l)}return p===r&&(p=Eo(g,t)),c}return t=ma(t)||0,Xs(n)&&(f=!!n.leading,a=(d="maxWait"in n)?yn(ma(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),v.cancel=function(){p!==r&&vr(p),u=0,i=l=s=p=r},v.flush=function(){return p===r?c:b(Ss())},v}var ks=Gi((function(e,t){return ci(e,1,t)})),Is=Gi((function(e,t,n){return ci(e,ma(t)||0,n)}));function Rs(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Oe(o);var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s)||o,s};return n.cache=new(Rs.Cache||Hn),n}function Ms(e){if("function"!=typeof e)throw new Oe(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Rs.Cache=Hn;var Ns=gr((function(e,t){var n=(t=1==t.length&&zs(t[0])?kt(t[0],Jt(oo())):kt(mi(t,1),Jt(oo()))).length;return Gi((function(i){for(var r=-1,o=gn(i.length,n);++r=t})),Vs=Ai(function(){return arguments}())?Ai:function(e){return ea(e)&&Re.call(e,"callee")&&!We.call(e,"callee")},zs=i.isArray,Bs=gt?Jt(gt):function(e){return ea(e)&&wi(e)==k};function Hs(e){return null!=e&&Ys(e.length)&&!Qs(e)}function Ws(e){return ea(e)&&Hs(e)}var Gs=yt||mc,Ks=bt?Jt(bt):function(e){return ea(e)&&wi(e)==b};function Js(e){if(!ea(e))return!1;var t=wi(e);return t==v||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!ia(e)}function Qs(e){if(!Xs(e))return!1;var t=wi(e);return t==_||t==j||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Zs(e){return"number"==typeof e&&e==da(e)}function Ys(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=u}function Xs(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ea(e){return null!=e&&"object"==typeof e}var ta=vt?Jt(vt):function(e){return ea(e)&&uo(e)==x};function na(e){return"number"==typeof e||ea(e)&&wi(e)==w}function ia(e){if(!ea(e)||wi(e)!=$)return!1;var t=Be(e);if(null===t)return!0;var n=Re.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==De}var ra=_t?Jt(_t):function(e){return ea(e)&&wi(e)==P},oa=jt?Jt(jt):function(e){return ea(e)&&uo(e)==O};function sa(e){return"string"==typeof e||!zs(e)&&ea(e)&&wi(e)==E}function aa(e){return"symbol"==typeof e||ea(e)&&wi(e)==A}var ca=xt?Jt(xt):function(e){return ea(e)&&Ys(e.length)&&!!rt[wi(e)]},pa=zr(Ni),la=zr((function(e,t){return e<=t}));function ua(e){if(!e)return[];if(Hs(e))return sa(e)?un(e):Pr(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=uo(e);return(t==x?on:t==O?cn:Fa)(e)}function fa(e){return e?(e=ma(e))===l||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function da(e){var t=fa(e),n=t%1;return t==t?n?t-n:t:0}function ha(e){return e?oi(da(e),0,d):0}function ma(e){if("number"==typeof e)return e;if(aa(e))return f;if(Xs(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Xs(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Kt(e);var n=he.test(e);return n||ye.test(e)?ct(e.slice(2),n?2:8):de.test(e)?f:+e}function ya(e){return Or(e,ka(e))}function ga(e){return null==e?"":sr(e)}var ba=Ar((function(e,t){if(jo(t)||Hs(t))Or(t,Ta(t),e);else for(var n in t)Re.call(t,n)&&Xn(e,n,t[n])})),va=Ar((function(e,t){Or(t,ka(t),e)})),_a=Ar((function(e,t,n,i){Or(t,ka(t),e,i)})),ja=Ar((function(e,t,n,i){Or(t,Ta(t),e,i)})),xa=Xr(ri),wa=Gi((function(e,t){e=$e(e);var n=-1,i=t.length,o=i>2?t[2]:r;for(o&&go(t[0],t[1],o)&&(i=1);++n1),t})),Or(e,to(e),n),i&&(n=si(n,7,Zr));for(var r=t.length;r--;)cr(n,t[r]);return n})),Na=Xr((function(e,t){return null==e?{}:function(e,t){return Vi(e,t,(function(t,n){return Pa(e,n)}))}(e,t)}));function Ca(e,t){if(null==e)return{};var n=kt(to(e),(function(e){return[e]}));return t=oo(t),Vi(e,n,(function(e,n){return t(e,n[0])}))}var Da=Gr(Ta),qa=Gr(ka);function Fa(e){return null==e?[]:Qt(e,Ta(e))}var La=Rr((function(e,t,n){return t=t.toLowerCase(),e+(n?Ua(t):t)}));function Ua(e){return Ja(ga(e).toLowerCase())}function Va(e){return(e=ga(e))&&e.replace(be,en).replace(Ze,"")}var za=Rr((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ba=Rr((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ha=Ir("toLowerCase"),Wa=Rr((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Ga=Rr((function(e,t,n){return e+(n?" ":"")+Ja(t)})),Ka=Rr((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ja=Ir("toUpperCase");function Qa(e,t,n){return e=ga(e),(t=n?r:t)===r?function(e){return tt.test(e)}(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.match(ce)||[]}(e):e.match(t)||[]}var Za=Gi((function(e,t){try{return wt(e,r,t)}catch(e){return Js(e)?e:new je(e)}})),Ya=Xr((function(e,t){return St(t,(function(t){t=Co(t),ii(e,t,Es(e[t],e))})),e}));function Xa(e){return function(){return e}}var ec=Cr(),tc=Cr(!0);function nc(e){return e}function ic(e){return Ri("function"==typeof e?e:si(e,1))}var rc=Gi((function(e,t){return function(n){return Ei(n,e,t)}})),oc=Gi((function(e,t){return function(n){return Ei(e,n,t)}}));function sc(e,t,n){var i=Ta(t),r=_i(t,i);null!=n||Xs(t)&&(r.length||!i.length)||(n=t,t=e,e=this,r=_i(t,Ta(t)));var o=!(Xs(n)&&"chain"in n&&!n.chain),s=Qs(e);return St(r,(function(n){var i=t[n];e[n]=i,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=Pr(this.__actions__)).push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,It([this.value()],arguments))})})),e}function ac(){}var cc=Lr(kt),pc=Lr(Ot),lc=Lr(Nt);function uc(e){return bo(e)?zt(Co(e)):function(e){return function(t){return ji(t,e)}}(e)}var fc=Vr(),dc=Vr(!0);function hc(){return[]}function mc(){return!1}var yc,gc=Fr((function(e,t){return e+t}),0),bc=Hr("ceil"),vc=Fr((function(e,t){return e/t}),1),_c=Hr("floor"),jc=Fr((function(e,t){return e*t}),1),xc=Hr("round"),wc=Fr((function(e,t){return e-t}),0);return qn.after=function(e,t){if("function"!=typeof t)throw new Oe(o);return e=da(e),function(){if(--e<1)return t.apply(this,arguments)}},qn.ary=Ps,qn.assign=ba,qn.assignIn=va,qn.assignInWith=_a,qn.assignWith=ja,qn.at=xa,qn.before=Os,qn.bind=Es,qn.bindAll=Ya,qn.bindKey=As,qn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return zs(e)?e:[e]},qn.chain=us,qn.chunk=function(e,t,n){t=(n?go(e,t,n):t===r)?1:yn(da(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,c=i(ft(o/t));so?0:o+n),(i=i===r||i>o?o:da(i))<0&&(i+=o),i=n>i?0:ha(i);n>>0)?(e=ga(e))&&("string"==typeof t||null!=t&&!ra(t))&&!(t=sr(t))&&rn(e)?br(un(e),0,n):e.split(t,n):[]},qn.spread=function(e,t){if("function"!=typeof e)throw new Oe(o);return t=null==t?0:yn(da(t),0),Gi((function(n){var i=n[t],r=br(n,0,t);return i&&It(r,i),wt(e,this,r)}))},qn.tail=function(e){var t=null==e?0:e.length;return t?er(e,1,t):[]},qn.take=function(e,t,n){return e&&e.length?er(e,0,(t=n||t===r?1:da(t))<0?0:t):[]},qn.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?er(e,(t=i-(t=n||t===r?1:da(t)))<0?0:t,i):[]},qn.takeRightWhile=function(e,t){return e&&e.length?lr(e,oo(t,3),!1,!0):[]},qn.takeWhile=function(e,t){return e&&e.length?lr(e,oo(t,3)):[]},qn.tap=function(e,t){return t(e),e},qn.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new Oe(o);return Xs(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Ts(e,t,{leading:i,maxWait:t,trailing:r})},qn.thru=fs,qn.toArray=ua,qn.toPairs=Da,qn.toPairsIn=qa,qn.toPath=function(e){return zs(e)?kt(e,Co):aa(e)?[e]:Pr(No(ga(e)))},qn.toPlainObject=ya,qn.transform=function(e,t,n){var i=zs(e),r=i||Gs(e)||ca(e);if(t=oo(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Xs(e)&&Qs(o)?Fn(Be(e)):{}}return(r?St:bi)(e,(function(e,i,r){return t(n,e,i,r)})),n},qn.unary=function(e){return Ps(e,1)},qn.union=es,qn.unionBy=ts,qn.unionWith=ns,qn.uniq=function(e){return e&&e.length?ar(e):[]},qn.uniqBy=function(e,t){return e&&e.length?ar(e,oo(t,2)):[]},qn.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?ar(e,r,t):[]},qn.unset=function(e,t){return null==e||cr(e,t)},qn.unzip=is,qn.unzipWith=rs,qn.update=function(e,t,n){return null==e?e:pr(e,t,mr(n))},qn.updateWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:pr(e,t,mr(n),i)},qn.values=Fa,qn.valuesIn=function(e){return null==e?[]:Qt(e,ka(e))},qn.without=os,qn.words=Qa,qn.wrap=function(e,t){return Cs(mr(t),e)},qn.xor=ss,qn.xorBy=as,qn.xorWith=cs,qn.zip=ps,qn.zipObject=function(e,t){return dr(e||[],t||[],Xn)},qn.zipObjectDeep=function(e,t){return dr(e||[],t||[],Qi)},qn.zipWith=ls,qn.entries=Da,qn.entriesIn=qa,qn.extend=va,qn.extendWith=_a,sc(qn,qn),qn.add=gc,qn.attempt=Za,qn.camelCase=La,qn.capitalize=Ua,qn.ceil=bc,qn.clamp=function(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=(n=ma(n))==n?n:0),t!==r&&(t=(t=ma(t))==t?t:0),oi(ma(e),t,n)},qn.clone=function(e){return si(e,4)},qn.cloneDeep=function(e){return si(e,5)},qn.cloneDeepWith=function(e,t){return si(e,5,t="function"==typeof t?t:r)},qn.cloneWith=function(e,t){return si(e,4,t="function"==typeof t?t:r)},qn.conformsTo=function(e,t){return null==t||ai(e,t,Ta(t))},qn.deburr=Va,qn.defaultTo=function(e,t){return null==e||e!=e?t:e},qn.divide=vc,qn.endsWith=function(e,t,n){e=ga(e),t=sr(t);var i=e.length,o=n=n===r?i:oi(da(n),0,i);return(n-=t.length)>=0&&e.slice(n,o)==t},qn.eq=Fs,qn.escape=function(e){return(e=ga(e))&&K.test(e)?e.replace(W,tn):e},qn.escapeRegExp=function(e){return(e=ga(e))&&ne.test(e)?e.replace(te,"\\$&"):e},qn.every=function(e,t,n){var i=zs(e)?Ot:fi;return n&&go(e,t,n)&&(t=r),i(e,oo(t,3))},qn.find=ms,qn.findIndex=Vo,qn.findKey=function(e,t){return Dt(e,oo(t,3),bi)},qn.findLast=ys,qn.findLastIndex=zo,qn.findLastKey=function(e,t){return Dt(e,oo(t,3),vi)},qn.floor=_c,qn.forEach=gs,qn.forEachRight=bs,qn.forIn=function(e,t){return null==e?e:yi(e,oo(t,3),ka)},qn.forInRight=function(e,t){return null==e?e:gi(e,oo(t,3),ka)},qn.forOwn=function(e,t){return e&&bi(e,oo(t,3))},qn.forOwnRight=function(e,t){return e&&vi(e,oo(t,3))},qn.get=Sa,qn.gt=Ls,qn.gte=Us,qn.has=function(e,t){return null!=e&&fo(e,t,Si)},qn.hasIn=Pa,qn.head=Ho,qn.identity=nc,qn.includes=function(e,t,n,i){e=Hs(e)?e:Fa(e),n=n&&!i?da(n):0;var r=e.length;return n<0&&(n=yn(r+n,0)),sa(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&Ft(e,t,n)>-1},qn.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=yn(i+r,0)),Ft(e,t,r)},qn.inRange=function(e,t,n){return t=fa(t),n===r?(n=t,t=0):n=fa(n),function(e,t,n){return e>=gn(t,n)&&e=-9007199254740991&&e<=u},qn.isSet=oa,qn.isString=sa,qn.isSymbol=aa,qn.isTypedArray=ca,qn.isUndefined=function(e){return e===r},qn.isWeakMap=function(e){return ea(e)&&uo(e)==T},qn.isWeakSet=function(e){return ea(e)&&"[object WeakSet]"==wi(e)},qn.join=function(e,t){return null==e?"":Bt.call(e,t)},qn.kebabCase=za,qn.last=Jo,qn.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i;return n!==r&&(o=(o=da(n))<0?yn(i+o,0):gn(o,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,o):qt(e,Ut,o,!0)},qn.lowerCase=Ba,qn.lowerFirst=Ha,qn.lt=pa,qn.lte=la,qn.max=function(e){return e&&e.length?di(e,nc,$i):r},qn.maxBy=function(e,t){return e&&e.length?di(e,oo(t,2),$i):r},qn.mean=function(e){return Vt(e,nc)},qn.meanBy=function(e,t){return Vt(e,oo(t,2))},qn.min=function(e){return e&&e.length?di(e,nc,Ni):r},qn.minBy=function(e,t){return e&&e.length?di(e,oo(t,2),Ni):r},qn.stubArray=hc,qn.stubFalse=mc,qn.stubObject=function(){return{}},qn.stubString=function(){return""},qn.stubTrue=function(){return!0},qn.multiply=jc,qn.nth=function(e,t){return e&&e.length?Li(e,da(t)):r},qn.noConflict=function(){return ut._===this&&(ut._=qe),this},qn.noop=ac,qn.now=Ss,qn.pad=function(e,t,n){e=ga(e);var i=(t=da(t))?ln(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return Ur(dt(r),n)+e+Ur(ft(r),n)},qn.padEnd=function(e,t,n){e=ga(e);var i=(t=da(t))?ln(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var o=_n();return gn(e+o*(t-e+at("1e-"+((o+"").length-1))),t)}return Hi(e,t)},qn.reduce=function(e,t,n){var i=zs(e)?Rt:Ht,r=arguments.length<3;return i(e,oo(t,4),n,r,li)},qn.reduceRight=function(e,t,n){var i=zs(e)?Mt:Ht,r=arguments.length<3;return i(e,oo(t,4),n,r,ui)},qn.repeat=function(e,t,n){return t=(n?go(e,t,n):t===r)?1:da(t),Wi(ga(e),t)},qn.replace=function(){var e=arguments,t=ga(e[0]);return e.length<3?t:t.replace(e[1],e[2])},qn.result=function(e,t,n){var i=-1,o=(t=yr(t,e)).length;for(o||(o=1,e=r);++iu)return[];var n=d,i=gn(e,d);t=oo(t),e-=d;for(var r=Gt(i,t);++n=s)return e;var c=n-ln(i);if(c<1)return i;var p=a?br(a,0,c).join(""):e.slice(0,c);if(o===r)return p+i;if(a&&(c+=p.length-c),ra(o)){if(e.slice(c).search(o)){var l,u=p;for(o.global||(o=Se(o.source,ga(fe.exec(o))+"g")),o.lastIndex=0;l=o.exec(u);)var f=l.index;p=p.slice(0,f===r?c:f)}}else if(e.indexOf(sr(o),c)!=c){var d=p.lastIndexOf(o);d>-1&&(p=p.slice(0,d))}return p+i},qn.unescape=function(e){return(e=ga(e))&&G.test(e)?e.replace(H,dn):e},qn.uniqueId=function(e){var t=++Me;return ga(e)+t},qn.upperCase=Ka,qn.upperFirst=Ja,qn.each=gs,qn.eachRight=bs,qn.first=Ho,sc(qn,(yc={},bi(qn,(function(e,t){Re.call(qn.prototype,t)||(yc[t]=e)})),yc),{chain:!1}),qn.VERSION="4.17.21",St(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){qn[e].placeholder=qn})),St(["drop","take"],(function(e,t){Vn.prototype[e]=function(n){n=n===r?1:yn(da(n),0);var i=this.__filtered__&&!t?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:e+(i.__dir__<0?"Right":"")}),i},Vn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),St(["filter","map","takeWhile"],(function(e,t){var n=t+1,i=1==n||3==n;Vn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:oo(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}})),St(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Vn.prototype[e]=function(){return this[n](1).value()[0]}})),St(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Vn.prototype[e]=function(){return this.__filtered__?new Vn(this):this[n](1)}})),Vn.prototype.compact=function(){return this.filter(nc)},Vn.prototype.find=function(e){return this.filter(e).head()},Vn.prototype.findLast=function(e){return this.reverse().find(e)},Vn.prototype.invokeMap=Gi((function(e,t){return"function"==typeof e?new Vn(this):this.map((function(n){return Ei(n,e,t)}))})),Vn.prototype.reject=function(e){return this.filter(Ms(oo(e)))},Vn.prototype.slice=function(e,t){e=da(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Vn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(n=(t=da(t))<0?n.dropRight(-t):n.take(t-e)),n)},Vn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vn.prototype.toArray=function(){return this.take(d)},bi(Vn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),o=qn[i?"take"+("last"==t?"Right":""):t],s=i||/^find/.test(t);o&&(qn.prototype[t]=function(){var t=this.__wrapped__,a=i?[1]:arguments,c=t instanceof Vn,p=a[0],l=c||zs(t),u=function(e){var t=o.apply(qn,It([e],a));return i&&f?t[0]:t};l&&n&&"function"==typeof p&&1!=p.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,h=s&&!f,m=c&&!d;if(!s&&l){t=m?t:new Vn(this);var y=e.apply(t,a);return y.__actions__.push({func:fs,args:[u],thisArg:r}),new Un(y,f)}return h&&m?e.apply(this,a):(y=this.thru(u),h?i?y.value()[0]:y.value():y)})})),St(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ee[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);qn.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(zs(r)?r:[],e)}return this[n]((function(n){return t.apply(zs(n)?n:[],e)}))}})),bi(Vn.prototype,(function(e,t){var n=qn[t];if(n){var i=n.name+"";Re.call(An,i)||(An[i]=[]),An[i].push({name:t,func:n})}})),An[Dr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var e=new Vn(this.__wrapped__);return e.__actions__=Pr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Pr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Pr(this.__views__),e},Vn.prototype.reverse=function(){if(this.__filtered__){var e=new Vn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=zs(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},qn.prototype.plant=function(e){for(var t,n=this;n instanceof Ln;){var i=qo(n);i.__index__=0,i.__values__=r,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t},qn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vn){var t=e;return this.__actions__.length&&(t=new Vn(this)),(t=t.reverse()).__actions__.push({func:fs,args:[Xo],thisArg:r}),new Un(t,this.__chain__)}return this.thru(Xo)},qn.prototype.toJSON=qn.prototype.valueOf=qn.prototype.value=function(){return ur(this.__wrapped__,this.__actions__)},qn.prototype.first=qn.prototype.head,Je&&(qn.prototype[Je]=function(){return this}),qn}();ut._=hn,(i=function(){return hn}.call(t,n,t,e))===r||(e.exports=i)}.call(this)},16651:(e,t,n)=>{var i=n(74554);function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s)||o,s};return n.cache=new(r.Cache||i),n}r.Cache=i,e.exports=r},47215:(e,t,n)=>{var i=n(78859);e.exports=function(e,t,n){return null==e?e:i(e,t,n)}},65567:(e,t,n)=>{var i=n(34282);e.exports=function(e){return null==e?"":i(e)}},13707:(e,t,n)=>{var i=n(30138);e.exports=d,d.Minimatch=h;var r=function(){try{return n(67425)}catch(e){}}()||{sep:"/"};d.sep=r.sep;var o=d.GLOBSTAR=h.GLOBSTAR={},s=n(55457),a={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},c="[^/]",p=c+"*?",l="().*{}+?[]^$\\!".split("").reduce((function(e,t){return e[t]=!0,e}),{}),u=/\/+/;function f(e,t){t=t||{};var n={};return Object.keys(e).forEach((function(t){n[t]=e[t]})),Object.keys(t).forEach((function(e){n[e]=t[e]})),n}function d(e,t,n){return y(t),n||(n={}),!(!n.nocomment&&"#"===t.charAt(0))&&new h(t,n).match(e)}function h(e,t){if(!(this instanceof h))return new h(e,t);y(e),t||(t={}),e=e.trim(),t.allowWindowsEscape||"/"===r.sep||(e=e.split(r.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}function m(e,t){return t||(t=this instanceof h?this.options:{}),e=void 0===e?this.pattern:e,y(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:s(e)}d.filter=function(e,t){return t=t||{},function(n,i,r){return d(n,e,t)}},d.defaults=function(e){if(!e||"object"!=typeof e||!Object.keys(e).length)return d;var t=d,n=function(n,i,r){return t(n,i,f(e,r))};return(n.Minimatch=function(n,i){return new t.Minimatch(n,f(e,i))}).defaults=function(n){return t.defaults(f(e,n)).Minimatch},n.filter=function(n,i){return t.filter(n,f(e,i))},n.defaults=function(n){return t.defaults(f(e,n))},n.makeRe=function(n,i){return t.makeRe(n,f(e,i))},n.braceExpand=function(n,i){return t.braceExpand(n,f(e,i))},n.match=function(n,i,r){return t.match(n,i,f(e,r))},n},h.defaults=function(e){return d.defaults(e).Minimatch},h.prototype.debug=function(){},h.prototype.make=function(){var e=this.pattern,t=this.options;if(t.nocomment||"#"!==e.charAt(0))if(e){this.parseNegate();var n=this.globSet=this.braceExpand();t.debug&&(this.debug=function(){i.error.apply(i,arguments)}),this.debug(this.pattern,n),n=this.globParts=n.map((function(e){return e.split(u)})),this.debug(this.pattern,n),n=n.map((function(e,t,n){return e.map(this.parse,this)}),this),this.debug(this.pattern,n),n=n.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,n),this.set=n}else this.empty=!0;else this.comment=!0},h.prototype.parseNegate=function(){var e=this.pattern,t=!1,n=0;if(!this.options.nonegate){for(var i=0,r=e.length;i65536)throw new TypeError("pattern is too long")};h.prototype.parse=function(e,t){y(e);var n=this.options;if("**"===e){if(!n.noglobstar)return o;e="*"}if(""===e)return"";var i,r="",s=!!n.nocase,u=!1,f=[],d=[],h=!1,m=-1,b=-1,v="."===e.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",_=this;function j(){if(i){switch(i){case"*":r+=p,s=!0;break;case"?":r+=c,s=!0;break;default:r+="\\"+i}_.debug("clearStateChar %j %j",i,r),i=!1}}for(var x,w=0,$=e.length;w<$&&(x=e.charAt(w));w++)if(this.debug("%s\t%s %s %j",e,w,r,x),u&&l[x])r+="\\"+x,u=!1;else switch(x){case"/":return!1;case"\\":j(),u=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s\t%s %s %j <-- stateChar",e,w,r,x),h){this.debug(" in class"),"!"===x&&w===b+1&&(x="^"),r+=x;continue}_.debug("call clearStateChar %j",i),j(),i=x,n.noext&&j();continue;case"(":if(h){r+="(";continue}if(!i){r+="\\(";continue}f.push({type:i,start:w-1,reStart:r.length,open:a[i].open,close:a[i].close}),r+="!"===i?"(?:(?!(?:":"(?:",this.debug("plType %j %j",i,r),i=!1;continue;case")":if(h||!f.length){r+="\\)";continue}j(),s=!0;var S=f.pop();r+=S.close,"!"===S.type&&d.push(S),S.reEnd=r.length;continue;case"|":if(h||!f.length||u){r+="\\|",u=!1;continue}j(),r+="|";continue;case"[":if(j(),h){r+="\\"+x;continue}h=!0,b=w,m=r.length,r+=x;continue;case"]":if(w===b+1||!h){r+="\\"+x,u=!1;continue}var P=e.substring(b+1,w);try{RegExp("["+P+"]")}catch(e){var O=this.parse(P,g);r=r.substr(0,m)+"\\["+O[0]+"\\]",s=s||O[1],h=!1;continue}s=!0,h=!1,r+=x;continue;default:j(),u?u=!1:!l[x]||"^"===x&&h||(r+="\\"),r+=x}for(h&&(P=e.substr(b+1),O=this.parse(P,g),r=r.substr(0,m)+"\\["+O[0],s=s||O[1]),S=f.pop();S;S=f.pop()){var E=r.slice(S.reStart+S.open.length);this.debug("setting tail",r,S),E=E.replace(/((?:\\{2}){0,64})(\\?)\|/g,(function(e,t,n){return n||(n="\\"),t+t+n+"|"})),this.debug("tail=%j\n %s",E,E,S,r);var A="*"===S.type?p:"?"===S.type?c:"\\"+S.type;s=!0,r=r.slice(0,S.reStart)+A+"\\("+E}j(),u&&(r+="\\\\");var T=!1;switch(r.charAt(0)){case"[":case".":case"(":T=!0}for(var k=d.length-1;k>-1;k--){var I=d[k],R=r.slice(0,I.reStart),M=r.slice(I.reStart,I.reEnd-8),N=r.slice(I.reEnd-8,I.reEnd),C=r.slice(I.reEnd);N+=C;var D=R.split("(").length-1,q=C;for(w=0;w=0&&!(i=e[o]);o--);for(o=0;o>> no match, partial?",e,f,t,d),f!==a))}if("string"==typeof l?(p=u===l,this.debug("string match",l,u,p)):(p=u.match(l),this.debug("pattern match",l,u,p)),!p)return!1}if(r===a&&s===c)return!0;if(r===a)return n;if(s===c)return r===a-1&&""===e[r];throw new Error("wtf?")}},40759:(e,t)=>{"use strict";var n=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==n)return n;throw new Error("unable to locate global object")}();e.exports=t=n.fetch,n.fetch&&(t.default=n.fetch.bind(n)),t.Headers=n.Headers,t.Request=n.Request,t.Response=n.Response},86524:(e,t,n)=>{var i="function"==typeof Map&&Map.prototype,r=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=i&&r&&"function"==typeof r.get?r.get:null,s=i&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,p=a&&c&&"function"==typeof c.get?c.get:null,l=a&&Set.prototype.forEach,u="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,f="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,h=Boolean.prototype.valueOf,m=Object.prototype.toString,y=Function.prototype.toString,g=String.prototype.match,b=String.prototype.slice,v=String.prototype.replace,_=String.prototype.toUpperCase,j=String.prototype.toLowerCase,x=RegExp.prototype.test,w=Array.prototype.concat,$=Array.prototype.join,S=Array.prototype.slice,P=Math.floor,O="function"==typeof BigInt?BigInt.prototype.valueOf:null,E=Object.getOwnPropertySymbols,A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"==typeof Symbol&&"object"==typeof Symbol.iterator,k="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,I=Object.prototype.propertyIsEnumerable,R=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function M(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||x.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var i=e<0?-P(-e):P(e);if(i!==e){var r=String(i),o=b.call(t,r.length+1);return v.call(r,n,"$&_")+"."+v.call(v.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(t,n,"$&_")}var N=n(96553),C=N.custom,D=V(C)?C:null;function q(e,t,n){var i="double"===(n.quoteStyle||t)?'"':"'";return i+e+i}function F(e){return v.call(String(e),/"/g,""")}function L(e){return!("[object Array]"!==H(e)||k&&"object"==typeof e&&k in e)}function U(e){return!("[object RegExp]"!==H(e)||k&&"object"==typeof e&&k in e)}function V(e){if(T)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!A)return!1;try{return A.call(e),!0}catch(e){}return!1}e.exports=function e(t,i,r,a){var c=i||{};if(B(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(B(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var m=!B(c,"customInspect")||c.customInspect;if("boolean"!=typeof m&&"symbol"!==m)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(B(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(B(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var _=c.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return G(t,c);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var x=String(t);return _?M(t,x):x}if("bigint"==typeof t){var P=String(t)+"n";return _?M(t,P):P}var E=void 0===c.depth?5:c.depth;if(void 0===r&&(r=0),r>=E&&E>0&&"object"==typeof t)return L(t)?"[Array]":"[Object]";var C,z=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;n=$.call(Array(e.indent+1)," ")}return{base:n,prev:$.call(Array(t+1),n)}}(c,r);if(void 0===a)a=[];else if(W(a,t)>=0)return"[Circular]";function K(t,n,i){if(n&&(a=S.call(a)).push(n),i){var o={depth:c.depth};return B(c,"quoteStyle")&&(o.quoteStyle=c.quoteStyle),e(t,o,r+1,a)}return e(t,c,r+1,a)}if("function"==typeof t&&!U(t)){var ee=function(e){if(e.name)return e.name;var t=g.call(y.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),te=X(t,K);return"[Function"+(ee?": "+ee:" (anonymous)")+"]"+(te.length>0?" { "+$.call(te,", ")+" }":"")}if(V(t)){var ne=T?v.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):A.call(t);return"object"!=typeof t||T?ne:J(ne)}if((C=t)&&"object"==typeof C&&("undefined"!=typeof HTMLElement&&C instanceof HTMLElement||"string"==typeof C.nodeName&&"function"==typeof C.getAttribute)){for(var ie="<"+j.call(String(t.nodeName)),re=t.attributes||[],oe=0;oe"}if(L(t)){if(0===t.length)return"[]";var se=X(t,K);return z&&!function(e){for(var t=0;t=0)return!1;return!0}(se)?"["+Y(se,z)+"]":"[ "+$.call(se,", ")+" ]"}if(function(e){return!("[object Error]"!==H(e)||k&&"object"==typeof e&&k in e)}(t)){var ae=X(t,K);return"cause"in Error.prototype||!("cause"in t)||I.call(t,"cause")?0===ae.length?"["+String(t)+"]":"{ ["+String(t)+"] "+$.call(ae,", ")+" }":"{ ["+String(t)+"] "+$.call(w.call("[cause]: "+K(t.cause),ae),", ")+" }"}if("object"==typeof t&&m){if(D&&"function"==typeof t[D]&&N)return N(t,{depth:E-r});if("symbol"!==m&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!=typeof e)return!1;try{o.call(e);try{p.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(t)){var ce=[];return s&&s.call(t,(function(e,n){ce.push(K(n,t,!0)+" => "+K(e,t))})),Z("Map",o.call(t),ce,z)}if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e);try{o.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(t)){var pe=[];return l&&l.call(t,(function(e){pe.push(K(e,t))})),Z("Set",p.call(t),pe,z)}if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{u.call(e,u);try{f.call(e,f)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(t))return Q("WeakMap");if(function(e){if(!f||!e||"object"!=typeof e)return!1;try{f.call(e,f);try{u.call(e,u)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(t))return Q("WeakSet");if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{return d.call(e),!0}catch(e){}return!1}(t))return Q("WeakRef");if(function(e){return!("[object Number]"!==H(e)||k&&"object"==typeof e&&k in e)}(t))return J(K(Number(t)));if(function(e){if(!e||"object"!=typeof e||!O)return!1;try{return O.call(e),!0}catch(e){}return!1}(t))return J(K(O.call(t)));if(function(e){return!("[object Boolean]"!==H(e)||k&&"object"==typeof e&&k in e)}(t))return J(h.call(t));if(function(e){return!("[object String]"!==H(e)||k&&"object"==typeof e&&k in e)}(t))return J(K(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if(t===n.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==H(e)||k&&"object"==typeof e&&k in e)}(t)&&!U(t)){var le=X(t,K),ue=R?R(t)===Object.prototype:t instanceof Object||t.constructor===Object,fe=t instanceof Object?"":"null prototype",de=!ue&&k&&Object(t)===t&&k in t?b.call(H(t),8,-1):fe?"Object":"",he=(ue||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(de||fe?"["+$.call(w.call([],de||[],fe||[]),": ")+"] ":"");return 0===le.length?he+"{}":z?he+"{"+Y(le,z)+"}":he+"{ "+$.call(le,", ")+" }"}return String(t)};var z=Object.prototype.hasOwnProperty||function(e){return e in this};function B(e,t){return z.call(e,t)}function H(e){return m.call(e)}function W(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,i=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,i="... "+n+" more character"+(n>1?"s":"");return G(b.call(e,0,t.maxStringLength),t)+i}return q(v.call(v.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,K),"single",t)}function K(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+_.call(t.toString(16))}function J(e){return"Object("+e+")"}function Q(e){return e+" { ? }"}function Z(e,t,n,i){return e+" ("+t+") {"+(i?Y(n,i):$.call(n,", "))+"}"}function Y(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+$.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=L(e),i=[];if(n){i.length=e.length;for(var r=0;r{"use strict";var t=function(e){return e!=e};e.exports=function(e,n){return 0===e&&0===n?1/e==1/n:e===n||!(!t(e)||!t(n))}},83822:(e,t,n)=>{"use strict";var i=n(67392),r=n(34573),o=n(60836),s=n(11800),a=n(27894),c=r(s(),Object);i(c,{getPolyfill:s,implementation:o,shim:a}),e.exports=c},11800:(e,t,n)=>{"use strict";var i=n(60836);e.exports=function(){return"function"==typeof Object.is?Object.is:i}},27894:(e,t,n)=>{"use strict";var i=n(11800),r=n(67392);e.exports=function(){var e=i();return r(Object,{is:e},{is:function(){return Object.is!==e}}),e}},89538:(e,t,n)=>{"use strict";var i;if(!Object.keys){var r=Object.prototype.hasOwnProperty,o=Object.prototype.toString,s=n(71030),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),p=a.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(e){var t=e.constructor;return t&&t.prototype===e},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!f["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{u(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();i=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===o.call(e),i=s(e),a=t&&"[object String]"===o.call(e),f=[];if(!t&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var h=p&&n;if(a&&e.length>0&&!r.call(e,0))for(var m=0;m0)for(var y=0;y{"use strict";var i=Array.prototype.slice,r=n(71030),o=Object.keys,s=o?function(e){return o(e)}:n(89538),a=Object.keys;s.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return r(e)?a(i.call(e)):a(e)})}else Object.keys=s;return Object.keys||s},e.exports=s},71030:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var n=t.call(e),i="[object Arguments]"===n;return i||(i="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),i}},85752:(e,t,n)=>{"use strict";var i=n(44733),r=n(8186)(),o=n(12737),s=Object,a=o("Array.prototype.push"),c=o("Object.prototype.propertyIsEnumerable"),p=r?Object.getOwnPropertySymbols:null;e.exports=function(e,t){if(null==e)throw new TypeError("target must be an object");var n=s(e);if(1===arguments.length)return n;for(var o=1;o{"use strict";var i=n(85752);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),n={},i=0;i{"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(e[r]=n[r])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var o=0;o{"use strict";e.exports=function(e,t,n,i){for(var r=65535&e,o=e>>>16&65535,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{o=o+(r=r+t[i++]|0)|0}while(--s);r%=65521,o%=65521}return r|o<<16}},92436:e=>{"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},91383:e=>{"use strict";var t=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();e.exports=function(e,n,i,r){var o=t,s=r+i;e^=-1;for(var a=r;a>>8^o[255&(e^n[a])];return~e}},83152:(e,t,n)=>{"use strict";var i,r=n(37609),o=n(77322),s=n(85530),a=n(91383),c=n(55710),p=0,l=0,u=-2,f=2,d=8,h=286,m=30,y=19,g=2*h+1,b=15,v=3,_=258,j=_+v+1,x=42,w=103,$=113,S=666;function P(e,t){return e.msg=c[t],t}function O(e){return(e<<1)-(e>4?9:0)}function E(e){for(var t=e.length;--t>=0;)e[t]=0}function A(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(r.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function T(e,t){o._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,A(e.strm)}function k(e,t){e.pending_buf[e.pending++]=t}function I(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function R(e,t){var n,i,r=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match,c=e.strstart>e.w_size-j?e.strstart-(e.w_size-j):0,p=e.window,l=e.w_mask,u=e.prev,f=e.strstart+_,d=p[o+s-1],h=p[o+s];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(p[(n=t)+s]===h&&p[n+s-1]===d&&p[n]===p[o]&&p[++n]===p[o+1]){o+=2,n++;do{}while(p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&os){if(e.match_start=t,s=i,i>=a)break;d=p[o+s-1],h=p[o+s]}}}while((t=u[t&l])>c&&0!=--r);return s<=e.lookahead?s:e.lookahead}function M(e){var t,n,i,o,c,p,l,u,f,d,h=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=h+(h-j)){r.arraySet(e.window,e.window,h,h,0),e.match_start-=h,e.strstart-=h,e.block_start-=h,t=n=e.hash_size;do{i=e.head[--t],e.head[t]=i>=h?i-h:0}while(--n);t=n=h;do{i=e.prev[--t],e.prev[t]=i>=h?i-h:0}while(--n);o+=h}if(0===e.strm.avail_in)break;if(p=e.strm,l=e.window,u=e.strstart+e.lookahead,f=o,d=void 0,(d=p.avail_in)>f&&(d=f),n=0===d?0:(p.avail_in-=d,r.arraySet(l,p.input,p.next_in,d,u),1===p.state.wrap?p.adler=s(p.adler,l,d,u):2===p.state.wrap&&(p.adler=a(p.adler,l,d,u)),p.next_in+=d,p.total_in+=d,d),e.lookahead+=n,e.lookahead+e.insert>=v)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<=v&&(e.ins_h=(e.ins_h<=v)if(i=o._tr_tally(e,e.strstart-e.match_start,e.match_length-v),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=v){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=v&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=v-1)),e.prev_length>=v&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-v,i=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-v),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=(e.ins_h<15&&(a=2,i-=16),o<1||o>9||n!==d||i<8||i>15||t<0||t>9||s<0||s>4)return P(e,u);8===i&&(i=9);var c=new q;return e.state=c,c.strm=e,c.wrap=a,c.gzhead=null,c.w_bits=i,c.w_size=1<e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(M(e),0===e.lookahead&&t===p)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,T(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-j&&(T(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(T(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(T(e,!1),e.strm.avail_out),1)})),new D(4,4,8,4,N),new D(4,5,16,8,N),new D(4,6,32,32,N),new D(4,4,16,16,C),new D(8,16,32,32,C),new D(8,16,128,128,C),new D(8,32,128,256,C),new D(32,128,258,1024,C),new D(32,258,258,4096,C)],t.deflateInit=function(e,t){return U(e,t,d,15,8,0)},t.deflateInit2=U,t.deflateReset=L,t.deflateResetKeep=F,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?u:(e.state.gzhead=t,l):u},t.deflate=function(e,t){var n,r,s,c;if(!e||!e.state||t>5||t<0)return e?P(e,u):u;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===S&&4!==t)return P(e,0===e.avail_out?-5:u);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===x)if(2===r.wrap)e.adler=0,k(r,31),k(r,139),k(r,8),r.gzhead?(k(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),k(r,255&r.gzhead.time),k(r,r.gzhead.time>>8&255),k(r,r.gzhead.time>>16&255),k(r,r.gzhead.time>>24&255),k(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),k(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(k(r,255&r.gzhead.extra.length),k(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=a(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(k(r,0),k(r,0),k(r,0),k(r,0),k(r,0),k(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),k(r,3),r.status=$);else{var f=d+(r.w_bits-8<<4)<<8;f|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(f|=32),f+=31-f%31,r.status=$,I(r,f),0!==r.strstart&&(I(r,e.adler>>>16),I(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),A(e),s=r.pending,r.pending!==r.pending_buf_size));)k(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),A(e),s=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindexs&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===c&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),A(e),s=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindexs&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===c&&(r.status=w)}else r.status=w;if(r.status===w&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&A(e),r.pending+2<=r.pending_buf_size&&(k(r,255&e.adler),k(r,e.adler>>8&255),e.adler=0,r.status=$)):r.status=$),0!==r.pending){if(A(e),0===e.avail_out)return r.last_flush=-1,l}else if(0===e.avail_in&&O(t)<=O(n)&&4!==t)return P(e,-5);if(r.status===S&&0!==e.avail_in)return P(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==p&&r.status!==S){var h=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(M(e),0===e.lookahead)){if(t===p)return 1;break}if(e.match_length=0,n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(T(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(T(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(T(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,i,r,s,a=e.window;;){if(e.lookahead<=_){if(M(e),e.lookahead<=_&&t===p)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=v&&e.strstart>0&&(i=a[r=e.strstart-1])===a[++r]&&i===a[++r]&&i===a[++r]){s=e.strstart+_;do{}while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&re.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=v?(n=o._tr_tally(e,1,e.match_length-v),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(T(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(T(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(T(e,!1),0===e.strm.avail_out)?1:2}(r,t):i[r.level].func(r,t);if(3!==h&&4!==h||(r.status=S),1===h||3===h)return 0===e.avail_out&&(r.last_flush=-1),l;if(2===h&&(1===t?o._tr_align(r):5!==t&&(o._tr_stored_block(r,0,0,!1),3===t&&(E(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),A(e),0===e.avail_out))return r.last_flush=-1,l}return 4!==t?l:r.wrap<=0?1:(2===r.wrap?(k(r,255&e.adler),k(r,e.adler>>8&255),k(r,e.adler>>16&255),k(r,e.adler>>24&255),k(r,255&e.total_in),k(r,e.total_in>>8&255),k(r,e.total_in>>16&255),k(r,e.total_in>>24&255)):(I(r,e.adler>>>16),I(r,65535&e.adler)),A(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?l:1)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==x&&69!==t&&73!==t&&91!==t&&t!==w&&t!==$&&t!==S?P(e,u):(e.state=null,t===$?P(e,-3):l):u},t.deflateSetDictionary=function(e,t){var n,i,o,a,c,p,f,d,h=t.length;if(!e||!e.state)return u;if(2===(a=(n=e.state).wrap)||1===a&&n.status!==x||n.lookahead)return u;for(1===a&&(e.adler=s(e.adler,t,h,0)),n.wrap=0,h>=n.w_size&&(0===a&&(E(n.head),n.strstart=0,n.block_start=0,n.insert=0),d=new r.Buf8(n.w_size),r.arraySet(d,t,h-n.w_size,n.w_size,0),t=d,h=n.w_size),c=e.avail_in,p=e.next_in,f=e.input,e.avail_in=h,e.next_in=0,e.input=t,M(n);n.lookahead>=v;){i=n.strstart,o=n.lookahead-(v-1);do{n.ins_h=(n.ins_h<{"use strict";e.exports=function(e,t){var n,i,r,o,s,a,c,p,l,u,f,d,h,m,y,g,b,v,_,j,x,w,$,S,P;n=e.state,i=e.next_in,S=e.input,r=i+(e.avail_in-5),o=e.next_out,P=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),c=n.dmax,p=n.wsize,l=n.whave,u=n.wnext,f=n.window,d=n.hold,h=n.bits,m=n.lencode,y=n.distcode,g=(1<>>=_=v>>>24,h-=_,0==(_=v>>>16&255))P[o++]=65535&v;else{if(!(16&_)){if(64&_){if(32&_){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}v=m[(65535&v)+(d&(1<<_)-1)];continue t}for(j=65535&v,(_&=15)&&(h<_&&(d+=S[i++]<>>=_,h-=_),h<15&&(d+=S[i++]<>>=_=v>>>24,h-=_,16&(_=v>>>16&255)){if(x=65535&v,h<(_&=15)&&(d+=S[i++]<c){e.msg="invalid distance too far back",n.mode=30;break e}if(d>>>=_,h-=_,x>(_=o-s)){if((_=x-_)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(w=0,$=f,0===u){if(w+=p-_,_2;)P[o++]=$[w++],P[o++]=$[w++],P[o++]=$[w++],j-=3;j&&(P[o++]=$[w++],j>1&&(P[o++]=$[w++]))}else{w=o-x;do{P[o++]=P[w++],P[o++]=P[w++],P[o++]=P[w++],j-=3}while(j>2);j&&(P[o++]=P[w++],j>1&&(P[o++]=P[w++]))}break}if(64&_){e.msg="invalid distance code",n.mode=30;break e}v=y[(65535&v)+(d&(1<<_)-1)]}}break}}while(i>3,d&=(1<<(h-=j<<3))-1,e.next_in=i,e.next_out=o,e.avail_in=i{"use strict";var i=n(37609),r=n(85530),o=n(91383),s=n(58121),a=n(97371),c=0,p=-2,l=1,u=12,f=30,d=852,h=592;function m(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function y(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function g(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=l,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(d),t.distcode=t.distdyn=new i.Buf32(h),t.sane=1,t.back=-1,c):p}function b(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,g(e)):p}function v(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?p:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,b(e))):p}function _(e,t){var n,i;return e?(i=new y,e.state=i,i.window=null,(n=v(e,t))!==c&&(e.state=null),n):p}var j,x,w=!0;function $(e){if(w){var t;for(j=new i.Buf32(512),x=new i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,j,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,x,0,e.work,{bits:5}),w=!1}e.lencode=j,e.lenbits=9,e.distcode=x,e.distbits=5}function S(e,t,n,r){var o,s=e.state;return null===s.window&&(s.wsize=1<=s.wsize?(i.arraySet(s.window,t,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((o=s.wsize-s.wnext)>r&&(o=r),i.arraySet(s.window,t,n-r,o,s.wnext),(r-=o)?(i.arraySet(s.window,t,n-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,n.check=o(n.check,L,2,0),_=0,j=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&_)<<8)+(_>>8))%31){e.msg="incorrect header check",n.mode=f;break}if(8!=(15&_)){e.msg="unknown compression method",n.mode=f;break}if(j-=4,N=8+(15&(_>>>=4)),0===n.wbits)n.wbits=N;else if(N>n.wbits){e.msg="invalid window size",n.mode=f;break}n.dmax=1<>8&1),512&n.flags&&(L[0]=255&_,L[1]=_>>>8&255,n.check=o(n.check,L,2,0)),_=0,j=0,n.mode=3;case 3:for(;j<32;){if(0===b)break e;b--,_+=d[y++]<>>8&255,L[2]=_>>>16&255,L[3]=_>>>24&255,n.check=o(n.check,L,4,0)),_=0,j=0,n.mode=4;case 4:for(;j<16;){if(0===b)break e;b--,_+=d[y++]<>8),512&n.flags&&(L[0]=255&_,L[1]=_>>>8&255,n.check=o(n.check,L,2,0)),_=0,j=0,n.mode=5;case 5:if(1024&n.flags){for(;j<16;){if(0===b)break e;b--,_+=d[y++]<>>8&255,n.check=o(n.check,L,2,0)),_=0,j=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((P=n.length)>b&&(P=b),P&&(n.head&&(N=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),i.arraySet(n.head.extra,d,y,P,N)),512&n.flags&&(n.check=o(n.check,d,P,y)),b-=P,y+=P,n.length-=P),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===b)break e;P=0;do{N=d[y+P++],n.head&&N&&n.length<65536&&(n.head.name+=String.fromCharCode(N))}while(N&&P>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=u;break;case 10:for(;j<32;){if(0===b)break e;b--,_+=d[y++]<>>=7&j,j-=7&j,n.mode=27;break}for(;j<3;){if(0===b)break e;b--,_+=d[y++]<>>=1)){case 0:n.mode=14;break;case 1:if($(n),n.mode=20,6===t){_>>>=2,j-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=f}_>>>=2,j-=2;break;case 14:for(_>>>=7&j,j-=7&j;j<32;){if(0===b)break e;b--,_+=d[y++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=f;break}if(n.length=65535&_,_=0,j=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(P=n.length){if(P>b&&(P=b),P>v&&(P=v),0===P)break e;i.arraySet(h,d,y,P,g),b-=P,y+=P,v-=P,g+=P,n.length-=P;break}n.mode=u;break;case 17:for(;j<14;){if(0===b)break e;b--,_+=d[y++]<>>=5,j-=5,n.ndist=1+(31&_),_>>>=5,j-=5,n.ncode=4+(15&_),_>>>=4,j-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=f;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,j-=3}for(;n.have<19;)n.lens[U[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,D={bits:n.lenbits},C=a(0,n.lens,0,19,n.lencode,0,n.work,D),n.lenbits=D.bits,C){e.msg="invalid code lengths set",n.mode=f;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,k=65535&F,!((A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>>=A,j-=A,n.lens[n.have++]=k;else{if(16===k){for(q=A+2;j>>=A,j-=A,0===n.have){e.msg="invalid bit length repeat",n.mode=f;break}N=n.lens[n.have-1],P=3+(3&_),_>>>=2,j-=2}else if(17===k){for(q=A+3;j>>=A)),_>>>=3,j-=3}else{for(q=A+7;j>>=A)),_>>>=7,j-=7}if(n.have+P>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=f;break}for(;P--;)n.lens[n.have++]=N}}if(n.mode===f)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=f;break}if(n.lenbits=9,D={bits:n.lenbits},C=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,D),n.lenbits=D.bits,C){e.msg="invalid literal/lengths set",n.mode=f;break}if(n.distbits=6,n.distcode=n.distdyn,D={bits:n.distbits},C=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,D),n.distbits=D.bits,C){e.msg="invalid distances set",n.mode=f;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(b>=6&&v>=258){e.next_out=g,e.avail_out=v,e.next_in=y,e.avail_in=b,n.hold=_,n.bits=j,s(e,w),g=e.next_out,h=e.output,v=e.avail_out,y=e.next_in,d=e.input,b=e.avail_in,_=n.hold,j=n.bits,n.mode===u&&(n.back=-1);break}for(n.back=0;T=(F=n.lencode[_&(1<>>16&255,k=65535&F,!((A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>I)])>>>16&255,k=65535&F,!(I+(A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>>=I,j-=I,n.back+=I}if(_>>>=A,j-=A,n.back+=A,n.length=k,0===T){n.mode=26;break}if(32&T){n.back=-1,n.mode=u;break}if(64&T){e.msg="invalid literal/length code",n.mode=f;break}n.extra=15&T,n.mode=22;case 22:if(n.extra){for(q=n.extra;j>>=n.extra,j-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;T=(F=n.distcode[_&(1<>>16&255,k=65535&F,!((A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>I)])>>>16&255,k=65535&F,!(I+(A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>>=I,j-=I,n.back+=I}if(_>>>=A,j-=A,n.back+=A,64&T){e.msg="invalid distance code",n.mode=f;break}n.offset=k,n.extra=15&T,n.mode=24;case 24:if(n.extra){for(q=n.extra;j>>=n.extra,j-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=f;break}n.mode=25;case 25:if(0===v)break e;if(P=w-v,n.offset>P){if((P=n.offset-P)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=f;break}P>n.wnext?(P-=n.wnext,O=n.wsize-P):O=n.wnext-P,P>n.length&&(P=n.length),E=n.window}else E=h,O=g-n.offset,P=n.length;P>v&&(P=v),v-=P,n.length-=P;do{h[g++]=E[O++]}while(--P);0===n.length&&(n.mode=21);break;case 26:if(0===v)break e;h[g++]=n.length,v--,n.mode=21;break;case 27:if(n.wrap){for(;j<32;){if(0===b)break e;b--,_|=d[y++]<{"use strict";var i=n(37609),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,n,c,p,l,u,f){var d,h,m,y,g,b,v,_,j,x=f.bits,w=0,$=0,S=0,P=0,O=0,E=0,A=0,T=0,k=0,I=0,R=null,M=0,N=new i.Buf16(16),C=new i.Buf16(16),D=null,q=0;for(w=0;w<=15;w++)N[w]=0;for($=0;$=1&&0===N[P];P--);if(O>P&&(O=P),0===P)return p[l++]=20971520,p[l++]=20971520,f.bits=1,0;for(S=1;S0&&(0===e||1!==P))return-1;for(C[1]=0,w=1;w<15;w++)C[w+1]=C[w]+N[w];for($=0;$852||2===e&&k>592)return 1;for(;;){v=w-A,u[$]b?(_=D[q+u[$]],j=R[M+u[$]]):(_=96,j=0),d=1<>A)+(h-=d)]=v<<24|_<<16|j}while(0!==h);for(d=1<>=1;if(0!==d?(I&=d-1,I+=d):I=0,$++,0==--N[w]){if(w===P)break;w=t[n+u[$]]}if(w>O&&(I&y)!==m){for(0===A&&(A=O),g+=S,T=1<<(E=w-A);E+A852||2===e&&k>592)return 1;p[m=I&y]=O<<24|E<<16|g-l}}return 0!==I&&(p[g+I]=w-A<<24|64<<16),f.bits=O,0}},55710:e=>{"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},77322:(e,t,n)=>{"use strict";var i=n(37609);function r(e){for(var t=e.length;--t>=0;)e[t]=0}var o=256,s=286,a=30,c=15,p=16,l=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],d=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=new Array(576);r(h);var m=new Array(60);r(m);var y=new Array(512);r(y);var g=new Array(256);r(g);var b=new Array(29);r(b);var v,_,j,x=new Array(a);function w(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function $(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function S(e){return e<256?y[e]:y[256+(e>>>7)]}function P(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function O(e,t,n){e.bi_valid>p-n?(e.bi_buf|=t<>p-e.bi_valid,e.bi_valid+=n-p):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1}function T(e,t,n){var i,r,o=new Array(c+1),s=0;for(i=1;i<=c;i++)o[i]=s=s+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=A(o[a]++,a))}}function k(e){var t;for(t=0;t8?P(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function R(e,t,n,i){var r=2*t,o=2*n;return e[r]>1;n>=1;n--)M(e,o,n);r=p;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],M(e,o,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,o[2*r]=o[2*n]+o[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,o[2*n+1]=o[2*i+1]=r,e.heap[1]=r++,M(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,o,s,a,p=t.dyn_tree,l=t.max_code,u=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,m=t.stat_desc.max_length,y=0;for(o=0;o<=c;o++)e.bl_count[o]=0;for(p[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(o=p[2*p[2*(i=e.heap[n])+1]+1]+1)>m&&(o=m,y++),p[2*i+1]=o,i>l||(e.bl_count[o]++,s=0,i>=h&&(s=d[i-h]),a=p[2*i],e.opt_len+=a*(o+s),f&&(e.static_len+=a*(u[2*i+1]+s)));if(0!==y){do{for(o=m-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[m]--,y-=2}while(y>0);for(o=m;0!==o;o--)for(i=e.bl_count[o];0!==i;)(r=e.heap[--n])>l||(p[2*r+1]!==o&&(e.opt_len+=(o-p[2*r+1])*p[2*r],p[2*r+1]=o),i--)}}(e,t),T(o,l,e.bl_count)}function D(e,t,n){var i,r,o=-1,s=t[1],a=0,c=7,p=4;for(0===s&&(c=138,p=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=s,s=t[2*(i+1)+1],++a>=7;i0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t=3&&0===e.bl_tree[2*d[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=r&&(r=s)):r=s=n+5,n+4<=r&&-1!==t?L(e,t,n,i):4===e.strategy||s===r?(O(e,2+(i?1:0),3),N(e,h,m)):(O(e,4+(i?1:0),3),function(e,t,n,i){var r;for(O(e,t-257,5),O(e,n-1,5),O(e,i-4,4),r=0;r>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(g[n]+o+1)]++,e.dyn_dtree[2*S(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){O(e,2,3),E(e,256,h),function(e){16===e.bi_valid?(P(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},88894:e=>{"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},67425:(e,t,n)=>{"use strict";var i=n(27061);function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function o(e,t){for(var n,i="",r=0,o=-1,s=0,a=0;a<=e.length;++a){if(a2){var c=i.lastIndexOf("/");if(c!==i.length-1){-1===c?(i="",r=0):r=(i=i.slice(0,c)).length-1-i.lastIndexOf("/"),o=a,s=0;continue}}else if(2===i.length||1===i.length){i="",r=0,o=a,s=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(o+1,a):i=e.slice(o+1,a),r=a-o-1;o=a,s=0}else 46===n&&-1!==s?++s:s=-1}return i}var s={resolve:function(){for(var e,t="",n=!1,s=arguments.length-1;s>=-1&&!n;s--){var a;s>=0?a=arguments[s]:(void 0===e&&(e=i.cwd()),a=e),r(a),0!==a.length&&(t=a+"/"+t,n=47===a.charCodeAt(0))}return t=o(t,!n),n?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),n=47===e.charCodeAt(e.length-1);return 0!==(e=o(e,!t)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":s.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=s.resolve(e))===(t=s.resolve(t)))return"";for(var n=1;np){if(47===t.charCodeAt(a+u))return t.slice(a+u+1);if(0===u)return t.slice(a+u)}else o>p&&(47===e.charCodeAt(n+u)?l=u:0===u&&(l=0));break}var f=e.charCodeAt(n+u);if(f!==t.charCodeAt(a+u))break;47===f&&(l=u)}var d="";for(u=n+l+1;u<=i;++u)u!==i&&47!==e.charCodeAt(u)||(0===d.length?d+="..":d+="/..");return d.length>0?d+t.slice(a+l):(a+=l,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,i=-1,o=!0,s=e.length-1;s>=1;--s)if(47===(t=e.charCodeAt(s))){if(!o){i=s;break}}else o=!1;return-1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,i=0,o=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,c=-1;for(n=e.length-1;n>=0;--n){var p=e.charCodeAt(n);if(47===p){if(!s){i=n+1;break}}else-1===c&&(s=!1,c=n+1),a>=0&&(p===t.charCodeAt(a)?-1==--a&&(o=n):(a=-1,o=c))}return i===o?o=c:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){r(e);for(var t=-1,n=0,i=-1,o=!0,s=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===i&&(o=!1,i=a+1),46===c?-1===t?t=a:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){n=a+1;break}}return-1===t||-1===i||0===s||1===s&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0),o=47===i;o?(t.root="/",n=1):n=0;for(var s=-1,a=0,c=-1,p=!0,l=e.length-1,u=0;l>=n;--l)if(47!==(i=e.charCodeAt(l)))-1===c&&(p=!1,c=l+1),46===i?-1===s?s=l:1!==u&&(u=1):-1!==s&&(u=-1);else if(!p){a=l+1;break}return-1===s||-1===c||0===u||1===u&&s===c-1&&s===a+1?-1!==c&&(t.base=t.name=0===a&&o?e.slice(1,c):e.slice(a,c)):(0===a&&o?(t.name=e.slice(1,s),t.base=e.slice(1,c)):(t.name=e.slice(a,s),t.base=e.slice(a,c)),t.ext=e.slice(s,c)),a>0?t.dir=e.slice(0,a-1):o&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};s.posix=s,e.exports=s},70626:e=>{"use strict";class t extends Error{constructor(e,{cause:n}={}){super(e),this.name=t.name,n&&(this.cause=n),this.message=e}}const n=e=>{if(!e)return;const t=e.cause;if("function"==typeof t){const t=e.cause();return t instanceof Error?t:void 0}return t instanceof Error?t:void 0},i=(e,t)=>{if(!(e instanceof Error))return"";const r=e.stack||"";if(t.has(e))return r+"\ncauses have become circular...";const o=n(e);return o?(t.add(e),r+"\ncaused by: "+i(o,t)):r},r=(e,t,i)=>{if(!(e instanceof Error))return"";const o=i?"":e.message||"";if(t.has(e))return o+": ...";const s=n(e);if(s){t.add(e);const n="function"==typeof e.cause;return o+(n?"":": ")+r(s,t,n)}return o};e.exports={ErrorWithCause:t,findCauseByReference:(e,t)=>{if(!e||!t)return;if(!(e instanceof Error))return;if(!(t.prototype instanceof Error)&&t!==Error)return;const i=new Set;let r=e;for(;r&&!i.has(r);){if(i.add(r),r instanceof t)return r;r=n(r)}},getErrorCause:n,stackWithCauses:e=>i(e,new Set),messageWithCauses:e=>r(e,new Set)}},82556:e=>{"use strict";e.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},27061:e=>{var t,n,i=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(e){t=r}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var a,c=[],p=!1,l=-1;function u(){p&&a&&(p=!1,a.length?c=a.concat(c):l=-1,c.length&&f())}function f(){if(!p){var e=s(u);p=!0;for(var t=c.length;t;){for(a=c,c=[];++l1)for(var n=1;n{"use strict";e.exports=n(67189)},17308:e=>{"use strict";e.exports=i;var t,n=/\/|\./;function i(e,t){n.test(e)||(e="google/protobuf/"+e+".proto",t={nested:{google:{nested:{protobuf:{nested:t}}}}}),i[e]=t}i("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}}),i("duration",{Duration:t={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}}),i("timestamp",{Timestamp:t}),i("empty",{Empty:{fields:{}}}),i("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}}),i("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}}),i("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}}),i.get=function(e){return i[e]||null}},50032:(e,t,n)=>{"use strict";var i=t,r=n(20969),o=n(62827);function s(e,t,n,i){var o=!1;if(t.resolvedType)if(t.resolvedType instanceof r){e("switch(d%s){",i);for(var s=t.resolvedType.values,a=Object.keys(s),c=0;c>>0",i,i);break;case"int32":case"sint32":case"sfixed32":e("m%s=d%s|0",i,i);break;case"uint64":p=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",i,i,p)('else if(typeof d%s==="string")',i)("m%s=parseInt(d%s,10)",i,i)('else if(typeof d%s==="number")',i)("m%s=d%s",i,i)('else if(typeof d%s==="object")',i)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",i,i,i,p?"true":"");break;case"bytes":e('if(typeof d%s==="string")',i)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",i,i,i)("else if(d%s.length >= 0)",i)("m%s=d%s",i,i);break;case"string":e("m%s=String(d%s)",i,i);break;case"bool":e("m%s=Boolean(d%s)",i,i)}}return e}function a(e,t,n,i){if(t.resolvedType)t.resolvedType instanceof r?e("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",i,n,i,i,n,i,i):e("d%s=types[%i].toObject(m%s,o)",i,n,i);else{var o=!1;switch(t.type){case"double":case"float":e("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",i,i,i,i);break;case"uint64":o=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e('if(typeof m%s==="number")',i)("d%s=o.longs===String?String(m%s):m%s",i,i,i)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",i,i,i,i,o?"true":"",i);break;case"bytes":e("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",i,i,i,i,i);break;default:e("d%s=m%s",i,i)}}return e}i.fromObject=function(e){var t=e.fieldsArray,n=o.codegen(["d"],e.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return n("return new this.ctor");n("var m=new this.ctor");for(var i=0;i{"use strict";e.exports=function(e){var t=o.codegen(["r","l"],e.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(e.fieldsArray.filter((function(e){return e.map})).length?",k,value":""))("while(r.pos>>3){");for(var n=0;n>>3){")("case 1: k=r.%s(); break",a.keyType)("case 2:"),void 0===r.basic[c]?t("value=types[%i].decode(r,r.uint32())",n):t("value=r.%s()",c),t("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),void 0!==r.long[a.keyType]?t('%s[typeof k==="object"?util.longToHash(k):k]=value',p):t("%s[k]=value",p)):a.repeated?(t("if(!(%s&&%s.length))",p,p)("%s=[]",p),void 0!==r.packed[c]&&t("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos{"use strict";e.exports=function(e){for(var t,n=o.codegen(["m","w"],e.name+"$encode")("if(!w)")("w=Writer.create()"),a=e.fieldsArray.slice().sort(o.compareFieldsById),c=0;c>>0,8|r.mapKey[p.keyType],p.keyType),void 0===f?n("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",l,t):n(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|f,u,t),n("}")("}")):p.repeated?(n("if(%s!=null&&%s.length){",t,t),p.packed&&void 0!==r.packed[u]?n("w.uint32(%i).fork()",(p.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",t)("w.%s(%s[i])",u,t)("w.ldelim()"):(n("for(var i=0;i<%s.length;++i)",t),void 0===f?s(n,p,l,t+"[i]"):n("w.uint32(%i).%s(%s[i])",(p.id<<3|f)>>>0,u,t)),n("}")):(p.optional&&n("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",t,p.name),void 0===f?s(n,p,l,t):n("w.uint32(%i).%s(%s)",(p.id<<3|f)>>>0,u,t))}return n("return w")};var i=n(20969),r=n(53374),o=n(62827);function s(e,t,n,i){return t.resolvedType.group?e("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",n,i,(t.id<<3|3)>>>0,(t.id<<3|4)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",n,i,(t.id<<3|2)>>>0)}},20969:(e,t,n)=>{"use strict";e.exports=s;var i=n(77883);((s.prototype=Object.create(i.prototype)).constructor=s).className="Enum";var r=n(47225),o=n(62827);function s(e,t,n,r,o,s){if(i.call(this,e,n),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=r,this.comments=o||{},this.valuesOptions=s,this.reserved=void 0,t)for(var a=Object.keys(t),c=0;c{"use strict";e.exports=p;var i=n(77883);((p.prototype=Object.create(i.prototype)).constructor=p).className="Field";var r,o=n(20969),s=n(53374),a=n(62827),c=/^required|optional|repeated$/;function p(e,t,n,r,o,p,l){if(a.isObject(r)?(l=o,p=r,r=o=void 0):a.isObject(o)&&(l=p,p=o,o=void 0),i.call(this,e,p),!a.isInteger(t)||t<0)throw TypeError("id must be a non-negative integer");if(!a.isString(n))throw TypeError("type must be a string");if(void 0!==r&&!c.test(r=r.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(void 0!==o&&!a.isString(o))throw TypeError("extend must be a string");"proto3_optional"===r&&(r="optional"),this.rule=r&&"optional"!==r?r:void 0,this.type=n,this.id=t,this.extend=o||void 0,this.required="required"===r,this.optional=!this.required,this.repeated="repeated"===r,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!a.Long&&void 0!==s.long[n],this.bytes="bytes"===n,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this._packed=null,this.comment=l}p.fromJSON=function(e,t){return new p(e,t.id,t.type,t.rule,t.extend,t.options,t.comment)},Object.defineProperty(p.prototype,"packed",{get:function(){return null===this._packed&&(this._packed=!1!==this.getOption("packed")),this._packed}}),p.prototype.setOption=function(e,t,n){return"packed"===e&&(this._packed=null),i.prototype.setOption.call(this,e,t,n)},p.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return a.toObject(["rule","optional"!==this.rule&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},p.prototype.resolve=function(){if(this.resolved)return this;if(void 0===(this.typeDefault=s.defaults[this.type])?(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof r?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]):this.options&&this.options.proto3_optional&&(this.typeDefault=null),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof o&&"string"==typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(void 0===this.options.packed||!this.resolvedType||this.resolvedType instanceof o)||delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long)this.typeDefault=a.Long.fromNumber(this.typeDefault,"u"===this.type.charAt(0)),Object.freeze&&Object.freeze(this.typeDefault);else if(this.bytes&&"string"==typeof this.typeDefault){var e;a.base64.test(this.typeDefault)?a.base64.decode(this.typeDefault,e=a.newBuffer(a.base64.length(this.typeDefault)),0):a.utf8.write(this.typeDefault,e=a.newBuffer(a.utf8.length(this.typeDefault)),0),this.typeDefault=e}return this.map?this.defaultValue=a.emptyObject:this.repeated?this.defaultValue=a.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof r&&(this.parent.ctor.prototype[this.name]=this.defaultValue),i.prototype.resolve.call(this)},p.d=function(e,t,n,i){return"function"==typeof t?t=a.decorateType(t).name:t&&"object"==typeof t&&(t=a.decorateEnum(t).name),function(r,o){a.decorateType(r.constructor).add(new p(o,e,t,n,{default:i}))}},p._configure=function(e){r=e}},2176:(e,t,n)=>{"use strict";var i=e.exports=n(34365);i.build="light",i.load=function(e,t,n){return"function"==typeof t?(n=t,t=new i.Root):t||(t=new i.Root),t.load(e,n)},i.loadSync=function(e,t){return t||(t=new i.Root),t.loadSync(e)},i.encoder=n(73860),i.decoder=n(99388),i.verifier=n(29012),i.converter=n(50032),i.ReflectionObject=n(77883),i.Namespace=n(47225),i.Root=n(71554),i.Enum=n(20969),i.Type=n(19025),i.Field=n(52149),i.OneOf=n(62288),i.MapField=n(91198),i.Service=n(82868),i.Method=n(96240),i.Message=n(61048),i.wrappers=n(40486),i.types=n(53374),i.util=n(62827),i.ReflectionObject._configure(i.Root),i.Namespace._configure(i.Type,i.Service,i.Enum),i.Root._configure(i.Type),i.Field._configure(i.Type)},34365:(e,t,n)=>{"use strict";var i=t;function r(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}i.build="minimal",i.Writer=n(22147),i.BufferWriter=n(85055),i.Reader=n(12074),i.BufferReader=n(70069),i.util=n(28835),i.rpc=n(97876),i.roots=n(44007),i.configure=r,r()},67189:(e,t,n)=>{"use strict";var i=e.exports=n(2176);i.build="full",i.tokenize=n(65729),i.parse=n(5231),i.common=n(17308),i.Root._configure(i.Type,i.parse,i.common)},91198:(e,t,n)=>{"use strict";e.exports=s;var i=n(52149);((s.prototype=Object.create(i.prototype)).constructor=s).className="MapField";var r=n(53374),o=n(62827);function s(e,t,n,r,s,a){if(i.call(this,e,t,r,void 0,void 0,s,a),!o.isString(n))throw TypeError("keyType must be a string");this.keyType=n,this.resolvedKeyType=null,this.map=!0}s.fromJSON=function(e,t){return new s(e,t.id,t.keyType,t.type,t.options,t.comment)},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},s.prototype.resolve=function(){if(this.resolved)return this;if(void 0===r.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return i.prototype.resolve.call(this)},s.d=function(e,t,n){return"function"==typeof n?n=o.decorateType(n).name:n&&"object"==typeof n&&(n=o.decorateEnum(n).name),function(i,r){o.decorateType(i.constructor).add(new s(r,e,t,n))}}},61048:(e,t,n)=>{"use strict";e.exports=r;var i=n(28835);function r(e){if(e)for(var t=Object.keys(e),n=0;n{"use strict";e.exports=o;var i=n(77883);((o.prototype=Object.create(i.prototype)).constructor=o).className="Method";var r=n(62827);function o(e,t,n,o,s,a,c,p,l){if(r.isObject(s)?(c=s,s=a=void 0):r.isObject(a)&&(c=a,a=void 0),void 0!==t&&!r.isString(t))throw TypeError("type must be a string");if(!r.isString(n))throw TypeError("requestType must be a string");if(!r.isString(o))throw TypeError("responseType must be a string");i.call(this,e,c),this.type=t||"rpc",this.requestType=n,this.requestStream=!!s||void 0,this.responseType=o,this.responseStream=!!a||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=p,this.parsedOptions=l}o.fromJSON=function(e,t){return new o(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options,t.comment,t.parsedOptions)},o.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return r.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",t?this.comment:void 0,"parsedOptions",this.parsedOptions])},o.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),i.prototype.resolve.call(this))}},47225:(e,t,n)=>{"use strict";e.exports=u;var i=n(77883);((u.prototype=Object.create(i.prototype)).constructor=u).className="Namespace";var r,o,s,a=n(52149),c=n(62827),p=n(62288);function l(e,t){if(e&&e.length){for(var n={},i=0;it)return!0;return!1},u.isReservedName=function(e,t){if(e)for(var n=0;n0;){var i=e.shift();if(n.nested&&n.nested[i]){if(!((n=n.nested[i])instanceof u))throw Error("path conflicts with non-namespace objects")}else n.add(n=new u(i))}return t&&n.addJSON(t),n},u.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t-1)return i}else if(i instanceof u&&(i=i.lookup(e.slice(1),t,!0)))return i}else for(var r=0;r{"use strict";e.exports=o,o.className="ReflectionObject";var i,r=n(62827);function o(e,t){if(!r.isString(e))throw TypeError("name must be a string");if(t&&!r.isObject(t))throw TypeError("options must be an object");this.options=t,this.parsedOptions=null,this.name=e,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(o.prototype,{root:{get:function(){for(var e=this;null!==e.parent;)e=e.parent;return e}},fullName:{get:function(){for(var e=[this.name],t=this.parent;t;)e.unshift(t.name),t=t.parent;return e.join(".")}}}),o.prototype.toJSON=function(){throw Error()},o.prototype.onAdd=function(e){this.parent&&this.parent!==e&&this.parent.remove(this),this.parent=e,this.resolved=!1;var t=e.root;t instanceof i&&t._handleAdd(this)},o.prototype.onRemove=function(e){var t=e.root;t instanceof i&&t._handleRemove(this),this.parent=null,this.resolved=!1},o.prototype.resolve=function(){return this.resolved||this.root instanceof i&&(this.resolved=!0),this},o.prototype.getOption=function(e){if(this.options)return this.options[e]},o.prototype.setOption=function(e,t,n){return n&&this.options&&void 0!==this.options[e]||((this.options||(this.options={}))[e]=t),this},o.prototype.setParsedOption=function(e,t,n){this.parsedOptions||(this.parsedOptions=[]);var i=this.parsedOptions;if(n){var o=i.find((function(t){return Object.prototype.hasOwnProperty.call(t,e)}));if(o){var s=o[e];r.setProperty(s,n,t)}else(o={})[e]=r.setProperty({},n,t),i.push(o)}else{var a={};a[e]=t,i.push(a)}return this},o.prototype.setOptions=function(e,t){if(e)for(var n=Object.keys(e),i=0;i{"use strict";e.exports=s;var i=n(77883);((s.prototype=Object.create(i.prototype)).constructor=s).className="OneOf";var r=n(52149),o=n(62827);function s(e,t,n,r){if(Array.isArray(t)||(n=t,t=void 0),i.call(this,e,n),void 0!==t&&!Array.isArray(t))throw TypeError("fieldNames must be an Array");this.oneof=t||[],this.fieldsArray=[],this.comment=r}function a(e){if(e.parent)for(var t=0;t-1&&this.oneof.splice(t,1),e.partOf=null,this},s.prototype.onAdd=function(e){i.prototype.onAdd.call(this,e);for(var t=0;t{"use strict";e.exports=$,$.filename=null,$.defaults={keepCase:!1};var i=n(65729),r=n(71554),o=n(19025),s=n(52149),a=n(91198),c=n(62288),p=n(20969),l=n(82868),u=n(96240),f=n(53374),d=n(62827),h=/^[1-9][0-9]*$/,m=/^-?[1-9][0-9]*$/,y=/^0[x][0-9a-fA-F]+$/,g=/^-?0[x][0-9a-fA-F]+$/,b=/^0[0-7]+$/,v=/^-?0[0-7]+$/,_=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,j=/^[a-zA-Z_][a-zA-Z_0-9]*$/,x=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,w=/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/;function $(e,t,n){t instanceof r||(n=t,t=new r),n||(n=$.defaults);var S,P,O,E,A,T=n.preferTrailingComment||!1,k=i(e,n.alternateCommentMode||!1),I=k.next,R=k.push,M=k.peek,N=k.skip,C=k.cmnt,D=!0,q=!1,F=t,L=n.keepCase?function(e){return e}:d.camelCase;function U(e,t,n){var i=$.filename;return n||($.filename=null),Error("illegal "+(t||"token")+" '"+e+"' ("+(i?i+", ":"")+"line "+k.line+")")}function V(){var e,t=[];do{if('"'!==(e=I())&&"'"!==e)throw U(e);t.push(I()),N(e),e=M()}while('"'===e||"'"===e);return t.join("")}function z(e){var t=I();switch(t){case"'":case'"':return R(t),V();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return function(e,t){var n=1;switch("-"===e.charAt(0)&&(n=-1,e=e.substring(1)),e){case"inf":case"INF":case"Inf":return n*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(h.test(e))return n*parseInt(e,10);if(y.test(e))return n*parseInt(e,16);if(b.test(e))return n*parseInt(e,8);if(_.test(e))return n*parseFloat(e);throw U(e,"number",!0)}(t)}catch(n){if(e&&x.test(t))return t;throw U(t,"value")}}function B(e,t){var n,i;do{!t||'"'!==(n=M())&&"'"!==n?e.push([i=H(I()),N("to",!0)?H(I()):i]):e.push(V())}while(N(",",!0));N(";")}function H(e,t){switch(e){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(!t&&"-"===e.charAt(0))throw U(e,"id");if(m.test(e))return parseInt(e,10);if(g.test(e))return parseInt(e,16);if(v.test(e))return parseInt(e,8);throw U(e,"id")}function W(){if(void 0!==S)throw U("package");if(S=I(),!x.test(S))throw U(S,"name");F=F.define(S),N(";")}function G(){var e,t=M();switch(t){case"weak":e=O||(O=[]),I();break;case"public":I();default:e=P||(P=[])}t=V(),N(";"),e.push(t)}function K(){if(N("="),E=V(),!(q="proto3"===E)&&"proto2"!==E)throw U(E,"syntax");N(";")}function J(e,t){switch(t){case"option":return ee(e,t),N(";"),!0;case"message":return Z(e,t),!0;case"enum":return X(e,t),!0;case"service":return function(e,t){if(!j.test(t=I()))throw U(t,"service name");var n=new l(t);Q(n,(function(e){if(!J(n,e)){if("rpc"!==e)throw U(e);!function(e,t){var n=C(),i=t;if(!j.test(t=I()))throw U(t,"name");var r,o,s,a,c=t;if(N("("),N("stream",!0)&&(o=!0),!x.test(t=I()))throw U(t);if(r=t,N(")"),N("returns"),N("("),N("stream",!0)&&(a=!0),!x.test(t=I()))throw U(t);s=t,N(")");var p=new u(c,i,r,s,o,a);p.comment=n,Q(p,(function(e){if("option"!==e)throw U(e);ee(p,e),N(";")})),e.add(p)}(n,e)}})),e.add(n)}(e,t),!0;case"extend":return function(e,t){if(!x.test(t=I()))throw U(t,"reference");var n=t;Q(null,(function(t){switch(t){case"required":case"repeated":Y(e,t,n);break;case"optional":Y(e,q?"proto3_optional":"optional",n);break;default:if(!q||!x.test(t))throw U(t);R(t),Y(e,"optional",n)}}))}(e,t),!0}return!1}function Q(e,t,n){var i=k.line;if(e&&("string"!=typeof e.comment&&(e.comment=C()),e.filename=$.filename),N("{",!0)){for(var r;"}"!==(r=I());)t(r);N(";",!0)}else n&&n(),N(";"),e&&("string"!=typeof e.comment||T)&&(e.comment=C(i)||e.comment)}function Z(e,t){if(!j.test(t=I()))throw U(t,"type name");var n=new o(t);Q(n,(function(e){if(!J(n,e))switch(e){case"map":!function(e){N("<");var t=I();if(void 0===f.mapKey[t])throw U(t,"type");N(",");var n=I();if(!x.test(n))throw U(n,"type");N(">");var i=I();if(!j.test(i))throw U(i,"name");N("=");var r=new a(L(i),H(I()),t,n);Q(r,(function(e){if("option"!==e)throw U(e);ee(r,e),N(";")}),(function(){ie(r)})),e.add(r)}(n);break;case"required":case"repeated":Y(n,e);break;case"optional":Y(n,q?"proto3_optional":"optional");break;case"oneof":!function(e,t){if(!j.test(t=I()))throw U(t,"name");var n=new c(L(t));Q(n,(function(e){"option"===e?(ee(n,e),N(";")):(R(e),Y(n,"optional"))})),e.add(n)}(n,e);break;case"extensions":B(n.extensions||(n.extensions=[]));break;case"reserved":B(n.reserved||(n.reserved=[]),!0);break;default:if(!q||!x.test(e))throw U(e);R(e),Y(n,"optional")}})),e.add(n)}function Y(e,t,n){var i=I();if("group"!==i){for(;i.endsWith(".")||M().startsWith(".");)i+=I();if(!x.test(i))throw U(i,"type");var r=I();if(!j.test(r))throw U(r,"name");r=L(r),N("=");var a=new s(r,H(I()),i,t,n);if(Q(a,(function(e){if("option"!==e)throw U(e);ee(a,e),N(";")}),(function(){ie(a)})),"proto3_optional"===t){var p=new c("_"+r);a.setOption("proto3_optional",!0),p.add(a),e.add(p)}else e.add(a);q||!a.repeated||void 0===f.packed[i]&&void 0!==f.basic[i]||a.setOption("packed",!1,!0)}else!function(e,t){var n=I();if(!j.test(n))throw U(n,"name");var i=d.lcFirst(n);n===i&&(n=d.ucFirst(n)),N("=");var r=H(I()),a=new o(n);a.group=!0;var c=new s(i,r,n,t);c.filename=$.filename,Q(a,(function(e){switch(e){case"option":ee(a,e),N(";");break;case"required":case"repeated":Y(a,e);break;case"optional":Y(a,q?"proto3_optional":"optional");break;case"message":Z(a,e);break;case"enum":X(a,e);break;default:throw U(e)}})),e.add(a).add(c)}(e,t)}function X(e,t){if(!j.test(t=I()))throw U(t,"name");var n=new p(t);Q(n,(function(e){switch(e){case"option":ee(n,e),N(";");break;case"reserved":B(n.reserved||(n.reserved=[]),!0);break;default:!function(e,t){if(!j.test(t))throw U(t,"name");N("=");var n=H(I(),!0),i={options:void 0,setOption:function(e,t){void 0===this.options&&(this.options={}),this.options[e]=t}};Q(i,(function(e){if("option"!==e)throw U(e);ee(i,e),N(";")}),(function(){ie(i)})),e.add(t,n,i.comment,i.options)}(n,e)}})),e.add(n)}function ee(e,t){var n=N("(",!0);if(!x.test(t=I()))throw U(t,"name");var i,r=t,o=r;n&&(N(")"),o=r="("+r+")",t=M(),w.test(t)&&(i=t.slice(1),r+=t,I())),N("="),function(e,t,n,i){e.setParsedOption&&e.setParsedOption(t,n,i)}(e,o,te(e,r),i)}function te(e,t){if(N("{",!0)){for(var n={};!N("}",!0);){if(!j.test(A=I()))throw U(A,"name");if(null===A)throw U(A,"end of input");var i,r=A;if(N(":",!0),"{"===M())i=te(e,t+"."+A);else if("["===M()){var o;if(i=[],N("[",!0)){do{o=z(!0),i.push(o)}while(N(",",!0));N("]"),void 0!==o&&ne(e,t+"."+A,o)}}else i=z(!0),ne(e,t+"."+A,i);var s=n[r];s&&(i=[].concat(s).concat(i)),n[r]=i,N(",",!0),N(";",!0)}return n}var a=z(!0);return ne(e,t,a),a}function ne(e,t,n){e.setOption&&e.setOption(t,n)}function ie(e){if(N("[",!0)){do{ee(e,"option")}while(N(",",!0));N("]")}return e}for(;null!==(A=I());)switch(A){case"package":if(!D)throw U(A);W();break;case"import":if(!D)throw U(A);G();break;case"syntax":if(!D)throw U(A);K();break;case"option":ee(F,A),N(";");break;default:if(J(F,A)){D=!1;continue}throw U(A)}return $.filename=null,{package:S,imports:P,weakImports:O,syntax:E,root:t}}},12074:(e,t,n)=>{"use strict";e.exports=c;var i,r=n(28835),o=r.LongBits,s=r.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var p,l="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},u=function(){return r.Buffer?function(e){return(c.create=function(e){return r.Buffer.isBuffer(e)?new i(e):l(e)})(e)}:l};function f(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function d(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function h(){if(this.pos+8>this.len)throw a(this,8);return new o(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}c.create=u(),c.prototype._slice=r.Array.prototype.subarray||r.Array.prototype.slice,c.prototype.uint32=(p=4294967295,function(){if(p=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return p;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return p}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return d(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|d(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=r.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=r.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(t,n);if(t===n){var i=r.Buffer;return i?i.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){i=e,c.create=u(),i._configure();var t=r.Long?"toLong":"toNumber";r.merge(c.prototype,{int64:function(){return f.call(this)[t](!1)},uint64:function(){return f.call(this)[t](!0)},sint64:function(){return f.call(this).zzDecode()[t](!1)},fixed64:function(){return h.call(this)[t](!0)},sfixed64:function(){return h.call(this)[t](!1)}})}},70069:(e,t,n)=>{"use strict";e.exports=o;var i=n(12074);(o.prototype=Object.create(i.prototype)).constructor=o;var r=n(28835);function o(e){i.call(this,e)}o._configure=function(){r.Buffer&&(o.prototype._slice=r.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},71554:(e,t,n)=>{"use strict";e.exports=u;var i=n(47225);((u.prototype=Object.create(i.prototype)).constructor=u).className="Root";var r,o,s,a=n(52149),c=n(20969),p=n(62288),l=n(62827);function u(e){i.call(this,"",e),this.deferred=[],this.files=[]}function f(){}u.fromJSON=function(e,t){return t||(t=new u),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},u.prototype.resolvePath=l.path.resolve,u.prototype.fetch=l.fetch,u.prototype.load=function e(t,n,i){"function"==typeof n&&(i=n,n=void 0);var r=this;if(!i)return l.asPromise(e,r,t,n);var a=i===f;function c(e,t){if(i){if(a)throw e;var n=i;i=null,n(e,t)}}function p(e){var t=e.lastIndexOf("google/protobuf/");if(t>-1){var n=e.substring(t);if(n in s)return n}return null}function u(e,t){try{if(l.isString(t)&&"{"===t.charAt(0)&&(t=JSON.parse(t)),l.isString(t)){o.filename=e;var i,s=o(t,r,n),u=0;if(s.imports)for(;u-1))if(r.files.push(e),e in s)a?u(e,s[e]):(++h,setTimeout((function(){--h,u(e,s[e])})));else if(a){var n;try{n=l.fs.readFileSync(e).toString("utf8")}catch(e){return void(t||c(e))}u(e,n)}else++h,r.fetch(e,(function(n,o){--h,i&&(n?t?h||c(null,r):c(n):u(e,o))}))}var h=0;l.isString(t)&&(t=[t]);for(var m,y=0;y-1&&this.deferred.splice(t,1)}}else if(e instanceof c)d.test(e.name)&&delete e.parent[e.name];else if(e instanceof i){for(var n=0;n{"use strict";e.exports={}},97876:(e,t,n)=>{"use strict";t.Service=n(51380)},51380:(e,t,n)=>{"use strict";e.exports=r;var i=n(28835);function r(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(r.prototype=Object.create(i.EventEmitter.prototype)).constructor=r,r.prototype.rpcCall=function e(t,n,r,o,s){if(!o)throw TypeError("request must be specified");var a=this;if(!s)return i.asPromise(e,a,t,n,r,o);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,n){if(e)return a.emit("error",e,t),s(e);if(null!==n){if(!(n instanceof r))try{n=r[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",n,t),s(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){s(e)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},82868:(e,t,n)=>{"use strict";e.exports=a;var i=n(47225);((a.prototype=Object.create(i.prototype)).constructor=a).className="Service";var r=n(96240),o=n(62827),s=n(97876);function a(e,t){i.call(this,e,t),this.methods={},this._methodsArray=null}function c(e){return e._methodsArray=null,e}a.fromJSON=function(e,t){var n=new a(e,t.options);if(t.methods)for(var i=Object.keys(t.methods),o=0;o{"use strict";e.exports=u;var t=/[\s{}=;:[\],'"()<>]/g,n=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,i=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,r=/^ *[*/]+ */,o=/^\s*\*?\/*/,s=/\n/g,a=/\s/,c=/\\(.?)/g,p={0:"\0",r:"\r",n:"\n",t:"\t"};function l(e){return e.replace(c,(function(e,t){switch(t){case"\\":case"":return t;default:return p[t]||""}}))}function u(e,c){e=e.toString();var p=0,u=e.length,f=1,d=0,h={},m=[],y=null;function g(e){return Error("illegal "+e+" (line "+f+")")}function b(t){return e.charAt(t)}function v(t,n,i){var a,p={type:e.charAt(t++),lineEmpty:!1,leading:i},l=t-(c?2:3);do{if(--l<0||"\n"===(a=e.charAt(l))){p.lineEmpty=!0;break}}while(" "===a||"\t"===a);for(var u=e.substring(t,n).split(s),m=0;m0)return m.shift();if(y)return function(){var t="'"===y?i:n;t.lastIndex=p-1;var r=t.exec(e);if(!r)throw g("string");return p=t.lastIndex,w(y),y=null,l(r[1])}();var r,o,s,d,h,x=0===p;do{if(p===u)return null;for(r=!1;a.test(s=b(p));)if("\n"===s&&(x=!0,++f),++p===u)return null;if("/"===b(p)){if(++p===u)throw g("comment");if("/"===b(p))if(c){if(d=p,h=!1,_(p-1)){h=!0;do{if((p=j(p))===u)break;if(p++,!x)break}while(_(p))}else p=Math.min(u,j(p)+1);h&&(v(d,p,x),x=!0),f++,r=!0}else{for(h="/"===b(d=p+1);"\n"!==b(++p);)if(p===u)return null;++p,h&&(v(d,p-1,x),x=!0),++f,r=!0}else{if("*"!==(s=b(p)))return"/";d=p+1,h=c||"*"===b(d);do{if("\n"===s&&++f,++p===u)throw g("comment");o=s,s=b(p)}while("*"!==o||"/"!==s);++p,h&&(v(d,p-2,x),x=!0),r=!0}}}while(r);var $=p;if(t.lastIndex=0,!t.test(b($++)))for(;${"use strict";e.exports=b;var i=n(47225);((b.prototype=Object.create(i.prototype)).constructor=b).className="Type";var r=n(20969),o=n(62288),s=n(52149),a=n(91198),c=n(82868),p=n(61048),l=n(12074),u=n(22147),f=n(62827),d=n(73860),h=n(99388),m=n(29012),y=n(50032),g=n(40486);function b(e,t){i.call(this,e,t),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null}function v(e){return e._fieldsById=e._fieldsArray=e._oneofsArray=null,delete e.encode,delete e.decode,delete e.verify,e}Object.defineProperties(b.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var e=Object.keys(this.fields),t=0;t{"use strict";var i=t,r=n(62827),o=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function s(e,t){var n=0,i={};for(t|=0;n{"use strict";var i,r,o=e.exports=n(28835),s=n(44007);o.codegen=n(68679),o.fetch=n(11),o.path=n(13049),o.fs=o.inquire("fs"),o.toArray=function(e){if(e){for(var t=Object.keys(e),n=new Array(t.length),i=0;i0)t[r]=e(t[r]||{},n,i);else{var o=t[r];o&&(i=[].concat(o).concat(i)),t[r]=i}return t}(e,t=t.split("."),n)},Object.defineProperty(o,"decorateRoot",{get:function(){return s.decorated||(s.decorated=new(n(71554)))}})},54600:(e,t,n)=>{"use strict";e.exports=r;var i=n(28835);function r(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=r.zero=new r(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=r.zeroHash="\0\0\0\0\0\0\0\0";r.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)},r.from=function(e){if("number"==typeof e)return r.fromNumber(e);if(i.isString(e)){if(!i.Long)return r.fromNumber(parseInt(e,10));e=i.Long.fromString(e)}return e.low||e.high?new r(e.low>>>0,e.high>>>0):o},r.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},r.prototype.toLong=function(e){return i.Long?new i.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;r.fromHash=function(e){return e===s?o:new r((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},r.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},r.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},r.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},r.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},28835:function(e,t,n){"use strict";var i=t;function r(e,t,n){for(var i=Object.keys(t),r=0;r0)},i.Buffer=function(){try{var e=i.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(e){return"number"==typeof e?i.Buffer?i._Buffer_allocUnsafe(e):new i.Array(e):i.Buffer?i._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},i.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(e){return e?i.LongBits.from(e).toHash():i.LongBits.zeroHash},i.longFromHash=function(e,t){var n=i.LongBits.fromHash(e);return i.Long?i.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},i.merge=r,i.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},i.newError=o,i.ProtocolError=o("ProtocolError"),i.oneOfGetter=function(e){for(var t={},n=0;n-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},i.oneOfSetter=function(e){return function(t){for(var n=0;n{"use strict";e.exports=function(e){var t=r.codegen(["m"],e.name+"$verify")('if(typeof m!=="object"||m===null)')("return%j","object expected"),n={};e.oneofsArray.length&&t("var p={}");for(var i=0;i{"use strict";var i=t,r=n(61048);i[".google.protobuf.Any"]={fromObject:function(e){if(e&&e["@type"]){var t=e["@type"].substring(e["@type"].lastIndexOf("/")+1),n=this.lookup(t);if(n){var i="."===e["@type"].charAt(0)?e["@type"].slice(1):e["@type"];return-1===i.indexOf("/")&&(i="/"+i),this.create({type_url:i,value:n.encode(n.fromObject(e)).finish()})}}return this.fromObject(e)},toObject:function(e,t){var n="",i="";if(t&&t.json&&e.type_url&&e.value){i=e.type_url.substring(e.type_url.lastIndexOf("/")+1),n=e.type_url.substring(0,e.type_url.lastIndexOf("/")+1);var o=this.lookup(i);o&&(e=o.decode(e.value))}if(!(e instanceof this.ctor)&&e instanceof r){var s=e.$type.toObject(e,t);return""===n&&(n="type.googleapis.com/"),i=n+("."===e.$type.fullName[0]?e.$type.fullName.slice(1):e.$type.fullName),s["@type"]=i,s}return this.toObject(e,t)}}},22147:(e,t,n)=>{"use strict";e.exports=u;var i,r=n(28835),o=r.LongBits,s=r.base64,a=r.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function p(){}function l(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function u(){this.len=0,this.head=new c(p,0,0),this.tail=this.head,this.states=null}var f=function(){return r.Buffer?function(){return(u.create=function(){return new i})()}:function(){return new u}};function d(e,t,n){t[n]=255&e}function h(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}u.create=f(),u.alloc=function(e){return new r.Array(e)},r.Array!==Array&&(u.alloc=r.pool(u.alloc,r.Array.prototype.subarray)),u.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},h.prototype=Object.create(c.prototype),h.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},u.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new h((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},u.prototype.int32=function(e){return e<0?this._push(m,10,o.fromNumber(e)):this.uint32(e)},u.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},u.prototype.uint64=function(e){var t=o.from(e);return this._push(m,t.length(),t)},u.prototype.int64=u.prototype.uint64,u.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(m,t.length(),t)},u.prototype.bool=function(e){return this._push(d,1,e?1:0)},u.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},u.prototype.sfixed32=u.prototype.fixed32,u.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},u.prototype.sfixed64=u.prototype.fixed64,u.prototype.float=function(e){return this._push(r.float.writeFloatLE,4,e)},u.prototype.double=function(e){return this._push(r.float.writeDoubleLE,8,e)};var g=r.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var i=0;i>>0;if(!t)return this._push(d,1,0);if(r.isString(e)){var n=u.alloc(t=s.length(e));s.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},u.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(d,1,0)},u.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new c(p,0,0),this.len=0,this},u.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(p,0,0),this.len=0),this},u.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},u.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},u._configure=function(e){i=e,u.create=f(),i._configure()}},85055:(e,t,n)=>{"use strict";e.exports=o;var i=n(22147);(o.prototype=Object.create(i.prototype)).constructor=o;var r=n(28835);function o(){i.call(this)}function s(e,t,n){e.length<40?r.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}o._configure=function(){o.alloc=r._Buffer_allocUnsafe,o.writeBytesBuffer=r.Buffer&&r.Buffer.prototype instanceof Uint8Array&&"set"===r.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var i=0;i>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=r.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},43577:(e,t,n)=>{"use strict";var i=n(30138),r=n(27378),o=n(43637);function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n
")}value(){return this.buffer}span(e){this.buffer+=``}}class f{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{f._collapse(e)})))}}class d extends f{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new u(this,this.options).value()}finalize(){return!0}}function h(e){return e?"string"==typeof e?e:e.source:null}const m=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,y="[a-zA-Z]\\w*",g="[a-zA-Z_]\\w*",b="\\b\\d+(\\.\\d+)?",v="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",_="\\b(0b[01]+)",j={begin:"\\\\[\\s\\S]",relevance:0},x={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[j]},w={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[j]},$={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},S=function(e,t,n={}){const i=p({className:"comment",begin:e,end:t,contains:[]},n);return i.contains.push($),i.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),i},P=S("//","$"),O=S("/\\*","\\*/"),E=S("#","$"),A={className:"number",begin:b,relevance:0},T={className:"number",begin:v,relevance:0},k={className:"number",begin:_,relevance:0},I={className:"number",begin:b+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},R={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[j,{begin:/\[/,end:/\]/,relevance:0,contains:[j]}]}]},M={className:"title",begin:y,relevance:0},N={className:"title",begin:g,relevance:0},C={begin:"\\.\\s*"+g,relevance:0};var D=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:y,UNDERSCORE_IDENT_RE:g,NUMBER_RE:b,C_NUMBER_RE:v,BINARY_NUMBER_RE:_,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>h(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),p({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:j,APOS_STRING_MODE:x,QUOTE_STRING_MODE:w,PHRASAL_WORDS_MODE:$,COMMENT:S,C_LINE_COMMENT_MODE:P,C_BLOCK_COMMENT_MODE:O,HASH_COMMENT_MODE:E,NUMBER_MODE:A,C_NUMBER_MODE:T,BINARY_NUMBER_MODE:k,CSS_NUMBER_MODE:I,REGEXP_MODE:R,TITLE_MODE:M,UNDERSCORE_TITLE_MODE:N,METHOD_GUARD:C,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function q(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function F(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=q,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function L(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>h(e))).join("|")+")"}(...e.illegal))}function U(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function V(e,t){void 0===e.relevance&&(e.relevance=1)}const z=["of","and","for","in","not","or","if","then","parent","list","value"],B="keyword";function H(e,t,n=B){const i={};return"string"==typeof e?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach((function(n){Object.assign(i,H(e[n],t,n))})),i;function r(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");i[n[0]]=[e,W(n[0],n[1])]}))}}function W(e,t){return t?Number(t):function(e){return z.includes(e.toLowerCase())}(e)?0:1}function G(e,{plugins:t}){function n(t,n){return new RegExp(h(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class i{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let i=h(e),r="";for(;i.length>0;){const e=m.exec(i);if(!e){r+=i;break}r+=i.substring(0,e.index),i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+String(Number(e[1])+t):(r+=e[0],"("===e[0]&&n++)}return r})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,i)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new i;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=p(e.classNameAliases||{}),function t(i,o){const s=i;if(i.isCompiled)return s;[U].forEach((e=>e(i,o))),e.compilerExtensions.forEach((e=>e(i,o))),i.__beforeBegin=null,[F,L,V].forEach((e=>e(i,o))),i.isCompiled=!0;let a=null;if("object"==typeof i.keywords&&(a=i.keywords.$pattern,delete i.keywords.$pattern),i.keywords&&(i.keywords=H(i.keywords,e.case_insensitive)),i.lexemes&&a)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return a=a||i.lexemes||/\w+/,s.keywordPatternRe=n(a,!0),o&&(i.begin||(i.begin=/\B|\b/),s.beginRe=n(i.begin),i.endSameAsBegin&&(i.end=i.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(s.endRe=n(i.end)),s.terminatorEnd=h(i.end)||"",i.endsWithParent&&o.terminatorEnd&&(s.terminatorEnd+=(i.end?"|":"")+o.terminatorEnd)),i.illegal&&(s.illegalRe=n(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(e){return function(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return p(e,{variants:null},t)}))),e.cachedVariants?e.cachedVariants:K(e)?p(e,{starts:e.starts?p(e.starts):null}):Object.isFrozen(e)?p(e):e}("self"===e?i:e)}))),i.contains.forEach((function(e){t(e,s)})),i.starts&&t(i.starts,o),s.matcher=function(e){const t=new r;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(s),s}(e)}function K(e){return!!e&&(e.endsWithParent||K(e.starts))}function J(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return i.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,c(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Q={"after:highlightElement":({el:e,result:t,text:n})=>{const i=Y(e);if(!i.length)return;const r=document.createElement("div");r.innerHTML=t.value,t.value=function(e,t,n){let i=0,r="";const o=[];function s(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function p(e){r+=""}function l(e){("start"===e.event?a:p)(e.node)}for(;e.length||t.length;){let t=s();if(r+=c(n.substring(i,t[0].offset)),i=t[0].offset,t===e){o.reverse().forEach(p);do{l(t.splice(0,1)[0]),t=s()}while(t===e&&t.length&&t[0].offset===i);o.reverse().forEach(a)}else"start"===t[0].event?o.push(t[0].node):o.pop(),l(t.splice(0,1)[0])}return r+c(n.substr(i))}(i,Y(r),n)}};function Z(e){return e.nodeName.toLowerCase()}function Y(e){const t=[];return function e(n,i){for(let r=n.firstChild;r;r=r.nextSibling)3===r.nodeType?i+=r.nodeValue.length:1===r.nodeType&&(t.push({event:"start",offset:i,node:r}),i=e(r,i),Z(r).match(/br|hr|img|input/)||t.push({event:"stop",offset:i,node:r}));return i}(e,0),t}const X={},ee=e=>{i.error(e)},te=(e,...t)=>{i.log(`WARN: ${e}`,...t)},ne=(e,t)=>{X[`${e}/${t}`]||(i.log(`Deprecated as of ${e}. ${t}`),X[`${e}/${t}`]=!0)},ie=c,re=p,oe=Symbol("nomatch");var se=function(e){const t=Object.create(null),n=Object.create(null),i=[];let r=!0;const s=/(^(<[^>]+>|\t|)+|\n)/gm,c="Could not find the language '{}', did you forget to load/include a language module?",p={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:d};function u(e){return l.noHighlightRe.test(e)}function f(e,t,n,i){let r="",o="";"object"==typeof t?(r=e,n=t.ignoreIllegals,o=t.language,i=void 0):(ne("10.7.0","highlight(lang, code, ...args) has been deprecated."),ne("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,r=t);const s={code:r,language:o};P("before:highlight",s);const a=s.result?s.result:h(s.language,s.code,n,i);return a.code=s.code,P("after:highlight",a),a}function h(e,n,o,s){function p(e,t){const n=_.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){null!=$.subLanguage?function(){if(""===O)return;let e=null;if("string"==typeof $.subLanguage){if(!t[$.subLanguage])return void P.addText(O);e=h($.subLanguage,O,!0,S[$.subLanguage]),S[$.subLanguage]=e.top}else e=m(O,$.subLanguage.length?$.subLanguage:null);$.relevance>0&&(E+=e.relevance),P.addSublanguage(e.emitter,e.language)}():function(){if(!$.keywords)return void P.addText(O);let e=0;$.keywordPatternRe.lastIndex=0;let t=$.keywordPatternRe.exec(O),n="";for(;t;){n+=O.substring(e,t.index);const i=p($,t);if(i){const[e,r]=i;if(P.addText(n),n="",E+=r,e.startsWith("_"))n+=t[0];else{const n=_.classNameAliases[e]||e;P.addKeyword(t[0],n)}}else n+=t[0];e=$.keywordPatternRe.lastIndex,t=$.keywordPatternRe.exec(O)}n+=O.substr(e),P.addText(n)}(),O=""}function f(e){return e.className&&P.openNode(_.classNameAliases[e.className]||e.className),$=Object.create(e,{parent:{value:$}}),$}function d(e,t,n){let i=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(i){if(e["on:end"]){const n=new a(e);e["on:end"](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return d(e.parent,t,n)}function y(e){return 0===$.matcher.regexIndex?(O+=e[0],1):(k=!0,0)}function g(e){const t=e[0],i=n.substr(e.index),r=d($,e,i);if(!r)return oe;const o=$;o.skip?O+=t:(o.returnEnd||o.excludeEnd||(O+=t),u(),o.excludeEnd&&(O=t));do{$.className&&P.closeNode(),$.skip||$.subLanguage||(E+=$.relevance),$=$.parent}while($!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),f(r.starts)),o.returnEnd?0:t.length}let b={};function v(t,i){const s=i&&i[0];if(O+=t,null==s)return u(),0;if("begin"===b.type&&"end"===i.type&&b.index===i.index&&""===s){if(O+=n.slice(i.index,i.index+1),!r){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=b.rule,t}return 1}if(b=i,"begin"===i.type)return function(e){const t=e[0],n=e.rule,i=new a(n),r=[n.__beforeBegin,n["on:begin"]];for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?O+=t:(n.excludeBegin&&(O+=t),u(),n.returnBegin||n.excludeBegin||(O=t)),f(n),n.returnBegin?0:t.length}(i);if("illegal"===i.type&&!o){const e=new Error('Illegal lexeme "'+s+'" for mode "'+($.className||"")+'"');throw e.mode=$,e}if("end"===i.type){const e=g(i);if(e!==oe)return e}if("illegal"===i.type&&""===s)return 1;if(T>1e5&&T>3*i.index)throw new Error("potential infinite loop, way more iterations than matches");return O+=s,s.length}const _=w(e);if(!_)throw ee(c.replace("{}",e)),new Error('Unknown language: "'+e+'"');const j=G(_,{plugins:i});let x="",$=s||j;const S={},P=new l.__emitter(l);!function(){const e=[];for(let t=$;t!==_;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>P.openNode(e)))}();let O="",E=0,A=0,T=0,k=!1;try{for($.matcher.considerAll();;){T++,k?k=!1:$.matcher.considerAll(),$.matcher.lastIndex=A;const e=$.matcher.exec(n);if(!e)break;const t=v(n.substring(A,e.index),e);A=e.index+t}return v(n.substr(A)),P.closeAllNodes(),P.finalize(),x=P.toHTML(),{relevance:Math.floor(E),value:x,language:e,illegal:!1,emitter:P,top:$}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(A-100,A+100),mode:t.mode},sofar:x,relevance:0,value:ie(n),emitter:P};if(r)return{illegal:!1,relevance:0,value:ie(n),emitter:P,language:e,top:$,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const i=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:ie(e),illegal:!1,top:p};return t.emitter.addText(e),t}(e),r=n.filter(w).filter(S).map((t=>h(t,e,!1)));r.unshift(i);const o=r.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(w(e.language).supersetOf===t.language)return 1;if(w(t.language).supersetOf===e.language)return-1}return 0})),[s,a]=o,c=s;return c.second_best=a,c}const y={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"
"))}},g=/^(<[^>]+>|\t)+/gm,b={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(g,(e=>e.replace(/\t/g,l.tabReplace))))}};function v(e){let t=null;const i=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=w(n[1]);return t||(te(c.replace("{}",n[1])),te("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>u(e)||w(e)))}(e);if(u(i))return;P("before:highlightElement",{el:e,language:i}),t=e;const r=t.textContent,o=i?f(r,{language:i,ignoreIllegals:!0}):m(r);P("after:highlightElement",{el:e,result:o,text:r}),e.innerHTML=o.value,function(e,t,i){const r=t?n[t]:i;e.classList.add("hljs"),r&&e.classList.add(r)}(e,i,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const _=()=>{_.called||(_.called=!0,ne("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."),document.querySelectorAll("pre code").forEach(v))};let j=!1;function x(){"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(v):j=!0}function w(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function $(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function S(e){const t=w(e);return t&&!t.disableAutodetect}function P(e,t){const n=e;i.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){j&&x()}),!1),Object.assign(e,{highlight:f,highlightAuto:m,highlightAll:x,fixMarkup:function(e){return ne("10.2.0","fixMarkup will be removed entirely in v11.0"),ne("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),t=e,l.tabReplace||l.useBR?t.replace(s,(e=>"\n"===e?l.useBR?"
":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):t;var t},highlightElement:v,highlightBlock:function(e){return ne("10.7.0","highlightBlock will be removed entirely in v12.0"),ne("10.7.0","Please use highlightElement now."),v(e)},configure:function(e){e.useBR&&(ne("10.3.0","'useBR' will be removed entirely in v11.0"),ne("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=re(l,e)},initHighlighting:_,initHighlightingOnLoad:function(){ne("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),j=!0},registerLanguage:function(n,i){let o=null;try{o=i(e)}catch(e){if(ee("Language definition for '{}' could not be registered.".replace("{}",n)),!r)throw e;ee(e),o=p}o.name||(o.name=n),t[n]=o,o.rawDefinition=i.bind(null,e),o.aliases&&$(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:w,registerAliases:$,requireLanguage:function(e){ne("10.4.0","requireLanguage will be removed entirely in v11."),ne("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=w(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:S,inherit:re,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),i.push(e)},vuePlugin:J(e).VuePlugin}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString="10.7.3";for(const e in D)"object"==typeof D[e]&&o(D[e]);return Object.assign(e,D),e.addPlugin(y),e.addPlugin(Q),e.addPlugin(b),e}({});e.exports=se},35001:e=>{function t(...e){return e.map((e=>{return(t=e)?"string"==typeof t?t:t.source:null;var t})).join("")}e.exports=function(e){const n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(s);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},c=e.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),p={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[c,e.SHEBANG(),p,a,e.HASH_COMMENT_MODE,o,s,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},n]}}},23506:e=>{e.exports=function(e){const t={literal:"true false null"},n=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],i=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:i,keywords:t},o={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})].concat(n),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return i.push(o,s),n.forEach((function(e){i.push(e)})),{name:"JSON",contains:i,keywords:t,illegal:"\\S"}}},25941:e=>{e.exports=function(e){var t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},r=e.inherit(i,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),o={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},s={begin:/\{/,end:/\}/,contains:[o],illegal:"\\n",relevance:0},a={begin:"\\[",end:"\\]",contains:[o],illegal:"\\n",relevance:0},c=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,a,i],p=[...c];return p.pop(),p.push(r),o.contains=p,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:c}}},78898:(e,t)=>{t.read=function(e,t,n,i,r){var o,s,a=8*r-i-1,c=(1<>1,l=-7,u=n?r-1:0,f=n?-1:1,d=e[t+u];for(u+=f,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=256*o+e[t+u],u+=f,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=i;l>0;s=256*s+e[t+u],u+=f,l-=8);if(0===o)o=1-p;else{if(o===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),o-=p}return(d?-1:1)*s*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var s,a,c,p=8*o-r-1,l=(1<>1,f=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,h=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+u>=1?f/c:f*Math.pow(2,1-u))*c>=2&&(s++,c/=2),s+u>=l?(a=0,s=l):s+u>=1?(a=(t*c-1)*Math.pow(2,r),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;e[n+d]=255&a,d+=h,a/=256,r-=8);for(s=s<0;e[n+d]=255&s,d+=h,s/=256,p-=8);e[n+d-h]|=128*m}},38862:(e,t)=>{function n(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i3?t.t-4:t.t:Array.isArray(e)?1:u(e)?2:f(e)?3:0}function a(e,t){return 2===s(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function c(e,t){return 2===s(e)?e.get(t):e[t]}function p(e,t,n){var i=s(e);2===i?e.set(t,n):3===i?e.add(n):e[t]=n}function l(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function u(e){return z&&e instanceof Map}function f(e){return B&&e instanceof Set}function d(e){return e.i||e.u}function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Y(e);delete t[K];for(var n=Z(t),i=0;i1&&(e.set=e.add=e.clear=e.delete=y),Object.freeze(e),t&&o(e,(function(e,t){return m(t,!0)}),!0)),e}function y(){n(2)}function g(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function b(e){var t=X[e];return t||n(18,e),t}function v(e,t){X[e]||(X[e]=t)}function _(){return U}function j(e,t){t&&(b("Patches"),e.o=[],e.v=[],e.s=t)}function x(e){w(e),e.p.forEach(S),e.p=null}function w(e){e===U&&(U=e.l)}function $(e){return U={p:[],l:U,h:e,_:!0,m:0}}function S(e){var t=e[K];0===t.t||1===t.t?t.j():t.O=!0}function P(e,t){t.m=t.p.length;var i=t.p[0],o=void 0!==e&&e!==i;return t.h.S||b("ES5").P(t,e,o),o?(i[K].g&&(x(t),n(4)),r(e)&&(e=O(t,e),t.l||A(t,e)),t.o&&b("Patches").M(i[K].u,e,t.o,t.v)):e=O(t,i,[]),x(t),t.o&&t.s(t.o,t.v),e!==W?e:void 0}function O(e,t,n){if(g(t))return t;var i=t[K];if(!i)return o(t,(function(r,o){return E(e,i,t,r,o,n)}),!0),t;if(i.A!==e)return t;if(!i.g)return A(e,i.u,!0),i.u;if(!i.R){i.R=!0,i.A.m--;var r=4===i.t||5===i.t?i.i=h(i.k):i.i,s=r,a=!1;3===i.t&&(s=new Set(r),r.clear(),a=!0),o(s,(function(t,o){return E(e,i,r,t,o,n,a)})),A(e,r,!1),n&&e.o&&b("Patches").F(i,n,e.o,e.v)}return i.i}function E(e,t,n,o,s,c,l){if(i(s)){var u=O(e,s,c&&t&&3!==t.t&&!a(t.N,o)?c.concat(o):void 0);if(p(n,o,u),!i(u))return;e._=!1}else l&&n.add(s);if(r(s)&&!g(s)){if(!e.h.D&&e.m<1)return;O(e,s),t&&t.A.l||A(e,s)}}function A(e,t,n){void 0===n&&(n=!1),!e.l&&e.h.D&&e._&&m(t,n)}function T(e,t){var n=e[K];return(n?d(n):e)[t]}function k(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var i=Object.getOwnPropertyDescriptor(n,t);if(i)return i;n=Object.getPrototypeOf(n)}}function I(e){e.g||(e.g=!0,e.l&&I(e.l))}function R(e){e.i||(e.i=h(e.u))}function M(e,t,n){var i=u(t)?b("MapSet").K(t,n):f(t)?b("MapSet").$(t,n):e.S?function(e,t){var n=Array.isArray(e),i={t:n?1:0,A:t?t.A:_(),g:!1,R:!1,N:{},l:t,u:e,k:null,i:null,j:null,C:!1},r=i,o=ee;n&&(r=[i],o=te);var s=Proxy.revocable(r,o),a=s.revoke,c=s.proxy;return i.k=c,i.j=a,c}(t,n):b("ES5").I(t,n);return(n?n.A:_()).p.push(i),i}function N(e){return i(e)||n(22,e),function e(t){if(!r(t))return t;var n,i=t[K],a=s(t);if(i){if(!i.g&&(i.t<4||!b("ES5").J(i)))return i.u;i.R=!0,n=C(t,a),i.R=!1}else n=C(t,a);return o(n,(function(t,r){i&&c(i.u,t)===r||p(n,t,e(r))})),3===a?new Set(n):n}(e)}function C(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return h(e)}function D(){function e(e,t){var n=s[e];return n?n.enumerable=t:s[e]=n={configurable:!0,enumerable:t,get:function(){return ee.get(this[K],e)},set:function(t){ee.set(this[K],e,t)}},n}function t(e){for(var t=e.length-1;t>=0;t--){var i=e[t][K];if(!i.g)switch(i.t){case 5:r(i)&&I(i);break;case 4:n(i)&&I(i)}}}function n(e){for(var t=e.u,n=e.k,i=Z(n),r=i.length-1;r>=0;r--){var o=i[r];if(o!==K){var s=t[o];if(void 0===s&&!a(t,o))return!0;var c=n[o],p=c&&c[K];if(p?p.u!==s:!l(c,s))return!0}}var u=!!t[K];return i.length!==Z(t).length+(u?0:1)}function r(e){var t=e.k;if(t.length!==e.u.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);if(n&&!n.get)return!0;for(var i=0;i1?n-1:0),o=1;o1?i-1:0),o=1;o=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));var o=b("Patches").W;return i(e)?o(e,t):this.produce(e,(function(e){return o(e,t)}))},e}(),ie=new ne,re=ie.produce,oe=ie.produceWithPatches.bind(ie),se=ie.setAutoFreeze.bind(ie),ae=ie.setUseProxies.bind(ie),ce=ie.applyPatches.bind(ie),pe=ie.createDraft.bind(ie),le=ie.finishDraft.bind(ie);t.Immer=ne,t.applyPatches=ce,t.castDraft=function(e){return e},t.castImmutable=function(e){return e},t.createDraft=pe,t.current=N,t.default=re,t.enableAllPlugins=function(){D(),F(),q()},t.enableES5=D,t.enableMapSet=F,t.enablePatches=q,t.finishDraft=le,t.freeze=m,t.immerable=G,t.isDraft=i,t.isDraftable=r,t.nothing=W,t.original=function(e){return i(e)||n(23,e),e[K].u},t.produce=re,t.produceWithPatches=oe,t.setAutoFreeze=se,t.setUseProxies=ae},33037:(e,t,n)=>{"use strict";e.exports=n(38862)},70087:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},22524:(e,t,n)=>{"use strict";var i=n(71712),r=n(95337)(),o=n(31805),s={assert:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");if(r.assert(e),!s.has(e,t))throw new o("`"+t+"` is not present on `O`")},get:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");var n=r.get(e);return n&&n["$"+t]},has:function(e,t){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");var n=r.get(e);return!!n&&i(n,"$"+t)},set:function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new o("`O` is not an object");if("string"!=typeof t)throw new o("`slot` must be a string");var i=r.get(e);i||(i={},r.set(e,i)),i["$"+t]=n}};Object.freeze&&Object.freeze(s),e.exports=s},47740:(e,t,n)=>{"use strict";var i=n(10698)(),r=n(12737)("Object.prototype.toString"),o=function(e){return!(i&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===r(e)},s=function(e){return!!o(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==r(e)&&"[object Function]"===r(e.callee)},a=function(){return o(arguments)}();o.isLegacyArguments=s,e.exports=a?o:s},72922:e=>{"use strict";var t,n,i=Function.prototype.toString,r="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof r&&"function"==typeof Object.defineProperty)try{t=Object.defineProperty({},"length",{get:function(){throw n}}),n={},r((function(){throw 42}),null,t)}catch(e){e!==n&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=i.call(e);return o.test(t)}catch(e){return!1}},a=function(e){try{return!s(e)&&(i.call(e),!0)}catch(e){return!1}},c=Object.prototype.toString,p="function"==typeof Symbol&&!!Symbol.toStringTag,l=!(0 in[,]),u=function(){return!1};if("object"==typeof document){var f=document.all;c.call(f)===c.call(document.all)&&(u=function(e){if((l||!e)&&(void 0===e||"object"==typeof e))try{var t=c.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=r?function(e){if(u(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{r(e,null,t)}catch(e){if(e!==n)return!1}return!s(e)&&a(e)}:function(e){if(u(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(p)return a(e);if(s(e))return!1;var t=c.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&a(e)}},18265:(e,t,n)=>{"use strict";var i,r=Object.prototype.toString,o=Function.prototype.toString,s=/^\s*(?:function)?\*/,a=n(10698)(),c=Object.getPrototypeOf;e.exports=function(e){if("function"!=typeof e)return!1;if(s.test(o.call(e)))return!0;if(!a)return"[object GeneratorFunction]"===r.call(e);if(!c)return!1;if(void 0===i){var t=function(){if(!a)return!1;try{return Function("return function*() {}")()}catch(e){}}();i=!!t&&c(t)}return c(e)===i}},44127:e=>{"use strict";e.exports=function(e){return e!=e}},74866:(e,t,n)=>{"use strict";var i=n(34573),r=n(67392),o=n(44127),s=n(40850),a=n(88045),c=i(s(),Number);r(c,{getPolyfill:s,implementation:o,shim:a}),e.exports=c},40850:(e,t,n)=>{"use strict";var i=n(44127);e.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:i}},88045:(e,t,n)=>{"use strict";var i=n(67392),r=n(40850);e.exports=function(){var e=r();return i(Number,{isNaN:e},{isNaN:function(){return Number.isNaN!==e}}),e}},38559:(e,t,n)=>{"use strict";var i=String.prototype.valueOf,r=Object.prototype.toString,o=n(10698)();e.exports=function(e){return"string"==typeof e||"object"==typeof e&&(o?function(e){try{return i.call(e),!0}catch(e){return!1}}(e):"[object String]"===r.call(e))}},50387:(e,t,n)=>{"use strict";var i=n(52505);e.exports=function(e){return!!i(e)}},27650:(e,t,n)=>{e.exports=window.DOMPurify||(window.DOMPurify=n(31699).default||n(31699))},96628:(e,t,n)=>{"use strict";var i=n(98372);function r(e,t,n){if(3===arguments.length)return r.set(e,t,n);if(2===arguments.length)return r.get(e,t);var i=r.bind(r,e);for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o].bind(i,e));return i}e.exports=r,r.get=function(e,t){for(var n=Array.isArray(t)?t:r.parse(t),i=0;i{"use strict";var t=e.exports=function(e,t,i){"function"==typeof t&&(i=t,t={}),n(t,"function"==typeof(i=t.cb||i)?i:i.pre||function(){},i.post||function(){},e,"",e)};function n(e,i,r,o,s,a,c,p,l,u){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in i(o,s,a,c,p,l,u),o){var d=o[f];if(Array.isArray(d)){if(f in t.arrayKeywords)for(var h=0;h{var n=/~/,i=/~[01]/g;function r(e){switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Invalid tilde escape: "+e)}function o(e){return n.test(e)?e.replace(i,r):e}function s(e){if("string"==typeof e){if(""===(e=e.split("/"))[0])return e;throw new Error("Invalid JSON pointer.")}if(Array.isArray(e)){for(const t of e)if("string"!=typeof t&&"number"!=typeof t)throw new Error("Invalid JSON pointer. Must be of type string or number.");return e}throw new Error("Invalid JSON pointer.")}function a(e,t){if("object"!=typeof e)throw new Error("Invalid input object.");var n=(t=s(t)).length;if(1===n)return e;for(var i=1;is,void 0===e[i]&&(Array.isArray(e)&&"-"===i&&(i=e.length),r&&(""!==t[s]&&t[s]<1/0||"-"===t[s]?e[i]=[]:e[i]={})),!r)break;e=e[i]}var c=e[i];return void 0===n?delete e[i]:e[i]=n,c}(e,t,n)}t.get=a,t.set=c,t.compile=function(e){var t=s(e);return{get:function(e){return a(e,t)},set:function(e,n){return c(e,t,n)}}}},33078:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let o=e.length,s=i.length;for(;o>0&&e.charCodeAt(~-o)===i.charCodeAt(~-s);)o--,s--;let a,c,p,l,u=0;for(;uc?l>c?c+1:l:l>p?p+1:l;return c};e.exports=i,e.exports.default=i},10915:(e,t,n)=>{var i,r="__lodash_hash_undefined__",o="[object Function]",s="[object GeneratorFunction]",a="[object Symbol]",c=/^\./,p=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/\\(\\)?/g,u=/^\[object .+?Constructor\]$/,f="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,d="object"==typeof self&&self&&self.Object===Object&&self,h=f||d||Function("return this")(),m=Array.prototype,y=Function.prototype,g=Object.prototype,b=h["__core-js_shared__"],v=(i=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"",_=y.toString,j=g.hasOwnProperty,x=g.toString,w=RegExp("^"+_.call(j).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$=h.Symbol,S=m.splice,P=N(h,"Map"),O=N(Object,"create"),E=$?$.prototype:void 0,A=E?E.toString:void 0;function T(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},k.prototype.set=function(e,t){var n=this.__data__,i=R(n,e);return i<0?n.push([e,t]):n[i][1]=t,this},I.prototype.clear=function(){this.__data__={hash:new T,map:new(P||k),string:new T}},I.prototype.delete=function(e){return M(this,e).delete(e)},I.prototype.get=function(e){return M(this,e).get(e)},I.prototype.has=function(e){return M(this,e).has(e)},I.prototype.set=function(e,t){return M(this,e).set(e,t),this};var C=q((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(U(e))return A?A.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return c.test(e)&&n.push(""),e.replace(p,(function(e,t,i,r){n.push(i?r.replace(l,"$1"):t||e)})),n}));function D(e){if("string"==typeof e||U(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function q(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s),s};return n.cache=new(q.Cache||I),n}q.Cache=I;var F=Array.isArray;function L(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function U(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&x.call(e)==a}e.exports=function(e){return F(e)?function(e,t){for(var n=-1,i=e?e.length:0,r=Array(i);++n{var i=n(57753),r=n(82452),o=n(22115),s=n(38256),a=n(67426);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var i=n(69417),r=n(72470),o=n(66165),s=n(71873),a=n(52556);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var i=n(81822)(n(77400),"Map");e.exports=i},74554:(e,t,n)=>{var i=n(39448),r=n(7738),o=n(66575),s=n(7238),a=n(38738);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{var i=n(77400).Symbol;e.exports=i},66070:e=>{e.exports=function(e,t){for(var n=-1,i=null==e?0:e.length,r=Array(i);++n{var i=n(88799),r=n(85638),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var s=e[t];o.call(e,t)&&r(s,n)&&(void 0!==n||t in e)||i(e,t,n)}},93382:(e,t,n)=>{var i=n(85638);e.exports=function(e,t){for(var n=e.length;n--;)if(i(e[n][0],t))return n;return-1}},88799:(e,t,n)=>{var i=n(42630);e.exports=function(e,t,n){"__proto__"==t&&i?i(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},79867:(e,t,n)=>{var i=n(76747),r=n(37948);e.exports=function(e,t){for(var n=0,o=(t=i(t,e)).length;null!=e&&n{var i=n(96539),r=n(34840),o=n(21258),s=i?i.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?r(e):o(e)}},46729:(e,t,n)=>{var i=n(28338),r=n(99678),o=n(11611),s=n(76532),a=/^\[object .+?Constructor\]$/,c=Function.prototype,p=Object.prototype,l=c.toString,u=p.hasOwnProperty,f=RegExp("^"+l.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||r(e))&&(i(e)?f:a).test(s(e))}},78859:(e,t,n)=>{var i=n(71928),r=n(76747),o=n(42383),s=n(11611),a=n(37948);e.exports=function(e,t,n,c){if(!s(e))return e;for(var p=-1,l=(t=r(t,e)).length,u=l-1,f=e;null!=f&&++p{var i=n(96539),r=n(66070),o=n(19785),s=n(55193),a=i?i.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return r(t,e)+"";if(s(t))return c?c.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},76747:(e,t,n)=>{var i=n(19785),r=n(40318),o=n(23419),s=n(65567);e.exports=function(e,t){return i(e)?e:r(e,t)?[e]:o(s(e))}},64937:(e,t,n)=>{var i=n(77400)["__core-js_shared__"];e.exports=i},42630:(e,t,n)=>{var i=n(81822),r=function(){try{var e=i(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=r},39120:(e,t,n)=>{var i="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=i},95899:(e,t,n)=>{var i=n(54479);e.exports=function(e,t){var n=e.__data__;return i(t)?n["string"==typeof t?"string":"hash"]:n.map}},81822:(e,t,n)=>{var i=n(46729),r=n(15371);e.exports=function(e,t){var n=r(e,t);return i(n)?n:void 0}},34840:(e,t,n)=>{var i=n(96539),r=Object.prototype,o=r.hasOwnProperty,s=r.toString,a=i?i.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),n=e[a];try{e[a]=void 0;var i=!0}catch(e){}var r=s.call(e);return i&&(t?e[a]=n:delete e[a]),r}},15371:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},57753:(e,t,n)=>{var i=n(35718);e.exports=function(){this.__data__=i?i(null):{},this.size=0}},82452:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},22115:(e,t,n)=>{var i=n(35718),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(i){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return r.call(t,e)?t[e]:void 0}},38256:(e,t,n)=>{var i=n(35718),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return i?void 0!==t[e]:r.call(t,e)}},67426:(e,t,n)=>{var i=n(35718);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=i&&void 0===t?"__lodash_hash_undefined__":t,this}},42383:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,n){var i=typeof e;return!!(n=null==n?9007199254740991:n)&&("number"==i||"symbol"!=i&&t.test(e))&&e>-1&&e%1==0&&e{var i=n(19785),r=n(55193),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(i(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!r(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}},54479:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},99678:(e,t,n)=>{var i,r=n(64937),o=(i=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"";e.exports=function(e){return!!o&&o in e}},69417:e=>{e.exports=function(){this.__data__=[],this.size=0}},72470:(e,t,n)=>{var i=n(93382),r=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=i(t,e);return!(n<0||(n==t.length-1?t.pop():r.call(t,n,1),--this.size,0))}},66165:(e,t,n)=>{var i=n(93382);e.exports=function(e){var t=this.__data__,n=i(t,e);return n<0?void 0:t[n][1]}},71873:(e,t,n)=>{var i=n(93382);e.exports=function(e){return i(this.__data__,e)>-1}},52556:(e,t,n)=>{var i=n(93382);e.exports=function(e,t){var n=this.__data__,r=i(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}},39448:(e,t,n)=>{var i=n(96586),r=n(36301),o=n(44538);e.exports=function(){this.size=0,this.__data__={hash:new i,map:new(o||r),string:new i}}},7738:(e,t,n)=>{var i=n(95899);e.exports=function(e){var t=i(this,e).delete(e);return this.size-=t?1:0,t}},66575:(e,t,n)=>{var i=n(95899);e.exports=function(e){return i(this,e).get(e)}},7238:(e,t,n)=>{var i=n(95899);e.exports=function(e){return i(this,e).has(e)}},38738:(e,t,n)=>{var i=n(95899);e.exports=function(e,t){var n=i(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}},2941:(e,t,n)=>{var i=n(16651);e.exports=function(e){var t=i(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},35718:(e,t,n)=>{var i=n(81822)(Object,"create");e.exports=i},21258:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},77400:(e,t,n)=>{var i=n(39120),r="object"==typeof self&&self&&self.Object===Object&&self,o=i||r||Function("return this")();e.exports=o},23419:(e,t,n)=>{var i=n(2941),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,s=i((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r,(function(e,n,i,r){t.push(i?r.replace(o,"$1"):n||e)})),t}));e.exports=s},37948:(e,t,n)=>{var i=n(55193);e.exports=function(e){if("string"==typeof e||i(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},76532:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},85638:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},99729:(e,t,n)=>{var i=n(79867);e.exports=function(e,t,n){var r=null==e?void 0:i(e,t);return void 0===r?n:r}},19785:e=>{var t=Array.isArray;e.exports=t},28338:(e,t,n)=>{var i=n(99736),r=n(11611);e.exports=function(e){if(!r(e))return!1;var t=i(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},11611:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},92360:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},55193:(e,t,n)=>{var i=n(99736),r=n(92360);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==i(e)}},98784:function(e,t,n){var i;e=n.nmd(e),function(){var r,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",c=32,p=128,l=1/0,u=9007199254740991,f=NaN,d=4294967295,h=[["ary",p],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",c],["partialRight",64],["rearg",256]],m="[object Arguments]",y="[object Array]",g="[object Boolean]",b="[object Date]",v="[object Error]",_="[object Function]",j="[object GeneratorFunction]",x="[object Map]",w="[object Number]",$="[object Object]",S="[object Promise]",P="[object RegExp]",O="[object Set]",E="[object String]",A="[object Symbol]",T="[object WeakMap]",k="[object ArrayBuffer]",I="[object DataView]",R="[object Float32Array]",M="[object Float64Array]",N="[object Int8Array]",C="[object Int16Array]",D="[object Int32Array]",q="[object Uint8Array]",F="[object Uint8ClampedArray]",L="[object Uint16Array]",U="[object Uint32Array]",V=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,B=/(__e\(.*?\)|\b__t\)) \+\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,W=/[&<>"']/g,G=RegExp(H.source),K=RegExp(W.source),J=/<%-([\s\S]+?)%>/g,Q=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,Y=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ne=RegExp(te.source),ie=/^\s+/,re=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,ce=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,pe=/[()=,{}\[\]\/\s]/,le=/\\(\\)?/g,ue=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,de=/^[-+]0x[0-9a-f]+$/i,he=/^0b[01]+$/i,me=/^\[object .+?Constructor\]$/,ye=/^0o[0-7]+$/i,ge=/^(?:0|[1-9]\d*)$/,be=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ve=/($^)/,_e=/['\n\r\u2028\u2029\\]/g,je="\\ud800-\\udfff",xe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",we="\\u2700-\\u27bf",$e="a-z\\xdf-\\xf6\\xf8-\\xff",Se="A-Z\\xc0-\\xd6\\xd8-\\xde",Pe="\\ufe0e\\ufe0f",Oe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ee="["+je+"]",Ae="["+Oe+"]",Te="["+xe+"]",ke="\\d+",Ie="["+we+"]",Re="["+$e+"]",Me="[^"+je+Oe+ke+we+$e+Se+"]",Ne="\\ud83c[\\udffb-\\udfff]",Ce="[^"+je+"]",De="(?:\\ud83c[\\udde6-\\uddff]){2}",qe="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Se+"]",Le="\\u200d",Ue="(?:"+Re+"|"+Me+")",Ve="(?:"+Fe+"|"+Me+")",ze="(?:['’](?:d|ll|m|re|s|t|ve))?",Be="(?:['’](?:D|LL|M|RE|S|T|VE))?",He="(?:"+Te+"|"+Ne+")?",We="["+Pe+"]?",Ge=We+He+"(?:"+Le+"(?:"+[Ce,De,qe].join("|")+")"+We+He+")*",Ke="(?:"+[Ie,De,qe].join("|")+")"+Ge,Je="(?:"+[Ce+Te+"?",Te,De,qe,Ee].join("|")+")",Qe=RegExp("['’]","g"),Ze=RegExp(Te,"g"),Ye=RegExp(Ne+"(?="+Ne+")|"+Je+Ge,"g"),Xe=RegExp([Fe+"?"+Re+"+"+ze+"(?="+[Ae,Fe,"$"].join("|")+")",Ve+"+"+Be+"(?="+[Ae,Fe+Ue,"$"].join("|")+")",Fe+"?"+Ue+"+"+ze,Fe+"+"+Be,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ke,Ke].join("|"),"g"),et=RegExp("["+Le+je+xe+Pe+"]"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],it=-1,rt={};rt[R]=rt[M]=rt[N]=rt[C]=rt[D]=rt[q]=rt[F]=rt[L]=rt[U]=!0,rt[m]=rt[y]=rt[k]=rt[g]=rt[I]=rt[b]=rt[v]=rt[_]=rt[x]=rt[w]=rt[$]=rt[P]=rt[O]=rt[E]=rt[T]=!1;var ot={};ot[m]=ot[y]=ot[k]=ot[I]=ot[g]=ot[b]=ot[R]=ot[M]=ot[N]=ot[C]=ot[D]=ot[x]=ot[w]=ot[$]=ot[P]=ot[O]=ot[E]=ot[A]=ot[q]=ot[F]=ot[L]=ot[U]=!0,ot[v]=ot[_]=ot[T]=!1;var st={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},at=parseFloat,ct=parseInt,pt="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,lt="object"==typeof self&&self&&self.Object===Object&&self,ut=pt||lt||Function("return this")(),ft=t&&!t.nodeType&&t,dt=ft&&e&&!e.nodeType&&e,ht=dt&&dt.exports===ft,mt=ht&&pt.process,yt=function(){try{return dt&&dt.require&&dt.require("util").types||mt&&mt.binding&&mt.binding("util")}catch(e){}}(),gt=yt&&yt.isArrayBuffer,bt=yt&&yt.isDate,vt=yt&&yt.isMap,_t=yt&&yt.isRegExp,jt=yt&&yt.isSet,xt=yt&&yt.isTypedArray;function wt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function $t(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Tt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function Xt(e,t){for(var n=e.length;n--&&Ft(t,e[n],0)>-1;);return n}var en=Bt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tn=Bt({"&":"&","<":"<",">":">",'"':""","'":"'"});function nn(e){return"\\"+st[e]}function rn(e){return et.test(e)}function on(e){var t=-1,n=Array(e.size);return e.forEach((function(e,i){n[++t]=[i,e]})),n}function sn(e,t){return function(n){return e(t(n))}}function an(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"}),hn=function e(t){var n,i=(t=null==t?ut:hn.defaults(ut.Object(),t,hn.pick(ut,nt))).Array,re=t.Date,je=t.Error,xe=t.Function,we=t.Math,$e=t.Object,Se=t.RegExp,Pe=t.String,Oe=t.TypeError,Ee=i.prototype,Ae=xe.prototype,Te=$e.prototype,ke=t["__core-js_shared__"],Ie=Ae.toString,Re=Te.hasOwnProperty,Me=0,Ne=(n=/[^.]+$/.exec(ke&&ke.keys&&ke.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Ce=Te.toString,De=Ie.call($e),qe=ut._,Fe=Se("^"+Ie.call(Re).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Le=ht?t.Buffer:r,Ue=t.Symbol,Ve=t.Uint8Array,ze=Le?Le.allocUnsafe:r,Be=sn($e.getPrototypeOf,$e),He=$e.create,We=Te.propertyIsEnumerable,Ge=Ee.splice,Ke=Ue?Ue.isConcatSpreadable:r,Je=Ue?Ue.iterator:r,Ye=Ue?Ue.toStringTag:r,et=function(){try{var e=co($e,"defineProperty");return e({},"",{}),e}catch(e){}}(),st=t.clearTimeout!==ut.clearTimeout&&t.clearTimeout,pt=re&&re.now!==ut.Date.now&&re.now,lt=t.setTimeout!==ut.setTimeout&&t.setTimeout,ft=we.ceil,dt=we.floor,mt=$e.getOwnPropertySymbols,yt=Le?Le.isBuffer:r,Ct=t.isFinite,Bt=Ee.join,mn=sn($e.keys,$e),yn=we.max,gn=we.min,bn=re.now,vn=t.parseInt,_n=we.random,jn=Ee.reverse,xn=co(t,"DataView"),wn=co(t,"Map"),$n=co(t,"Promise"),Sn=co(t,"Set"),Pn=co(t,"WeakMap"),On=co($e,"create"),En=Pn&&new Pn,An={},Tn=Do(xn),kn=Do(wn),In=Do($n),Rn=Do(Sn),Mn=Do(Pn),Nn=Ue?Ue.prototype:r,Cn=Nn?Nn.valueOf:r,Dn=Nn?Nn.toString:r;function qn(e){if(ea(e)&&!zs(e)&&!(e instanceof Vn)){if(e instanceof Un)return e;if(Re.call(e,"__wrapped__"))return qo(e)}return new Un(e)}var Fn=function(){function e(){}return function(t){if(!Xs(t))return{};if(He)return He(t);e.prototype=t;var n=new e;return e.prototype=r,n}}();function Ln(){}function Un(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function Vn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function zn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function si(e,t,n,i,o,s){var a,c=1&t,p=2&t,l=4&t;if(n&&(a=o?n(e,i,o,s):n(e)),a!==r)return a;if(!Xs(e))return e;var u=zs(e);if(u){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Re.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!c)return Pr(e,a)}else{var f=uo(e),d=f==_||f==j;if(Gs(e))return _r(e,c);if(f==$||f==m||d&&!o){if(a=p||d?{}:ho(e),!c)return p?function(e,t){return Or(e,lo(e),t)}(e,function(e,t){return e&&Or(t,ka(t),e)}(a,e)):function(e,t){return Or(e,po(e),t)}(e,ni(a,e))}else{if(!ot[f])return o?e:{};a=function(e,t,n){var i,r=e.constructor;switch(t){case k:return jr(e);case g:case b:return new r(+e);case I:return function(e,t){var n=t?jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case R:case M:case N:case C:case D:case q:case F:case L:case U:return xr(e,n);case x:return new r;case w:case E:return new r(e);case P:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return new r;case A:return i=e,Cn?$e(Cn.call(i)):{}}}(e,f,c)}}s||(s=new Gn);var h=s.get(e);if(h)return h;s.set(e,a),oa(e)?e.forEach((function(i){a.add(si(i,t,n,i,e,s))})):ta(e)&&e.forEach((function(i,r){a.set(r,si(i,t,n,r,e,s))}));var y=u?r:(l?p?to:eo:p?ka:Ta)(e);return St(y||e,(function(i,r){y&&(i=e[r=i]),Xn(a,r,si(i,t,n,r,e,s))})),a}function ai(e,t,n){var i=n.length;if(null==e)return!i;for(e=$e(e);i--;){var o=n[i],s=t[o],a=e[o];if(a===r&&!(o in e)||!s(a))return!1}return!0}function ci(e,t,n){if("function"!=typeof e)throw new Oe(o);return Eo((function(){e.apply(r,n)}),t)}function pi(e,t,n,i){var r=-1,o=At,s=!0,a=e.length,c=[],p=t.length;if(!a)return c;n&&(t=kt(t,Jt(n))),i?(o=Tt,s=!1):t.length>=200&&(o=Zt,s=!1,t=new Wn(t));e:for(;++r-1},Bn.prototype.set=function(e,t){var n=this.__data__,i=ei(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},Hn.prototype.clear=function(){this.size=0,this.__data__={hash:new zn,map:new(wn||Bn),string:new zn}},Hn.prototype.delete=function(e){var t=so(this,e).delete(e);return this.size-=t?1:0,t},Hn.prototype.get=function(e){return so(this,e).get(e)},Hn.prototype.has=function(e){return so(this,e).has(e)},Hn.prototype.set=function(e,t){var n=so(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},Wn.prototype.add=Wn.prototype.push=function(e){return this.__data__.set(e,s),this},Wn.prototype.has=function(e){return this.__data__.has(e)},Gn.prototype.clear=function(){this.__data__=new Bn,this.size=0},Gn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Gn.prototype.get=function(e){return this.__data__.get(e)},Gn.prototype.has=function(e){return this.__data__.has(e)},Gn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Bn){var i=n.__data__;if(!wn||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new Hn(i)}return n.set(e,t),this.size=n.size,this};var li=Tr(bi),ui=Tr(vi,!0);function fi(e,t){var n=!0;return li(e,(function(e,i,r){return n=!!t(e,i,r)})),n}function di(e,t,n){for(var i=-1,o=e.length;++i0&&n(a)?t>1?mi(a,t-1,n,i,r):It(r,a):i||(r[r.length]=a)}return r}var yi=kr(),gi=kr(!0);function bi(e,t){return e&&yi(e,t,Ta)}function vi(e,t){return e&&gi(e,t,Ta)}function _i(e,t){return Et(t,(function(t){return Qs(e[t])}))}function ji(e,t){for(var n=0,i=(t=yr(t,e)).length;null!=e&&nt}function Si(e,t){return null!=e&&Re.call(e,t)}function Pi(e,t){return null!=e&&t in $e(e)}function Oi(e,t,n){for(var o=n?Tt:At,s=e[0].length,a=e.length,c=a,p=i(a),l=1/0,u=[];c--;){var f=e[c];c&&t&&(f=kt(f,Jt(t))),l=gn(f.length,l),p[c]=!n&&(t||s>=120&&f.length>=120)?new Wn(c&&f):r}f=e[0];var d=-1,h=p[0];e:for(;++d=a?c:c*("desc"==n[i]?-1:1)}return e.index-t.index}(e,t,n)}));i--;)e[i]=e[i].value;return e}(r)}function Vi(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)a!==e&&Ge.call(a,c,1),Ge.call(e,c,1);return e}function Bi(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;yo(r)?Ge.call(e,r,1):cr(e,r)}}return e}function Hi(e,t){return e+dt(_n()*(t-e+1))}function Wi(e,t){var n="";if(!e||t<1||t>u)return n;do{t%2&&(n+=e),(t=dt(t/2))&&(e+=e)}while(t);return n}function Gi(e,t){return Ao($o(e,t,nc),e+"")}function Ki(e){return Jn(Fa(e))}function Ji(e,t){var n=Fa(e);return Io(n,oi(t,0,n.length))}function Qi(e,t,n,i){if(!Xs(e))return e;for(var o=-1,s=(t=yr(t,e)).length,a=s-1,c=e;null!=c&&++oo?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=i(o);++r>>1,s=e[o];null!==s&&!aa(s)&&(n?s<=t:s=200){var p=t?null:Wr(e);if(p)return cn(p);s=!1,r=Zt,c=new Wn}else c=t?[]:a;e:for(;++i=i?e:er(e,t,n)}var vr=st||function(e){return ut.clearTimeout(e)};function _r(e,t){if(t)return e.slice();var n=e.length,i=ze?ze(n):new e.constructor(n);return e.copy(i),i}function jr(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function xr(e,t){var n=t?jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function wr(e,t){if(e!==t){var n=e!==r,i=null===e,o=e==e,s=aa(e),a=t!==r,c=null===t,p=t==t,l=aa(t);if(!c&&!l&&!s&&e>t||s&&a&&p&&!c&&!l||i&&a&&p||!n&&p||!o)return 1;if(!i&&!s&&!l&&e1?n[o-1]:r,a=o>2?n[2]:r;for(s=e.length>3&&"function"==typeof s?(o--,s):r,a&&go(n[0],n[1],a)&&(s=o<3?r:s,o=1),t=$e(t);++i-1?o[s?t[a]:a]:r}}function Cr(e){return Xr((function(t){var n=t.length,i=n,s=Un.prototype.thru;for(e&&t.reverse();i--;){var a=t[i];if("function"!=typeof a)throw new Oe(o);if(s&&!c&&"wrapper"==io(a))var c=new Un([],!0)}for(i=c?i:n;++i1&&_.reverse(),d&&uc))return!1;var l=s.get(e),u=s.get(t);if(l&&u)return l==t&&u==e;var f=-1,d=!0,h=2&n?new Wn:r;for(s.set(e,t),s.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return St(h,(function(n){var i="_."+n[0];t&n[1]&&!At(e,i)&&e.push(i)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(i),n)))}function ko(e){var t=0,n=0;return function(){var i=bn(),o=16-(i-n);if(n=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Io(e,t){var n=-1,i=e.length,o=i-1;for(t=t===r?i:t;++n1?e[t-1]:r;return n="function"==typeof n?(e.pop(),n):r,rs(e,n)}));function us(e){var t=qn(e);return t.__chain__=!0,t}function fs(e,t){return t(e)}var ds=Xr((function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,o=function(t){return ri(t,e)};return!(t>1||this.__actions__.length)&&i instanceof Vn&&yo(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:fs,args:[o],thisArg:r}),new Un(i,this.__chain__).thru((function(e){return t&&!e.length&&e.push(r),e}))):this.thru(o)})),hs=Er((function(e,t,n){Re.call(e,n)?++e[n]:ii(e,n,1)})),ms=Nr(Vo),ys=Nr(zo);function gs(e,t){return(zs(e)?St:li)(e,oo(t,3))}function bs(e,t){return(zs(e)?Pt:ui)(e,oo(t,3))}var vs=Er((function(e,t,n){Re.call(e,n)?e[n].push(t):ii(e,n,[t])})),_s=Gi((function(e,t,n){var r=-1,o="function"==typeof t,s=Hs(e)?i(e.length):[];return li(e,(function(e){s[++r]=o?wt(t,e,n):Ei(e,t,n)})),s})),js=Er((function(e,t,n){ii(e,n,t)}));function xs(e,t){return(zs(e)?kt:Ci)(e,oo(t,3))}var ws=Er((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),$s=Gi((function(e,t){if(null==e)return[];var n=t.length;return n>1&&go(e,t[0],t[1])?t=[]:n>2&&go(t[0],t[1],t[2])&&(t=[t[0]]),Ui(e,mi(t,1),[])})),Ss=pt||function(){return ut.Date.now()};function Ps(e,t,n){return t=n?r:t,t=e&&null==t?e.length:t,Kr(e,p,r,r,r,r,t)}function Os(e,t){var n;if("function"!=typeof t)throw new Oe(o);return e=da(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=r),n}}var Es=Gi((function(e,t,n){var i=1;if(n.length){var r=an(n,ro(Es));i|=c}return Kr(e,i,t,n,r)})),As=Gi((function(e,t,n){var i=3;if(n.length){var r=an(n,ro(As));i|=c}return Kr(t,i,e,n,r)}));function Ts(e,t,n){var i,s,a,c,p,l,u=0,f=!1,d=!1,h=!0;if("function"!=typeof e)throw new Oe(o);function m(t){var n=i,o=s;return i=s=r,u=t,c=e.apply(o,n)}function y(e){var n=e-l;return l===r||n>=t||n<0||d&&e-u>=a}function g(){var e=Ss();if(y(e))return b(e);p=Eo(g,function(e){var n=t-(e-l);return d?gn(n,a-(e-u)):n}(e))}function b(e){return p=r,h&&i?m(e):(i=s=r,c)}function v(){var e=Ss(),n=y(e);if(i=arguments,s=this,l=e,n){if(p===r)return function(e){return u=e,p=Eo(g,t),f?m(e):c}(l);if(d)return vr(p),p=Eo(g,t),m(l)}return p===r&&(p=Eo(g,t)),c}return t=ma(t)||0,Xs(n)&&(f=!!n.leading,a=(d="maxWait"in n)?yn(ma(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),v.cancel=function(){p!==r&&vr(p),u=0,i=l=s=p=r},v.flush=function(){return p===r?c:b(Ss())},v}var ks=Gi((function(e,t){return ci(e,1,t)})),Is=Gi((function(e,t,n){return ci(e,ma(t)||0,n)}));function Rs(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Oe(o);var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s)||o,s};return n.cache=new(Rs.Cache||Hn),n}function Ms(e){if("function"!=typeof e)throw new Oe(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Rs.Cache=Hn;var Ns=gr((function(e,t){var n=(t=1==t.length&&zs(t[0])?kt(t[0],Jt(oo())):kt(mi(t,1),Jt(oo()))).length;return Gi((function(i){for(var r=-1,o=gn(i.length,n);++r=t})),Vs=Ai(function(){return arguments}())?Ai:function(e){return ea(e)&&Re.call(e,"callee")&&!We.call(e,"callee")},zs=i.isArray,Bs=gt?Jt(gt):function(e){return ea(e)&&wi(e)==k};function Hs(e){return null!=e&&Ys(e.length)&&!Qs(e)}function Ws(e){return ea(e)&&Hs(e)}var Gs=yt||mc,Ks=bt?Jt(bt):function(e){return ea(e)&&wi(e)==b};function Js(e){if(!ea(e))return!1;var t=wi(e);return t==v||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!ia(e)}function Qs(e){if(!Xs(e))return!1;var t=wi(e);return t==_||t==j||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Zs(e){return"number"==typeof e&&e==da(e)}function Ys(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=u}function Xs(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ea(e){return null!=e&&"object"==typeof e}var ta=vt?Jt(vt):function(e){return ea(e)&&uo(e)==x};function na(e){return"number"==typeof e||ea(e)&&wi(e)==w}function ia(e){if(!ea(e)||wi(e)!=$)return!1;var t=Be(e);if(null===t)return!0;var n=Re.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ie.call(n)==De}var ra=_t?Jt(_t):function(e){return ea(e)&&wi(e)==P},oa=jt?Jt(jt):function(e){return ea(e)&&uo(e)==O};function sa(e){return"string"==typeof e||!zs(e)&&ea(e)&&wi(e)==E}function aa(e){return"symbol"==typeof e||ea(e)&&wi(e)==A}var ca=xt?Jt(xt):function(e){return ea(e)&&Ys(e.length)&&!!rt[wi(e)]},pa=zr(Ni),la=zr((function(e,t){return e<=t}));function ua(e){if(!e)return[];if(Hs(e))return sa(e)?un(e):Pr(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=uo(e);return(t==x?on:t==O?cn:Fa)(e)}function fa(e){return e?(e=ma(e))===l||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function da(e){var t=fa(e),n=t%1;return t==t?n?t-n:t:0}function ha(e){return e?oi(da(e),0,d):0}function ma(e){if("number"==typeof e)return e;if(aa(e))return f;if(Xs(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Xs(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Kt(e);var n=he.test(e);return n||ye.test(e)?ct(e.slice(2),n?2:8):de.test(e)?f:+e}function ya(e){return Or(e,ka(e))}function ga(e){return null==e?"":sr(e)}var ba=Ar((function(e,t){if(jo(t)||Hs(t))Or(t,Ta(t),e);else for(var n in t)Re.call(t,n)&&Xn(e,n,t[n])})),va=Ar((function(e,t){Or(t,ka(t),e)})),_a=Ar((function(e,t,n,i){Or(t,ka(t),e,i)})),ja=Ar((function(e,t,n,i){Or(t,Ta(t),e,i)})),xa=Xr(ri),wa=Gi((function(e,t){e=$e(e);var n=-1,i=t.length,o=i>2?t[2]:r;for(o&&go(t[0],t[1],o)&&(i=1);++n1),t})),Or(e,to(e),n),i&&(n=si(n,7,Zr));for(var r=t.length;r--;)cr(n,t[r]);return n})),Na=Xr((function(e,t){return null==e?{}:function(e,t){return Vi(e,t,(function(t,n){return Pa(e,n)}))}(e,t)}));function Ca(e,t){if(null==e)return{};var n=kt(to(e),(function(e){return[e]}));return t=oo(t),Vi(e,n,(function(e,n){return t(e,n[0])}))}var Da=Gr(Ta),qa=Gr(ka);function Fa(e){return null==e?[]:Qt(e,Ta(e))}var La=Rr((function(e,t,n){return t=t.toLowerCase(),e+(n?Ua(t):t)}));function Ua(e){return Ja(ga(e).toLowerCase())}function Va(e){return(e=ga(e))&&e.replace(be,en).replace(Ze,"")}var za=Rr((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ba=Rr((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ha=Ir("toLowerCase"),Wa=Rr((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()})),Ga=Rr((function(e,t,n){return e+(n?" ":"")+Ja(t)})),Ka=Rr((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Ja=Ir("toUpperCase");function Qa(e,t,n){return e=ga(e),(t=n?r:t)===r?function(e){return tt.test(e)}(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.match(ce)||[]}(e):e.match(t)||[]}var Za=Gi((function(e,t){try{return wt(e,r,t)}catch(e){return Js(e)?e:new je(e)}})),Ya=Xr((function(e,t){return St(t,(function(t){t=Co(t),ii(e,t,Es(e[t],e))})),e}));function Xa(e){return function(){return e}}var ec=Cr(),tc=Cr(!0);function nc(e){return e}function ic(e){return Ri("function"==typeof e?e:si(e,1))}var rc=Gi((function(e,t){return function(n){return Ei(n,e,t)}})),oc=Gi((function(e,t){return function(n){return Ei(e,n,t)}}));function sc(e,t,n){var i=Ta(t),r=_i(t,i);null!=n||Xs(t)&&(r.length||!i.length)||(n=t,t=e,e=this,r=_i(t,Ta(t)));var o=!(Xs(n)&&"chain"in n&&!n.chain),s=Qs(e);return St(r,(function(n){var i=t[n];e[n]=i,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=Pr(this.__actions__)).push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,It([this.value()],arguments))})})),e}function ac(){}var cc=Lr(kt),pc=Lr(Ot),lc=Lr(Nt);function uc(e){return bo(e)?zt(Co(e)):function(e){return function(t){return ji(t,e)}}(e)}var fc=Vr(),dc=Vr(!0);function hc(){return[]}function mc(){return!1}var yc,gc=Fr((function(e,t){return e+t}),0),bc=Hr("ceil"),vc=Fr((function(e,t){return e/t}),1),_c=Hr("floor"),jc=Fr((function(e,t){return e*t}),1),xc=Hr("round"),wc=Fr((function(e,t){return e-t}),0);return qn.after=function(e,t){if("function"!=typeof t)throw new Oe(o);return e=da(e),function(){if(--e<1)return t.apply(this,arguments)}},qn.ary=Ps,qn.assign=ba,qn.assignIn=va,qn.assignInWith=_a,qn.assignWith=ja,qn.at=xa,qn.before=Os,qn.bind=Es,qn.bindAll=Ya,qn.bindKey=As,qn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return zs(e)?e:[e]},qn.chain=us,qn.chunk=function(e,t,n){t=(n?go(e,t,n):t===r)?1:yn(da(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,c=i(ft(o/t));so?0:o+n),(i=i===r||i>o?o:da(i))<0&&(i+=o),i=n>i?0:ha(i);n>>0)?(e=ga(e))&&("string"==typeof t||null!=t&&!ra(t))&&!(t=sr(t))&&rn(e)?br(un(e),0,n):e.split(t,n):[]},qn.spread=function(e,t){if("function"!=typeof e)throw new Oe(o);return t=null==t?0:yn(da(t),0),Gi((function(n){var i=n[t],r=br(n,0,t);return i&&It(r,i),wt(e,this,r)}))},qn.tail=function(e){var t=null==e?0:e.length;return t?er(e,1,t):[]},qn.take=function(e,t,n){return e&&e.length?er(e,0,(t=n||t===r?1:da(t))<0?0:t):[]},qn.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?er(e,(t=i-(t=n||t===r?1:da(t)))<0?0:t,i):[]},qn.takeRightWhile=function(e,t){return e&&e.length?lr(e,oo(t,3),!1,!0):[]},qn.takeWhile=function(e,t){return e&&e.length?lr(e,oo(t,3)):[]},qn.tap=function(e,t){return t(e),e},qn.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new Oe(o);return Xs(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),Ts(e,t,{leading:i,maxWait:t,trailing:r})},qn.thru=fs,qn.toArray=ua,qn.toPairs=Da,qn.toPairsIn=qa,qn.toPath=function(e){return zs(e)?kt(e,Co):aa(e)?[e]:Pr(No(ga(e)))},qn.toPlainObject=ya,qn.transform=function(e,t,n){var i=zs(e),r=i||Gs(e)||ca(e);if(t=oo(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Xs(e)&&Qs(o)?Fn(Be(e)):{}}return(r?St:bi)(e,(function(e,i,r){return t(n,e,i,r)})),n},qn.unary=function(e){return Ps(e,1)},qn.union=es,qn.unionBy=ts,qn.unionWith=ns,qn.uniq=function(e){return e&&e.length?ar(e):[]},qn.uniqBy=function(e,t){return e&&e.length?ar(e,oo(t,2)):[]},qn.uniqWith=function(e,t){return t="function"==typeof t?t:r,e&&e.length?ar(e,r,t):[]},qn.unset=function(e,t){return null==e||cr(e,t)},qn.unzip=is,qn.unzipWith=rs,qn.update=function(e,t,n){return null==e?e:pr(e,t,mr(n))},qn.updateWith=function(e,t,n,i){return i="function"==typeof i?i:r,null==e?e:pr(e,t,mr(n),i)},qn.values=Fa,qn.valuesIn=function(e){return null==e?[]:Qt(e,ka(e))},qn.without=os,qn.words=Qa,qn.wrap=function(e,t){return Cs(mr(t),e)},qn.xor=ss,qn.xorBy=as,qn.xorWith=cs,qn.zip=ps,qn.zipObject=function(e,t){return dr(e||[],t||[],Xn)},qn.zipObjectDeep=function(e,t){return dr(e||[],t||[],Qi)},qn.zipWith=ls,qn.entries=Da,qn.entriesIn=qa,qn.extend=va,qn.extendWith=_a,sc(qn,qn),qn.add=gc,qn.attempt=Za,qn.camelCase=La,qn.capitalize=Ua,qn.ceil=bc,qn.clamp=function(e,t,n){return n===r&&(n=t,t=r),n!==r&&(n=(n=ma(n))==n?n:0),t!==r&&(t=(t=ma(t))==t?t:0),oi(ma(e),t,n)},qn.clone=function(e){return si(e,4)},qn.cloneDeep=function(e){return si(e,5)},qn.cloneDeepWith=function(e,t){return si(e,5,t="function"==typeof t?t:r)},qn.cloneWith=function(e,t){return si(e,4,t="function"==typeof t?t:r)},qn.conformsTo=function(e,t){return null==t||ai(e,t,Ta(t))},qn.deburr=Va,qn.defaultTo=function(e,t){return null==e||e!=e?t:e},qn.divide=vc,qn.endsWith=function(e,t,n){e=ga(e),t=sr(t);var i=e.length,o=n=n===r?i:oi(da(n),0,i);return(n-=t.length)>=0&&e.slice(n,o)==t},qn.eq=Fs,qn.escape=function(e){return(e=ga(e))&&K.test(e)?e.replace(W,tn):e},qn.escapeRegExp=function(e){return(e=ga(e))&&ne.test(e)?e.replace(te,"\\$&"):e},qn.every=function(e,t,n){var i=zs(e)?Ot:fi;return n&&go(e,t,n)&&(t=r),i(e,oo(t,3))},qn.find=ms,qn.findIndex=Vo,qn.findKey=function(e,t){return Dt(e,oo(t,3),bi)},qn.findLast=ys,qn.findLastIndex=zo,qn.findLastKey=function(e,t){return Dt(e,oo(t,3),vi)},qn.floor=_c,qn.forEach=gs,qn.forEachRight=bs,qn.forIn=function(e,t){return null==e?e:yi(e,oo(t,3),ka)},qn.forInRight=function(e,t){return null==e?e:gi(e,oo(t,3),ka)},qn.forOwn=function(e,t){return e&&bi(e,oo(t,3))},qn.forOwnRight=function(e,t){return e&&vi(e,oo(t,3))},qn.get=Sa,qn.gt=Ls,qn.gte=Us,qn.has=function(e,t){return null!=e&&fo(e,t,Si)},qn.hasIn=Pa,qn.head=Ho,qn.identity=nc,qn.includes=function(e,t,n,i){e=Hs(e)?e:Fa(e),n=n&&!i?da(n):0;var r=e.length;return n<0&&(n=yn(r+n,0)),sa(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&Ft(e,t,n)>-1},qn.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:da(n);return r<0&&(r=yn(i+r,0)),Ft(e,t,r)},qn.inRange=function(e,t,n){return t=fa(t),n===r?(n=t,t=0):n=fa(n),function(e,t,n){return e>=gn(t,n)&&e=-9007199254740991&&e<=u},qn.isSet=oa,qn.isString=sa,qn.isSymbol=aa,qn.isTypedArray=ca,qn.isUndefined=function(e){return e===r},qn.isWeakMap=function(e){return ea(e)&&uo(e)==T},qn.isWeakSet=function(e){return ea(e)&&"[object WeakSet]"==wi(e)},qn.join=function(e,t){return null==e?"":Bt.call(e,t)},qn.kebabCase=za,qn.last=Jo,qn.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var o=i;return n!==r&&(o=(o=da(n))<0?yn(i+o,0):gn(o,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,o):qt(e,Ut,o,!0)},qn.lowerCase=Ba,qn.lowerFirst=Ha,qn.lt=pa,qn.lte=la,qn.max=function(e){return e&&e.length?di(e,nc,$i):r},qn.maxBy=function(e,t){return e&&e.length?di(e,oo(t,2),$i):r},qn.mean=function(e){return Vt(e,nc)},qn.meanBy=function(e,t){return Vt(e,oo(t,2))},qn.min=function(e){return e&&e.length?di(e,nc,Ni):r},qn.minBy=function(e,t){return e&&e.length?di(e,oo(t,2),Ni):r},qn.stubArray=hc,qn.stubFalse=mc,qn.stubObject=function(){return{}},qn.stubString=function(){return""},qn.stubTrue=function(){return!0},qn.multiply=jc,qn.nth=function(e,t){return e&&e.length?Li(e,da(t)):r},qn.noConflict=function(){return ut._===this&&(ut._=qe),this},qn.noop=ac,qn.now=Ss,qn.pad=function(e,t,n){e=ga(e);var i=(t=da(t))?ln(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return Ur(dt(r),n)+e+Ur(ft(r),n)},qn.padEnd=function(e,t,n){e=ga(e);var i=(t=da(t))?ln(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var o=_n();return gn(e+o*(t-e+at("1e-"+((o+"").length-1))),t)}return Hi(e,t)},qn.reduce=function(e,t,n){var i=zs(e)?Rt:Ht,r=arguments.length<3;return i(e,oo(t,4),n,r,li)},qn.reduceRight=function(e,t,n){var i=zs(e)?Mt:Ht,r=arguments.length<3;return i(e,oo(t,4),n,r,ui)},qn.repeat=function(e,t,n){return t=(n?go(e,t,n):t===r)?1:da(t),Wi(ga(e),t)},qn.replace=function(){var e=arguments,t=ga(e[0]);return e.length<3?t:t.replace(e[1],e[2])},qn.result=function(e,t,n){var i=-1,o=(t=yr(t,e)).length;for(o||(o=1,e=r);++iu)return[];var n=d,i=gn(e,d);t=oo(t),e-=d;for(var r=Gt(i,t);++n=s)return e;var c=n-ln(i);if(c<1)return i;var p=a?br(a,0,c).join(""):e.slice(0,c);if(o===r)return p+i;if(a&&(c+=p.length-c),ra(o)){if(e.slice(c).search(o)){var l,u=p;for(o.global||(o=Se(o.source,ga(fe.exec(o))+"g")),o.lastIndex=0;l=o.exec(u);)var f=l.index;p=p.slice(0,f===r?c:f)}}else if(e.indexOf(sr(o),c)!=c){var d=p.lastIndexOf(o);d>-1&&(p=p.slice(0,d))}return p+i},qn.unescape=function(e){return(e=ga(e))&&G.test(e)?e.replace(H,dn):e},qn.uniqueId=function(e){var t=++Me;return ga(e)+t},qn.upperCase=Ka,qn.upperFirst=Ja,qn.each=gs,qn.eachRight=bs,qn.first=Ho,sc(qn,(yc={},bi(qn,(function(e,t){Re.call(qn.prototype,t)||(yc[t]=e)})),yc),{chain:!1}),qn.VERSION="4.17.21",St(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){qn[e].placeholder=qn})),St(["drop","take"],(function(e,t){Vn.prototype[e]=function(n){n=n===r?1:yn(da(n),0);var i=this.__filtered__&&!t?new Vn(this):this.clone();return i.__filtered__?i.__takeCount__=gn(n,i.__takeCount__):i.__views__.push({size:gn(n,d),type:e+(i.__dir__<0?"Right":"")}),i},Vn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),St(["filter","map","takeWhile"],(function(e,t){var n=t+1,i=1==n||3==n;Vn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:oo(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}})),St(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Vn.prototype[e]=function(){return this[n](1).value()[0]}})),St(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Vn.prototype[e]=function(){return this.__filtered__?new Vn(this):this[n](1)}})),Vn.prototype.compact=function(){return this.filter(nc)},Vn.prototype.find=function(e){return this.filter(e).head()},Vn.prototype.findLast=function(e){return this.reverse().find(e)},Vn.prototype.invokeMap=Gi((function(e,t){return"function"==typeof e?new Vn(this):this.map((function(n){return Ei(n,e,t)}))})),Vn.prototype.reject=function(e){return this.filter(Ms(oo(e)))},Vn.prototype.slice=function(e,t){e=da(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Vn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==r&&(n=(t=da(t))<0?n.dropRight(-t):n.take(t-e)),n)},Vn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Vn.prototype.toArray=function(){return this.take(d)},bi(Vn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),o=qn[i?"take"+("last"==t?"Right":""):t],s=i||/^find/.test(t);o&&(qn.prototype[t]=function(){var t=this.__wrapped__,a=i?[1]:arguments,c=t instanceof Vn,p=a[0],l=c||zs(t),u=function(e){var t=o.apply(qn,It([e],a));return i&&f?t[0]:t};l&&n&&"function"==typeof p&&1!=p.length&&(c=l=!1);var f=this.__chain__,d=!!this.__actions__.length,h=s&&!f,m=c&&!d;if(!s&&l){t=m?t:new Vn(this);var y=e.apply(t,a);return y.__actions__.push({func:fs,args:[u],thisArg:r}),new Un(y,f)}return h&&m?e.apply(this,a):(y=this.thru(u),h?i?y.value()[0]:y.value():y)})})),St(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ee[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);qn.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(zs(r)?r:[],e)}return this[n]((function(n){return t.apply(zs(n)?n:[],e)}))}})),bi(Vn.prototype,(function(e,t){var n=qn[t];if(n){var i=n.name+"";Re.call(An,i)||(An[i]=[]),An[i].push({name:t,func:n})}})),An[Dr(r,2).name]=[{name:"wrapper",func:r}],Vn.prototype.clone=function(){var e=new Vn(this.__wrapped__);return e.__actions__=Pr(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Pr(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Pr(this.__views__),e},Vn.prototype.reverse=function(){if(this.__filtered__){var e=new Vn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Vn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=zs(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?r:this.__values__[this.__index__++]}},qn.prototype.plant=function(e){for(var t,n=this;n instanceof Ln;){var i=qo(n);i.__index__=0,i.__values__=r,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t},qn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Vn){var t=e;return this.__actions__.length&&(t=new Vn(this)),(t=t.reverse()).__actions__.push({func:fs,args:[Xo],thisArg:r}),new Un(t,this.__chain__)}return this.thru(Xo)},qn.prototype.toJSON=qn.prototype.valueOf=qn.prototype.value=function(){return ur(this.__wrapped__,this.__actions__)},qn.prototype.first=qn.prototype.head,Je&&(qn.prototype[Je]=function(){return this}),qn}();ut._=hn,(i=function(){return hn}.call(t,n,t,e))===r||(e.exports=i)}.call(this)},16651:(e,t,n)=>{var i=n(74554);function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s)||o,s};return n.cache=new(r.Cache||i),n}r.Cache=i,e.exports=r},47215:(e,t,n)=>{var i=n(78859);e.exports=function(e,t,n){return null==e?e:i(e,t,n)}},65567:(e,t,n)=>{var i=n(34282);e.exports=function(e){return null==e?"":i(e)}},13707:(e,t,n)=>{var i=n(30138);e.exports=d,d.Minimatch=h;var r=function(){try{return n(67425)}catch(e){}}()||{sep:"/"};d.sep=r.sep;var o=d.GLOBSTAR=h.GLOBSTAR={},s=n(55457),a={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},c="[^/]",p=c+"*?",l="().*{}+?[]^$\\!".split("").reduce((function(e,t){return e[t]=!0,e}),{}),u=/\/+/;function f(e,t){t=t||{};var n={};return Object.keys(e).forEach((function(t){n[t]=e[t]})),Object.keys(t).forEach((function(e){n[e]=t[e]})),n}function d(e,t,n){return y(t),n||(n={}),!(!n.nocomment&&"#"===t.charAt(0))&&new h(t,n).match(e)}function h(e,t){if(!(this instanceof h))return new h(e,t);y(e),t||(t={}),e=e.trim(),t.allowWindowsEscape||"/"===r.sep||(e=e.split(r.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}function m(e,t){return t||(t=this instanceof h?this.options:{}),e=void 0===e?this.pattern:e,y(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:s(e)}d.filter=function(e,t){return t=t||{},function(n,i,r){return d(n,e,t)}},d.defaults=function(e){if(!e||"object"!=typeof e||!Object.keys(e).length)return d;var t=d,n=function(n,i,r){return t(n,i,f(e,r))};return(n.Minimatch=function(n,i){return new t.Minimatch(n,f(e,i))}).defaults=function(n){return t.defaults(f(e,n)).Minimatch},n.filter=function(n,i){return t.filter(n,f(e,i))},n.defaults=function(n){return t.defaults(f(e,n))},n.makeRe=function(n,i){return t.makeRe(n,f(e,i))},n.braceExpand=function(n,i){return t.braceExpand(n,f(e,i))},n.match=function(n,i,r){return t.match(n,i,f(e,r))},n},h.defaults=function(e){return d.defaults(e).Minimatch},h.prototype.debug=function(){},h.prototype.make=function(){var e=this.pattern,t=this.options;if(t.nocomment||"#"!==e.charAt(0))if(e){this.parseNegate();var n=this.globSet=this.braceExpand();t.debug&&(this.debug=function(){i.error.apply(i,arguments)}),this.debug(this.pattern,n),n=this.globParts=n.map((function(e){return e.split(u)})),this.debug(this.pattern,n),n=n.map((function(e,t,n){return e.map(this.parse,this)}),this),this.debug(this.pattern,n),n=n.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,n),this.set=n}else this.empty=!0;else this.comment=!0},h.prototype.parseNegate=function(){var e=this.pattern,t=!1,n=0;if(!this.options.nonegate){for(var i=0,r=e.length;i65536)throw new TypeError("pattern is too long")};h.prototype.parse=function(e,t){y(e);var n=this.options;if("**"===e){if(!n.noglobstar)return o;e="*"}if(""===e)return"";var i,r="",s=!!n.nocase,u=!1,f=[],d=[],h=!1,m=-1,b=-1,v="."===e.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",_=this;function j(){if(i){switch(i){case"*":r+=p,s=!0;break;case"?":r+=c,s=!0;break;default:r+="\\"+i}_.debug("clearStateChar %j %j",i,r),i=!1}}for(var x,w=0,$=e.length;w<$&&(x=e.charAt(w));w++)if(this.debug("%s\t%s %s %j",e,w,r,x),u&&l[x])r+="\\"+x,u=!1;else switch(x){case"/":return!1;case"\\":j(),u=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s\t%s %s %j <-- stateChar",e,w,r,x),h){this.debug(" in class"),"!"===x&&w===b+1&&(x="^"),r+=x;continue}_.debug("call clearStateChar %j",i),j(),i=x,n.noext&&j();continue;case"(":if(h){r+="(";continue}if(!i){r+="\\(";continue}f.push({type:i,start:w-1,reStart:r.length,open:a[i].open,close:a[i].close}),r+="!"===i?"(?:(?!(?:":"(?:",this.debug("plType %j %j",i,r),i=!1;continue;case")":if(h||!f.length){r+="\\)";continue}j(),s=!0;var S=f.pop();r+=S.close,"!"===S.type&&d.push(S),S.reEnd=r.length;continue;case"|":if(h||!f.length||u){r+="\\|",u=!1;continue}j(),r+="|";continue;case"[":if(j(),h){r+="\\"+x;continue}h=!0,b=w,m=r.length,r+=x;continue;case"]":if(w===b+1||!h){r+="\\"+x,u=!1;continue}var P=e.substring(b+1,w);try{RegExp("["+P+"]")}catch(e){var O=this.parse(P,g);r=r.substr(0,m)+"\\["+O[0]+"\\]",s=s||O[1],h=!1;continue}s=!0,h=!1,r+=x;continue;default:j(),u?u=!1:!l[x]||"^"===x&&h||(r+="\\"),r+=x}for(h&&(P=e.substr(b+1),O=this.parse(P,g),r=r.substr(0,m)+"\\["+O[0],s=s||O[1]),S=f.pop();S;S=f.pop()){var E=r.slice(S.reStart+S.open.length);this.debug("setting tail",r,S),E=E.replace(/((?:\\{2}){0,64})(\\?)\|/g,(function(e,t,n){return n||(n="\\"),t+t+n+"|"})),this.debug("tail=%j\n %s",E,E,S,r);var A="*"===S.type?p:"?"===S.type?c:"\\"+S.type;s=!0,r=r.slice(0,S.reStart)+A+"\\("+E}j(),u&&(r+="\\\\");var T=!1;switch(r.charAt(0)){case"[":case".":case"(":T=!0}for(var k=d.length-1;k>-1;k--){var I=d[k],R=r.slice(0,I.reStart),M=r.slice(I.reStart,I.reEnd-8),N=r.slice(I.reEnd-8,I.reEnd),C=r.slice(I.reEnd);N+=C;var D=R.split("(").length-1,q=C;for(w=0;w=0&&!(i=e[o]);o--);for(o=0;o>> no match, partial?",e,f,t,d),f!==a))}if("string"==typeof l?(p=u===l,this.debug("string match",l,u,p)):(p=u.match(l),this.debug("pattern match",l,u,p)),!p)return!1}if(r===a&&s===c)return!0;if(r===a)return n;if(s===c)return r===a-1&&""===e[r];throw new Error("wtf?")}},40759:(e,t)=>{"use strict";var n=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==n)return n;throw new Error("unable to locate global object")}();e.exports=t=n.fetch,n.fetch&&(t.default=n.fetch.bind(n)),t.Headers=n.Headers,t.Request=n.Request,t.Response=n.Response},86524:(e,t,n)=>{var i="function"==typeof Map&&Map.prototype,r=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=i&&r&&"function"==typeof r.get?r.get:null,s=i&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,p=a&&c&&"function"==typeof c.get?c.get:null,l=a&&Set.prototype.forEach,u="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,f="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,h=Boolean.prototype.valueOf,m=Object.prototype.toString,y=Function.prototype.toString,g=String.prototype.match,b=String.prototype.slice,v=String.prototype.replace,_=String.prototype.toUpperCase,j=String.prototype.toLowerCase,x=RegExp.prototype.test,w=Array.prototype.concat,$=Array.prototype.join,S=Array.prototype.slice,P=Math.floor,O="function"==typeof BigInt?BigInt.prototype.valueOf:null,E=Object.getOwnPropertySymbols,A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"==typeof Symbol&&"object"==typeof Symbol.iterator,k="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,I=Object.prototype.propertyIsEnumerable,R=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function M(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||x.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var i=e<0?-P(-e):P(e);if(i!==e){var r=String(i),o=b.call(t,r.length+1);return v.call(r,n,"$&_")+"."+v.call(v.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(t,n,"$&_")}var N=n(96553),C=N.custom,D=V(C)?C:null;function q(e,t,n){var i="double"===(n.quoteStyle||t)?'"':"'";return i+e+i}function F(e){return v.call(String(e),/"/g,""")}function L(e){return!("[object Array]"!==H(e)||k&&"object"==typeof e&&k in e)}function U(e){return!("[object RegExp]"!==H(e)||k&&"object"==typeof e&&k in e)}function V(e){if(T)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!A)return!1;try{return A.call(e),!0}catch(e){}return!1}e.exports=function e(t,i,r,a){var c=i||{};if(B(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(B(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var m=!B(c,"customInspect")||c.customInspect;if("boolean"!=typeof m&&"symbol"!==m)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(B(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(B(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var _=c.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return G(t,c);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var x=String(t);return _?M(t,x):x}if("bigint"==typeof t){var P=String(t)+"n";return _?M(t,P):P}var E=void 0===c.depth?5:c.depth;if(void 0===r&&(r=0),r>=E&&E>0&&"object"==typeof t)return L(t)?"[Array]":"[Object]";var C,z=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;n=$.call(Array(e.indent+1)," ")}return{base:n,prev:$.call(Array(t+1),n)}}(c,r);if(void 0===a)a=[];else if(W(a,t)>=0)return"[Circular]";function K(t,n,i){if(n&&(a=S.call(a)).push(n),i){var o={depth:c.depth};return B(c,"quoteStyle")&&(o.quoteStyle=c.quoteStyle),e(t,o,r+1,a)}return e(t,c,r+1,a)}if("function"==typeof t&&!U(t)){var ee=function(e){if(e.name)return e.name;var t=g.call(y.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),te=X(t,K);return"[Function"+(ee?": "+ee:" (anonymous)")+"]"+(te.length>0?" { "+$.call(te,", ")+" }":"")}if(V(t)){var ne=T?v.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):A.call(t);return"object"!=typeof t||T?ne:J(ne)}if((C=t)&&"object"==typeof C&&("undefined"!=typeof HTMLElement&&C instanceof HTMLElement||"string"==typeof C.nodeName&&"function"==typeof C.getAttribute)){for(var ie="<"+j.call(String(t.nodeName)),re=t.attributes||[],oe=0;oe"}if(L(t)){if(0===t.length)return"[]";var se=X(t,K);return z&&!function(e){for(var t=0;t=0)return!1;return!0}(se)?"["+Y(se,z)+"]":"[ "+$.call(se,", ")+" ]"}if(function(e){return!("[object Error]"!==H(e)||k&&"object"==typeof e&&k in e)}(t)){var ae=X(t,K);return"cause"in Error.prototype||!("cause"in t)||I.call(t,"cause")?0===ae.length?"["+String(t)+"]":"{ ["+String(t)+"] "+$.call(ae,", ")+" }":"{ ["+String(t)+"] "+$.call(w.call("[cause]: "+K(t.cause),ae),", ")+" }"}if("object"==typeof t&&m){if(D&&"function"==typeof t[D]&&N)return N(t,{depth:E-r});if("symbol"!==m&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!=typeof e)return!1;try{o.call(e);try{p.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1}(t)){var ce=[];return s&&s.call(t,(function(e,n){ce.push(K(n,t,!0)+" => "+K(e,t))})),Z("Map",o.call(t),ce,z)}if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{p.call(e);try{o.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1}(t)){var pe=[];return l&&l.call(t,(function(e){pe.push(K(e,t))})),Z("Set",p.call(t),pe,z)}if(function(e){if(!u||!e||"object"!=typeof e)return!1;try{u.call(e,u);try{f.call(e,f)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1}(t))return Q("WeakMap");if(function(e){if(!f||!e||"object"!=typeof e)return!1;try{f.call(e,f);try{u.call(e,u)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1}(t))return Q("WeakSet");if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{return d.call(e),!0}catch(e){}return!1}(t))return Q("WeakRef");if(function(e){return!("[object Number]"!==H(e)||k&&"object"==typeof e&&k in e)}(t))return J(K(Number(t)));if(function(e){if(!e||"object"!=typeof e||!O)return!1;try{return O.call(e),!0}catch(e){}return!1}(t))return J(K(O.call(t)));if(function(e){return!("[object Boolean]"!==H(e)||k&&"object"==typeof e&&k in e)}(t))return J(h.call(t));if(function(e){return!("[object String]"!==H(e)||k&&"object"==typeof e&&k in e)}(t))return J(K(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if(t===n.g)return"{ [object globalThis] }";if(!function(e){return!("[object Date]"!==H(e)||k&&"object"==typeof e&&k in e)}(t)&&!U(t)){var le=X(t,K),ue=R?R(t)===Object.prototype:t instanceof Object||t.constructor===Object,fe=t instanceof Object?"":"null prototype",de=!ue&&k&&Object(t)===t&&k in t?b.call(H(t),8,-1):fe?"Object":"",he=(ue||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(de||fe?"["+$.call(w.call([],de||[],fe||[]),": ")+"] ":"");return 0===le.length?he+"{}":z?he+"{"+Y(le,z)+"}":he+"{ "+$.call(le,", ")+" }"}return String(t)};var z=Object.prototype.hasOwnProperty||function(e){return e in this};function B(e,t){return z.call(e,t)}function H(e){return m.call(e)}function W(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,i=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,i="... "+n+" more character"+(n>1?"s":"");return G(b.call(e,0,t.maxStringLength),t)+i}return q(v.call(v.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,K),"single",t)}function K(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+_.call(t.toString(16))}function J(e){return"Object("+e+")"}function Q(e){return e+" { ? }"}function Z(e,t,n,i){return e+" ("+t+") {"+(i?Y(n,i):$.call(n,", "))+"}"}function Y(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+$.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=L(e),i=[];if(n){i.length=e.length;for(var r=0;r{"use strict";var t=function(e){return e!=e};e.exports=function(e,n){return 0===e&&0===n?1/e==1/n:e===n||!(!t(e)||!t(n))}},83822:(e,t,n)=>{"use strict";var i=n(67392),r=n(34573),o=n(60836),s=n(11800),a=n(27894),c=r(s(),Object);i(c,{getPolyfill:s,implementation:o,shim:a}),e.exports=c},11800:(e,t,n)=>{"use strict";var i=n(60836);e.exports=function(){return"function"==typeof Object.is?Object.is:i}},27894:(e,t,n)=>{"use strict";var i=n(11800),r=n(67392);e.exports=function(){var e=i();return r(Object,{is:e},{is:function(){return Object.is!==e}}),e}},89538:(e,t,n)=>{"use strict";var i;if(!Object.keys){var r=Object.prototype.hasOwnProperty,o=Object.prototype.toString,s=n(71030),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),p=a.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(e){var t=e.constructor;return t&&t.prototype===e},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!f["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{u(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();i=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===o.call(e),i=s(e),a=t&&"[object String]"===o.call(e),f=[];if(!t&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var h=p&&n;if(a&&e.length>0&&!r.call(e,0))for(var m=0;m0)for(var y=0;y{"use strict";var i=Array.prototype.slice,r=n(71030),o=Object.keys,s=o?function(e){return o(e)}:n(89538),a=Object.keys;s.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return r(e)?a(i.call(e)):a(e)})}else Object.keys=s;return Object.keys||s},e.exports=s},71030:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var n=t.call(e),i="[object Arguments]"===n;return i||(i="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),i}},85752:(e,t,n)=>{"use strict";var i=n(44733),r=n(8186)(),o=n(12737),s=Object,a=o("Array.prototype.push"),c=o("Object.prototype.propertyIsEnumerable"),p=r?Object.getOwnPropertySymbols:null;e.exports=function(e,t){if(null==e)throw new TypeError("target must be an object");var n=s(e);if(1===arguments.length)return n;for(var o=1;o{"use strict";var i=n(85752);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),n={},i=0;i{"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)i(n,r)&&(e[r]=n[r])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var o=0;o{"use strict";e.exports=function(e,t,n,i){for(var r=65535&e,o=e>>>16&65535,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{o=o+(r=r+t[i++]|0)|0}while(--s);r%=65521,o%=65521}return r|o<<16}},92436:e=>{"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},91383:e=>{"use strict";var t=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();e.exports=function(e,n,i,r){var o=t,s=r+i;e^=-1;for(var a=r;a>>8^o[255&(e^n[a])];return~e}},83152:(e,t,n)=>{"use strict";var i,r=n(37609),o=n(77322),s=n(85530),a=n(91383),c=n(55710),p=0,l=0,u=-2,f=2,d=8,h=286,m=30,y=19,g=2*h+1,b=15,v=3,_=258,j=_+v+1,x=42,w=103,$=113,S=666;function P(e,t){return e.msg=c[t],t}function O(e){return(e<<1)-(e>4?9:0)}function E(e){for(var t=e.length;--t>=0;)e[t]=0}function A(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(r.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function T(e,t){o._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,A(e.strm)}function k(e,t){e.pending_buf[e.pending++]=t}function I(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function R(e,t){var n,i,r=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match,c=e.strstart>e.w_size-j?e.strstart-(e.w_size-j):0,p=e.window,l=e.w_mask,u=e.prev,f=e.strstart+_,d=p[o+s-1],h=p[o+s];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(p[(n=t)+s]===h&&p[n+s-1]===d&&p[n]===p[o]&&p[++n]===p[o+1]){o+=2,n++;do{}while(p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&p[++o]===p[++n]&&os){if(e.match_start=t,s=i,i>=a)break;d=p[o+s-1],h=p[o+s]}}}while((t=u[t&l])>c&&0!=--r);return s<=e.lookahead?s:e.lookahead}function M(e){var t,n,i,o,c,p,l,u,f,d,h=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=h+(h-j)){r.arraySet(e.window,e.window,h,h,0),e.match_start-=h,e.strstart-=h,e.block_start-=h,t=n=e.hash_size;do{i=e.head[--t],e.head[t]=i>=h?i-h:0}while(--n);t=n=h;do{i=e.prev[--t],e.prev[t]=i>=h?i-h:0}while(--n);o+=h}if(0===e.strm.avail_in)break;if(p=e.strm,l=e.window,u=e.strstart+e.lookahead,f=o,d=void 0,(d=p.avail_in)>f&&(d=f),n=0===d?0:(p.avail_in-=d,r.arraySet(l,p.input,p.next_in,d,u),1===p.state.wrap?p.adler=s(p.adler,l,d,u):2===p.state.wrap&&(p.adler=a(p.adler,l,d,u)),p.next_in+=d,p.total_in+=d,d),e.lookahead+=n,e.lookahead+e.insert>=v)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<=v&&(e.ins_h=(e.ins_h<=v)if(i=o._tr_tally(e,e.strstart-e.match_start,e.match_length-v),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=v){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=v&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=v-1)),e.prev_length>=v&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-v,i=o._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-v),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=(e.ins_h<15&&(a=2,i-=16),o<1||o>9||n!==d||i<8||i>15||t<0||t>9||s<0||s>4)return P(e,u);8===i&&(i=9);var c=new q;return e.state=c,c.strm=e,c.wrap=a,c.gzhead=null,c.w_bits=i,c.w_size=1<e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(M(e),0===e.lookahead&&t===p)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,T(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-j&&(T(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(T(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(T(e,!1),e.strm.avail_out),1)})),new D(4,4,8,4,N),new D(4,5,16,8,N),new D(4,6,32,32,N),new D(4,4,16,16,C),new D(8,16,32,32,C),new D(8,16,128,128,C),new D(8,32,128,256,C),new D(32,128,258,1024,C),new D(32,258,258,4096,C)],t.deflateInit=function(e,t){return U(e,t,d,15,8,0)},t.deflateInit2=U,t.deflateReset=L,t.deflateResetKeep=F,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?u:(e.state.gzhead=t,l):u},t.deflate=function(e,t){var n,r,s,c;if(!e||!e.state||t>5||t<0)return e?P(e,u):u;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===S&&4!==t)return P(e,0===e.avail_out?-5:u);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===x)if(2===r.wrap)e.adler=0,k(r,31),k(r,139),k(r,8),r.gzhead?(k(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),k(r,255&r.gzhead.time),k(r,r.gzhead.time>>8&255),k(r,r.gzhead.time>>16&255),k(r,r.gzhead.time>>24&255),k(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),k(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(k(r,255&r.gzhead.extra.length),k(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=a(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(k(r,0),k(r,0),k(r,0),k(r,0),k(r,0),k(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),k(r,3),r.status=$);else{var f=d+(r.w_bits-8<<4)<<8;f|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(f|=32),f+=31-f%31,r.status=$,I(r,f),0!==r.strstart&&(I(r,e.adler>>>16),I(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),A(e),s=r.pending,r.pending!==r.pending_buf_size));)k(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),A(e),s=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindexs&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===c&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),A(e),s=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindexs&&(e.adler=a(e.adler,r.pending_buf,r.pending-s,s)),0===c&&(r.status=w)}else r.status=w;if(r.status===w&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&A(e),r.pending+2<=r.pending_buf_size&&(k(r,255&e.adler),k(r,e.adler>>8&255),e.adler=0,r.status=$)):r.status=$),0!==r.pending){if(A(e),0===e.avail_out)return r.last_flush=-1,l}else if(0===e.avail_in&&O(t)<=O(n)&&4!==t)return P(e,-5);if(r.status===S&&0!==e.avail_in)return P(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==p&&r.status!==S){var h=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(M(e),0===e.lookahead)){if(t===p)return 1;break}if(e.match_length=0,n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(T(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(T(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(T(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,i,r,s,a=e.window;;){if(e.lookahead<=_){if(M(e),e.lookahead<=_&&t===p)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=v&&e.strstart>0&&(i=a[r=e.strstart-1])===a[++r]&&i===a[++r]&&i===a[++r]){s=e.strstart+_;do{}while(i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&i===a[++r]&&re.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=v?(n=o._tr_tally(e,1,e.match_length-v),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=o._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(T(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(T(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(T(e,!1),0===e.strm.avail_out)?1:2}(r,t):i[r.level].func(r,t);if(3!==h&&4!==h||(r.status=S),1===h||3===h)return 0===e.avail_out&&(r.last_flush=-1),l;if(2===h&&(1===t?o._tr_align(r):5!==t&&(o._tr_stored_block(r,0,0,!1),3===t&&(E(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),A(e),0===e.avail_out))return r.last_flush=-1,l}return 4!==t?l:r.wrap<=0?1:(2===r.wrap?(k(r,255&e.adler),k(r,e.adler>>8&255),k(r,e.adler>>16&255),k(r,e.adler>>24&255),k(r,255&e.total_in),k(r,e.total_in>>8&255),k(r,e.total_in>>16&255),k(r,e.total_in>>24&255)):(I(r,e.adler>>>16),I(r,65535&e.adler)),A(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?l:1)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==x&&69!==t&&73!==t&&91!==t&&t!==w&&t!==$&&t!==S?P(e,u):(e.state=null,t===$?P(e,-3):l):u},t.deflateSetDictionary=function(e,t){var n,i,o,a,c,p,f,d,h=t.length;if(!e||!e.state)return u;if(2===(a=(n=e.state).wrap)||1===a&&n.status!==x||n.lookahead)return u;for(1===a&&(e.adler=s(e.adler,t,h,0)),n.wrap=0,h>=n.w_size&&(0===a&&(E(n.head),n.strstart=0,n.block_start=0,n.insert=0),d=new r.Buf8(n.w_size),r.arraySet(d,t,h-n.w_size,n.w_size,0),t=d,h=n.w_size),c=e.avail_in,p=e.next_in,f=e.input,e.avail_in=h,e.next_in=0,e.input=t,M(n);n.lookahead>=v;){i=n.strstart,o=n.lookahead-(v-1);do{n.ins_h=(n.ins_h<{"use strict";e.exports=function(e,t){var n,i,r,o,s,a,c,p,l,u,f,d,h,m,y,g,b,v,_,j,x,w,$,S,P;n=e.state,i=e.next_in,S=e.input,r=i+(e.avail_in-5),o=e.next_out,P=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),c=n.dmax,p=n.wsize,l=n.whave,u=n.wnext,f=n.window,d=n.hold,h=n.bits,m=n.lencode,y=n.distcode,g=(1<>>=_=v>>>24,h-=_,0==(_=v>>>16&255))P[o++]=65535&v;else{if(!(16&_)){if(64&_){if(32&_){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}v=m[(65535&v)+(d&(1<<_)-1)];continue t}for(j=65535&v,(_&=15)&&(h<_&&(d+=S[i++]<>>=_,h-=_),h<15&&(d+=S[i++]<>>=_=v>>>24,h-=_,16&(_=v>>>16&255)){if(x=65535&v,h<(_&=15)&&(d+=S[i++]<c){e.msg="invalid distance too far back",n.mode=30;break e}if(d>>>=_,h-=_,x>(_=o-s)){if((_=x-_)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(w=0,$=f,0===u){if(w+=p-_,_2;)P[o++]=$[w++],P[o++]=$[w++],P[o++]=$[w++],j-=3;j&&(P[o++]=$[w++],j>1&&(P[o++]=$[w++]))}else{w=o-x;do{P[o++]=P[w++],P[o++]=P[w++],P[o++]=P[w++],j-=3}while(j>2);j&&(P[o++]=P[w++],j>1&&(P[o++]=P[w++]))}break}if(64&_){e.msg="invalid distance code",n.mode=30;break e}v=y[(65535&v)+(d&(1<<_)-1)]}}break}}while(i>3,d&=(1<<(h-=j<<3))-1,e.next_in=i,e.next_out=o,e.avail_in=i{"use strict";var i=n(37609),r=n(85530),o=n(91383),s=n(58121),a=n(97371),c=0,p=-2,l=1,u=12,f=30,d=852,h=592;function m(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function y(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function g(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=l,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.Buf32(d),t.distcode=t.distdyn=new i.Buf32(h),t.sane=1,t.back=-1,c):p}function b(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,g(e)):p}function v(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?p:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,b(e))):p}function _(e,t){var n,i;return e?(i=new y,e.state=i,i.window=null,(n=v(e,t))!==c&&(e.state=null),n):p}var j,x,w=!0;function $(e){if(w){var t;for(j=new i.Buf32(512),x=new i.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(1,e.lens,0,288,j,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(2,e.lens,0,32,x,0,e.work,{bits:5}),w=!1}e.lencode=j,e.lenbits=9,e.distcode=x,e.distbits=5}function S(e,t,n,r){var o,s=e.state;return null===s.window&&(s.wsize=1<=s.wsize?(i.arraySet(s.window,t,n-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((o=s.wsize-s.wnext)>r&&(o=r),i.arraySet(s.window,t,n-r,o,s.wnext),(r-=o)?(i.arraySet(s.window,t,n-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,n.check=o(n.check,L,2,0),_=0,j=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&_)<<8)+(_>>8))%31){e.msg="incorrect header check",n.mode=f;break}if(8!=(15&_)){e.msg="unknown compression method",n.mode=f;break}if(j-=4,N=8+(15&(_>>>=4)),0===n.wbits)n.wbits=N;else if(N>n.wbits){e.msg="invalid window size",n.mode=f;break}n.dmax=1<>8&1),512&n.flags&&(L[0]=255&_,L[1]=_>>>8&255,n.check=o(n.check,L,2,0)),_=0,j=0,n.mode=3;case 3:for(;j<32;){if(0===b)break e;b--,_+=d[y++]<>>8&255,L[2]=_>>>16&255,L[3]=_>>>24&255,n.check=o(n.check,L,4,0)),_=0,j=0,n.mode=4;case 4:for(;j<16;){if(0===b)break e;b--,_+=d[y++]<>8),512&n.flags&&(L[0]=255&_,L[1]=_>>>8&255,n.check=o(n.check,L,2,0)),_=0,j=0,n.mode=5;case 5:if(1024&n.flags){for(;j<16;){if(0===b)break e;b--,_+=d[y++]<>>8&255,n.check=o(n.check,L,2,0)),_=0,j=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((P=n.length)>b&&(P=b),P&&(n.head&&(N=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),i.arraySet(n.head.extra,d,y,P,N)),512&n.flags&&(n.check=o(n.check,d,P,y)),b-=P,y+=P,n.length-=P),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===b)break e;P=0;do{N=d[y+P++],n.head&&N&&n.length<65536&&(n.head.name+=String.fromCharCode(N))}while(N&&P>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=u;break;case 10:for(;j<32;){if(0===b)break e;b--,_+=d[y++]<>>=7&j,j-=7&j,n.mode=27;break}for(;j<3;){if(0===b)break e;b--,_+=d[y++]<>>=1)){case 0:n.mode=14;break;case 1:if($(n),n.mode=20,6===t){_>>>=2,j-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=f}_>>>=2,j-=2;break;case 14:for(_>>>=7&j,j-=7&j;j<32;){if(0===b)break e;b--,_+=d[y++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=f;break}if(n.length=65535&_,_=0,j=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(P=n.length){if(P>b&&(P=b),P>v&&(P=v),0===P)break e;i.arraySet(h,d,y,P,g),b-=P,y+=P,v-=P,g+=P,n.length-=P;break}n.mode=u;break;case 17:for(;j<14;){if(0===b)break e;b--,_+=d[y++]<>>=5,j-=5,n.ndist=1+(31&_),_>>>=5,j-=5,n.ncode=4+(15&_),_>>>=4,j-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=f;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,j-=3}for(;n.have<19;)n.lens[U[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,D={bits:n.lenbits},C=a(0,n.lens,0,19,n.lencode,0,n.work,D),n.lenbits=D.bits,C){e.msg="invalid code lengths set",n.mode=f;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,k=65535&F,!((A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>>=A,j-=A,n.lens[n.have++]=k;else{if(16===k){for(q=A+2;j>>=A,j-=A,0===n.have){e.msg="invalid bit length repeat",n.mode=f;break}N=n.lens[n.have-1],P=3+(3&_),_>>>=2,j-=2}else if(17===k){for(q=A+3;j>>=A)),_>>>=3,j-=3}else{for(q=A+7;j>>=A)),_>>>=7,j-=7}if(n.have+P>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=f;break}for(;P--;)n.lens[n.have++]=N}}if(n.mode===f)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=f;break}if(n.lenbits=9,D={bits:n.lenbits},C=a(1,n.lens,0,n.nlen,n.lencode,0,n.work,D),n.lenbits=D.bits,C){e.msg="invalid literal/lengths set",n.mode=f;break}if(n.distbits=6,n.distcode=n.distdyn,D={bits:n.distbits},C=a(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,D),n.distbits=D.bits,C){e.msg="invalid distances set",n.mode=f;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(b>=6&&v>=258){e.next_out=g,e.avail_out=v,e.next_in=y,e.avail_in=b,n.hold=_,n.bits=j,s(e,w),g=e.next_out,h=e.output,v=e.avail_out,y=e.next_in,d=e.input,b=e.avail_in,_=n.hold,j=n.bits,n.mode===u&&(n.back=-1);break}for(n.back=0;T=(F=n.lencode[_&(1<>>16&255,k=65535&F,!((A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>I)])>>>16&255,k=65535&F,!(I+(A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>>=I,j-=I,n.back+=I}if(_>>>=A,j-=A,n.back+=A,n.length=k,0===T){n.mode=26;break}if(32&T){n.back=-1,n.mode=u;break}if(64&T){e.msg="invalid literal/length code",n.mode=f;break}n.extra=15&T,n.mode=22;case 22:if(n.extra){for(q=n.extra;j>>=n.extra,j-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;T=(F=n.distcode[_&(1<>>16&255,k=65535&F,!((A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>I)])>>>16&255,k=65535&F,!(I+(A=F>>>24)<=j);){if(0===b)break e;b--,_+=d[y++]<>>=I,j-=I,n.back+=I}if(_>>>=A,j-=A,n.back+=A,64&T){e.msg="invalid distance code",n.mode=f;break}n.offset=k,n.extra=15&T,n.mode=24;case 24:if(n.extra){for(q=n.extra;j>>=n.extra,j-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=f;break}n.mode=25;case 25:if(0===v)break e;if(P=w-v,n.offset>P){if((P=n.offset-P)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=f;break}P>n.wnext?(P-=n.wnext,O=n.wsize-P):O=n.wnext-P,P>n.length&&(P=n.length),E=n.window}else E=h,O=g-n.offset,P=n.length;P>v&&(P=v),v-=P,n.length-=P;do{h[g++]=E[O++]}while(--P);0===n.length&&(n.mode=21);break;case 26:if(0===v)break e;h[g++]=n.length,v--,n.mode=21;break;case 27:if(n.wrap){for(;j<32;){if(0===b)break e;b--,_|=d[y++]<{"use strict";var i=n(37609),r=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,n,c,p,l,u,f){var d,h,m,y,g,b,v,_,j,x=f.bits,w=0,$=0,S=0,P=0,O=0,E=0,A=0,T=0,k=0,I=0,R=null,M=0,N=new i.Buf16(16),C=new i.Buf16(16),D=null,q=0;for(w=0;w<=15;w++)N[w]=0;for($=0;$=1&&0===N[P];P--);if(O>P&&(O=P),0===P)return p[l++]=20971520,p[l++]=20971520,f.bits=1,0;for(S=1;S0&&(0===e||1!==P))return-1;for(C[1]=0,w=1;w<15;w++)C[w+1]=C[w]+N[w];for($=0;$852||2===e&&k>592)return 1;for(;;){v=w-A,u[$]b?(_=D[q+u[$]],j=R[M+u[$]]):(_=96,j=0),d=1<>A)+(h-=d)]=v<<24|_<<16|j}while(0!==h);for(d=1<>=1;if(0!==d?(I&=d-1,I+=d):I=0,$++,0==--N[w]){if(w===P)break;w=t[n+u[$]]}if(w>O&&(I&y)!==m){for(0===A&&(A=O),g+=S,T=1<<(E=w-A);E+A852||2===e&&k>592)return 1;p[m=I&y]=O<<24|E<<16|g-l}}return 0!==I&&(p[g+I]=w-A<<24|64<<16),f.bits=O,0}},55710:e=>{"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},77322:(e,t,n)=>{"use strict";var i=n(37609);function r(e){for(var t=e.length;--t>=0;)e[t]=0}var o=256,s=286,a=30,c=15,p=16,l=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],d=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],h=new Array(576);r(h);var m=new Array(60);r(m);var y=new Array(512);r(y);var g=new Array(256);r(g);var b=new Array(29);r(b);var v,_,j,x=new Array(a);function w(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function $(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function S(e){return e<256?y[e]:y[256+(e>>>7)]}function P(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function O(e,t,n){e.bi_valid>p-n?(e.bi_buf|=t<>p-e.bi_valid,e.bi_valid+=n-p):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1}function T(e,t,n){var i,r,o=new Array(c+1),s=0;for(i=1;i<=c;i++)o[i]=s=s+n[i-1]<<1;for(r=0;r<=t;r++){var a=e[2*r+1];0!==a&&(e[2*r]=A(o[a]++,a))}}function k(e){var t;for(t=0;t8?P(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function R(e,t,n,i){var r=2*t,o=2*n;return e[r]>1;n>=1;n--)M(e,o,n);r=p;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],M(e,o,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,o[2*r]=o[2*n]+o[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,o[2*n+1]=o[2*i+1]=r,e.heap[1]=r++,M(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,o,s,a,p=t.dyn_tree,l=t.max_code,u=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,m=t.stat_desc.max_length,y=0;for(o=0;o<=c;o++)e.bl_count[o]=0;for(p[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(o=p[2*p[2*(i=e.heap[n])+1]+1]+1)>m&&(o=m,y++),p[2*i+1]=o,i>l||(e.bl_count[o]++,s=0,i>=h&&(s=d[i-h]),a=p[2*i],e.opt_len+=a*(o+s),f&&(e.static_len+=a*(u[2*i+1]+s)));if(0!==y){do{for(o=m-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[m]--,y-=2}while(y>0);for(o=m;0!==o;o--)for(i=e.bl_count[o];0!==i;)(r=e.heap[--n])>l||(p[2*r+1]!==o&&(e.opt_len+=(o-p[2*r+1])*p[2*r],p[2*r+1]=o),i--)}}(e,t),T(o,l,e.bl_count)}function D(e,t,n){var i,r,o=-1,s=t[1],a=0,c=7,p=4;for(0===s&&(c=138,p=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=s,s=t[2*(i+1)+1],++a>=7;i0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t=3&&0===e.bl_tree[2*d[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=r&&(r=s)):r=s=n+5,n+4<=r&&-1!==t?L(e,t,n,i):4===e.strategy||s===r?(O(e,2+(i?1:0),3),N(e,h,m)):(O(e,4+(i?1:0),3),function(e,t,n,i){var r;for(O(e,t-257,5),O(e,n-1,5),O(e,i-4,4),r=0;r>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(g[n]+o+1)]++,e.dyn_dtree[2*S(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){O(e,2,3),E(e,256,h),function(e){16===e.bi_valid?(P(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},88894:e=>{"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},67425:(e,t,n)=>{"use strict";var i=n(27061);function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function o(e,t){for(var n,i="",r=0,o=-1,s=0,a=0;a<=e.length;++a){if(a2){var c=i.lastIndexOf("/");if(c!==i.length-1){-1===c?(i="",r=0):r=(i=i.slice(0,c)).length-1-i.lastIndexOf("/"),o=a,s=0;continue}}else if(2===i.length||1===i.length){i="",r=0,o=a,s=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(o+1,a):i=e.slice(o+1,a),r=a-o-1;o=a,s=0}else 46===n&&-1!==s?++s:s=-1}return i}var s={resolve:function(){for(var e,t="",n=!1,s=arguments.length-1;s>=-1&&!n;s--){var a;s>=0?a=arguments[s]:(void 0===e&&(e=i.cwd()),a=e),r(a),0!==a.length&&(t=a+"/"+t,n=47===a.charCodeAt(0))}return t=o(t,!n),n?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),n=47===e.charCodeAt(e.length-1);return 0!==(e=o(e,!t)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":s.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=s.resolve(e))===(t=s.resolve(t)))return"";for(var n=1;np){if(47===t.charCodeAt(a+u))return t.slice(a+u+1);if(0===u)return t.slice(a+u)}else o>p&&(47===e.charCodeAt(n+u)?l=u:0===u&&(l=0));break}var f=e.charCodeAt(n+u);if(f!==t.charCodeAt(a+u))break;47===f&&(l=u)}var d="";for(u=n+l+1;u<=i;++u)u!==i&&47!==e.charCodeAt(u)||(0===d.length?d+="..":d+="/..");return d.length>0?d+t.slice(a+l):(a+=l,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,i=-1,o=!0,s=e.length-1;s>=1;--s)if(47===(t=e.charCodeAt(s))){if(!o){i=s;break}}else o=!1;return-1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,i=0,o=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var a=t.length-1,c=-1;for(n=e.length-1;n>=0;--n){var p=e.charCodeAt(n);if(47===p){if(!s){i=n+1;break}}else-1===c&&(s=!1,c=n+1),a>=0&&(p===t.charCodeAt(a)?-1==--a&&(o=n):(a=-1,o=c))}return i===o?o=c:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){r(e);for(var t=-1,n=0,i=-1,o=!0,s=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===i&&(o=!1,i=a+1),46===c?-1===t?t=a:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){n=a+1;break}}return-1===t||-1===i||0===s||1===s&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0),o=47===i;o?(t.root="/",n=1):n=0;for(var s=-1,a=0,c=-1,p=!0,l=e.length-1,u=0;l>=n;--l)if(47!==(i=e.charCodeAt(l)))-1===c&&(p=!1,c=l+1),46===i?-1===s?s=l:1!==u&&(u=1):-1!==s&&(u=-1);else if(!p){a=l+1;break}return-1===s||-1===c||0===u||1===u&&s===c-1&&s===a+1?-1!==c&&(t.base=t.name=0===a&&o?e.slice(1,c):e.slice(a,c)):(0===a&&o?(t.name=e.slice(1,s),t.base=e.slice(1,c)):(t.name=e.slice(a,s),t.base=e.slice(a,c)),t.ext=e.slice(s,c)),a>0?t.dir=e.slice(0,a-1):o&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};s.posix=s,e.exports=s},70626:e=>{"use strict";class t extends Error{constructor(e,{cause:n}={}){super(e),this.name=t.name,n&&(this.cause=n),this.message=e}}const n=e=>{if(!e)return;const t=e.cause;if("function"==typeof t){const t=e.cause();return t instanceof Error?t:void 0}return t instanceof Error?t:void 0},i=(e,t)=>{if(!(e instanceof Error))return"";const r=e.stack||"";if(t.has(e))return r+"\ncauses have become circular...";const o=n(e);return o?(t.add(e),r+"\ncaused by: "+i(o,t)):r},r=(e,t,i)=>{if(!(e instanceof Error))return"";const o=i?"":e.message||"";if(t.has(e))return o+": ...";const s=n(e);if(s){t.add(e);const n="function"==typeof e.cause;return o+(n?"":": ")+r(s,t,n)}return o};e.exports={ErrorWithCause:t,findCauseByReference:(e,t)=>{if(!e||!t)return;if(!(e instanceof Error))return;if(!(t.prototype instanceof Error)&&t!==Error)return;const i=new Set;let r=e;for(;r&&!i.has(r);){if(i.add(r),r instanceof t)return r;r=n(r)}},getErrorCause:n,stackWithCauses:e=>i(e,new Set),messageWithCauses:e=>r(e,new Set)}},82556:e=>{"use strict";e.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},27061:e=>{var t,n,i=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(e){t=r}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var a,c=[],p=!1,l=-1;function u(){p&&a&&(p=!1,a.length?c=a.concat(c):l=-1,c.length&&f())}function f(){if(!p){var e=s(u);p=!0;for(var t=c.length;t;){for(a=c,c=[];++l1)for(var n=1;n{"use strict";e.exports=n(67189)},17308:e=>{"use strict";e.exports=i;var t,n=/\/|\./;function i(e,t){n.test(e)||(e="google/protobuf/"+e+".proto",t={nested:{google:{nested:{protobuf:{nested:t}}}}}),i[e]=t}i("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}}),i("duration",{Duration:t={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}}),i("timestamp",{Timestamp:t}),i("empty",{Empty:{fields:{}}}),i("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}}),i("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}}),i("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}}),i.get=function(e){return i[e]||null}},50032:(e,t,n)=>{"use strict";var i=t,r=n(20969),o=n(62827);function s(e,t,n,i){var o=!1;if(t.resolvedType)if(t.resolvedType instanceof r){e("switch(d%s){",i);for(var s=t.resolvedType.values,a=Object.keys(s),c=0;c>>0",i,i);break;case"int32":case"sint32":case"sfixed32":e("m%s=d%s|0",i,i);break;case"uint64":p=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",i,i,p)('else if(typeof d%s==="string")',i)("m%s=parseInt(d%s,10)",i,i)('else if(typeof d%s==="number")',i)("m%s=d%s",i,i)('else if(typeof d%s==="object")',i)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",i,i,i,p?"true":"");break;case"bytes":e('if(typeof d%s==="string")',i)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",i,i,i)("else if(d%s.length >= 0)",i)("m%s=d%s",i,i);break;case"string":e("m%s=String(d%s)",i,i);break;case"bool":e("m%s=Boolean(d%s)",i,i)}}return e}function a(e,t,n,i){if(t.resolvedType)t.resolvedType instanceof r?e("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",i,n,i,i,n,i,i):e("d%s=types[%i].toObject(m%s,o)",i,n,i);else{var o=!1;switch(t.type){case"double":case"float":e("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",i,i,i,i);break;case"uint64":o=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e('if(typeof m%s==="number")',i)("d%s=o.longs===String?String(m%s):m%s",i,i,i)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",i,i,i,i,o?"true":"",i);break;case"bytes":e("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",i,i,i,i,i);break;default:e("d%s=m%s",i,i)}}return e}i.fromObject=function(e){var t=e.fieldsArray,n=o.codegen(["d"],e.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return n("return new this.ctor");n("var m=new this.ctor");for(var i=0;i{"use strict";e.exports=function(e){var t=o.codegen(["r","l"],e.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(e.fieldsArray.filter((function(e){return e.map})).length?",k,value":""))("while(r.pos>>3){");for(var n=0;n>>3){")("case 1: k=r.%s(); break",a.keyType)("case 2:"),void 0===r.basic[c]?t("value=types[%i].decode(r,r.uint32())",n):t("value=r.%s()",c),t("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),void 0!==r.long[a.keyType]?t('%s[typeof k==="object"?util.longToHash(k):k]=value',p):t("%s[k]=value",p)):a.repeated?(t("if(!(%s&&%s.length))",p,p)("%s=[]",p),void 0!==r.packed[c]&&t("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos{"use strict";e.exports=function(e){for(var t,n=o.codegen(["m","w"],e.name+"$encode")("if(!w)")("w=Writer.create()"),a=e.fieldsArray.slice().sort(o.compareFieldsById),c=0;c>>0,8|r.mapKey[p.keyType],p.keyType),void 0===f?n("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",l,t):n(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|f,u,t),n("}")("}")):p.repeated?(n("if(%s!=null&&%s.length){",t,t),p.packed&&void 0!==r.packed[u]?n("w.uint32(%i).fork()",(p.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",t)("w.%s(%s[i])",u,t)("w.ldelim()"):(n("for(var i=0;i<%s.length;++i)",t),void 0===f?s(n,p,l,t+"[i]"):n("w.uint32(%i).%s(%s[i])",(p.id<<3|f)>>>0,u,t)),n("}")):(p.optional&&n("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",t,p.name),void 0===f?s(n,p,l,t):n("w.uint32(%i).%s(%s)",(p.id<<3|f)>>>0,u,t))}return n("return w")};var i=n(20969),r=n(53374),o=n(62827);function s(e,t,n,i){return t.resolvedType.group?e("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",n,i,(t.id<<3|3)>>>0,(t.id<<3|4)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",n,i,(t.id<<3|2)>>>0)}},20969:(e,t,n)=>{"use strict";e.exports=s;var i=n(77883);((s.prototype=Object.create(i.prototype)).constructor=s).className="Enum";var r=n(47225),o=n(62827);function s(e,t,n,r,o,s){if(i.call(this,e,n),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=r,this.comments=o||{},this.valuesOptions=s,this.reserved=void 0,t)for(var a=Object.keys(t),c=0;c{"use strict";e.exports=p;var i=n(77883);((p.prototype=Object.create(i.prototype)).constructor=p).className="Field";var r,o=n(20969),s=n(53374),a=n(62827),c=/^required|optional|repeated$/;function p(e,t,n,r,o,p,l){if(a.isObject(r)?(l=o,p=r,r=o=void 0):a.isObject(o)&&(l=p,p=o,o=void 0),i.call(this,e,p),!a.isInteger(t)||t<0)throw TypeError("id must be a non-negative integer");if(!a.isString(n))throw TypeError("type must be a string");if(void 0!==r&&!c.test(r=r.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(void 0!==o&&!a.isString(o))throw TypeError("extend must be a string");"proto3_optional"===r&&(r="optional"),this.rule=r&&"optional"!==r?r:void 0,this.type=n,this.id=t,this.extend=o||void 0,this.required="required"===r,this.optional=!this.required,this.repeated="repeated"===r,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!a.Long&&void 0!==s.long[n],this.bytes="bytes"===n,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this._packed=null,this.comment=l}p.fromJSON=function(e,t){return new p(e,t.id,t.type,t.rule,t.extend,t.options,t.comment)},Object.defineProperty(p.prototype,"packed",{get:function(){return null===this._packed&&(this._packed=!1!==this.getOption("packed")),this._packed}}),p.prototype.setOption=function(e,t,n){return"packed"===e&&(this._packed=null),i.prototype.setOption.call(this,e,t,n)},p.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return a.toObject(["rule","optional"!==this.rule&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},p.prototype.resolve=function(){if(this.resolved)return this;if(void 0===(this.typeDefault=s.defaults[this.type])?(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof r?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]):this.options&&this.options.proto3_optional&&(this.typeDefault=null),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof o&&"string"==typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(void 0===this.options.packed||!this.resolvedType||this.resolvedType instanceof o)||delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long)this.typeDefault=a.Long.fromNumber(this.typeDefault,"u"===this.type.charAt(0)),Object.freeze&&Object.freeze(this.typeDefault);else if(this.bytes&&"string"==typeof this.typeDefault){var e;a.base64.test(this.typeDefault)?a.base64.decode(this.typeDefault,e=a.newBuffer(a.base64.length(this.typeDefault)),0):a.utf8.write(this.typeDefault,e=a.newBuffer(a.utf8.length(this.typeDefault)),0),this.typeDefault=e}return this.map?this.defaultValue=a.emptyObject:this.repeated?this.defaultValue=a.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof r&&(this.parent.ctor.prototype[this.name]=this.defaultValue),i.prototype.resolve.call(this)},p.d=function(e,t,n,i){return"function"==typeof t?t=a.decorateType(t).name:t&&"object"==typeof t&&(t=a.decorateEnum(t).name),function(r,o){a.decorateType(r.constructor).add(new p(o,e,t,n,{default:i}))}},p._configure=function(e){r=e}},2176:(e,t,n)=>{"use strict";var i=e.exports=n(34365);i.build="light",i.load=function(e,t,n){return"function"==typeof t?(n=t,t=new i.Root):t||(t=new i.Root),t.load(e,n)},i.loadSync=function(e,t){return t||(t=new i.Root),t.loadSync(e)},i.encoder=n(73860),i.decoder=n(99388),i.verifier=n(29012),i.converter=n(50032),i.ReflectionObject=n(77883),i.Namespace=n(47225),i.Root=n(71554),i.Enum=n(20969),i.Type=n(19025),i.Field=n(52149),i.OneOf=n(62288),i.MapField=n(91198),i.Service=n(82868),i.Method=n(96240),i.Message=n(61048),i.wrappers=n(40486),i.types=n(53374),i.util=n(62827),i.ReflectionObject._configure(i.Root),i.Namespace._configure(i.Type,i.Service,i.Enum),i.Root._configure(i.Type),i.Field._configure(i.Type)},34365:(e,t,n)=>{"use strict";var i=t;function r(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}i.build="minimal",i.Writer=n(22147),i.BufferWriter=n(85055),i.Reader=n(12074),i.BufferReader=n(70069),i.util=n(28835),i.rpc=n(97876),i.roots=n(44007),i.configure=r,r()},67189:(e,t,n)=>{"use strict";var i=e.exports=n(2176);i.build="full",i.tokenize=n(65729),i.parse=n(5231),i.common=n(17308),i.Root._configure(i.Type,i.parse,i.common)},91198:(e,t,n)=>{"use strict";e.exports=s;var i=n(52149);((s.prototype=Object.create(i.prototype)).constructor=s).className="MapField";var r=n(53374),o=n(62827);function s(e,t,n,r,s,a){if(i.call(this,e,t,r,void 0,void 0,s,a),!o.isString(n))throw TypeError("keyType must be a string");this.keyType=n,this.resolvedKeyType=null,this.map=!0}s.fromJSON=function(e,t){return new s(e,t.id,t.keyType,t.type,t.options,t.comment)},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},s.prototype.resolve=function(){if(this.resolved)return this;if(void 0===r.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return i.prototype.resolve.call(this)},s.d=function(e,t,n){return"function"==typeof n?n=o.decorateType(n).name:n&&"object"==typeof n&&(n=o.decorateEnum(n).name),function(i,r){o.decorateType(i.constructor).add(new s(r,e,t,n))}}},61048:(e,t,n)=>{"use strict";e.exports=r;var i=n(28835);function r(e){if(e)for(var t=Object.keys(e),n=0;n{"use strict";e.exports=o;var i=n(77883);((o.prototype=Object.create(i.prototype)).constructor=o).className="Method";var r=n(62827);function o(e,t,n,o,s,a,c,p,l){if(r.isObject(s)?(c=s,s=a=void 0):r.isObject(a)&&(c=a,a=void 0),void 0!==t&&!r.isString(t))throw TypeError("type must be a string");if(!r.isString(n))throw TypeError("requestType must be a string");if(!r.isString(o))throw TypeError("responseType must be a string");i.call(this,e,c),this.type=t||"rpc",this.requestType=n,this.requestStream=!!s||void 0,this.responseType=o,this.responseStream=!!a||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=p,this.parsedOptions=l}o.fromJSON=function(e,t){return new o(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options,t.comment,t.parsedOptions)},o.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return r.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",t?this.comment:void 0,"parsedOptions",this.parsedOptions])},o.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),i.prototype.resolve.call(this))}},47225:(e,t,n)=>{"use strict";e.exports=u;var i=n(77883);((u.prototype=Object.create(i.prototype)).constructor=u).className="Namespace";var r,o,s,a=n(52149),c=n(62827),p=n(62288);function l(e,t){if(e&&e.length){for(var n={},i=0;it)return!0;return!1},u.isReservedName=function(e,t){if(e)for(var n=0;n0;){var i=e.shift();if(n.nested&&n.nested[i]){if(!((n=n.nested[i])instanceof u))throw Error("path conflicts with non-namespace objects")}else n.add(n=new u(i))}return t&&n.addJSON(t),n},u.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t-1)return i}else if(i instanceof u&&(i=i.lookup(e.slice(1),t,!0)))return i}else for(var r=0;r{"use strict";e.exports=o,o.className="ReflectionObject";var i,r=n(62827);function o(e,t){if(!r.isString(e))throw TypeError("name must be a string");if(t&&!r.isObject(t))throw TypeError("options must be an object");this.options=t,this.parsedOptions=null,this.name=e,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(o.prototype,{root:{get:function(){for(var e=this;null!==e.parent;)e=e.parent;return e}},fullName:{get:function(){for(var e=[this.name],t=this.parent;t;)e.unshift(t.name),t=t.parent;return e.join(".")}}}),o.prototype.toJSON=function(){throw Error()},o.prototype.onAdd=function(e){this.parent&&this.parent!==e&&this.parent.remove(this),this.parent=e,this.resolved=!1;var t=e.root;t instanceof i&&t._handleAdd(this)},o.prototype.onRemove=function(e){var t=e.root;t instanceof i&&t._handleRemove(this),this.parent=null,this.resolved=!1},o.prototype.resolve=function(){return this.resolved||this.root instanceof i&&(this.resolved=!0),this},o.prototype.getOption=function(e){if(this.options)return this.options[e]},o.prototype.setOption=function(e,t,n){return n&&this.options&&void 0!==this.options[e]||((this.options||(this.options={}))[e]=t),this},o.prototype.setParsedOption=function(e,t,n){this.parsedOptions||(this.parsedOptions=[]);var i=this.parsedOptions;if(n){var o=i.find((function(t){return Object.prototype.hasOwnProperty.call(t,e)}));if(o){var s=o[e];r.setProperty(s,n,t)}else(o={})[e]=r.setProperty({},n,t),i.push(o)}else{var a={};a[e]=t,i.push(a)}return this},o.prototype.setOptions=function(e,t){if(e)for(var n=Object.keys(e),i=0;i{"use strict";e.exports=s;var i=n(77883);((s.prototype=Object.create(i.prototype)).constructor=s).className="OneOf";var r=n(52149),o=n(62827);function s(e,t,n,r){if(Array.isArray(t)||(n=t,t=void 0),i.call(this,e,n),void 0!==t&&!Array.isArray(t))throw TypeError("fieldNames must be an Array");this.oneof=t||[],this.fieldsArray=[],this.comment=r}function a(e){if(e.parent)for(var t=0;t-1&&this.oneof.splice(t,1),e.partOf=null,this},s.prototype.onAdd=function(e){i.prototype.onAdd.call(this,e);for(var t=0;t{"use strict";e.exports=$,$.filename=null,$.defaults={keepCase:!1};var i=n(65729),r=n(71554),o=n(19025),s=n(52149),a=n(91198),c=n(62288),p=n(20969),l=n(82868),u=n(96240),f=n(53374),d=n(62827),h=/^[1-9][0-9]*$/,m=/^-?[1-9][0-9]*$/,y=/^0[x][0-9a-fA-F]+$/,g=/^-?0[x][0-9a-fA-F]+$/,b=/^0[0-7]+$/,v=/^-?0[0-7]+$/,_=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,j=/^[a-zA-Z_][a-zA-Z_0-9]*$/,x=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,w=/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/;function $(e,t,n){t instanceof r||(n=t,t=new r),n||(n=$.defaults);var S,P,O,E,A,T=n.preferTrailingComment||!1,k=i(e,n.alternateCommentMode||!1),I=k.next,R=k.push,M=k.peek,N=k.skip,C=k.cmnt,D=!0,q=!1,F=t,L=n.keepCase?function(e){return e}:d.camelCase;function U(e,t,n){var i=$.filename;return n||($.filename=null),Error("illegal "+(t||"token")+" '"+e+"' ("+(i?i+", ":"")+"line "+k.line+")")}function V(){var e,t=[];do{if('"'!==(e=I())&&"'"!==e)throw U(e);t.push(I()),N(e),e=M()}while('"'===e||"'"===e);return t.join("")}function z(e){var t=I();switch(t){case"'":case'"':return R(t),V();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return function(e,t){var n=1;switch("-"===e.charAt(0)&&(n=-1,e=e.substring(1)),e){case"inf":case"INF":case"Inf":return n*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(h.test(e))return n*parseInt(e,10);if(y.test(e))return n*parseInt(e,16);if(b.test(e))return n*parseInt(e,8);if(_.test(e))return n*parseFloat(e);throw U(e,"number",!0)}(t)}catch(n){if(e&&x.test(t))return t;throw U(t,"value")}}function B(e,t){var n,i;do{!t||'"'!==(n=M())&&"'"!==n?e.push([i=H(I()),N("to",!0)?H(I()):i]):e.push(V())}while(N(",",!0));N(";")}function H(e,t){switch(e){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(!t&&"-"===e.charAt(0))throw U(e,"id");if(m.test(e))return parseInt(e,10);if(g.test(e))return parseInt(e,16);if(v.test(e))return parseInt(e,8);throw U(e,"id")}function W(){if(void 0!==S)throw U("package");if(S=I(),!x.test(S))throw U(S,"name");F=F.define(S),N(";")}function G(){var e,t=M();switch(t){case"weak":e=O||(O=[]),I();break;case"public":I();default:e=P||(P=[])}t=V(),N(";"),e.push(t)}function K(){if(N("="),E=V(),!(q="proto3"===E)&&"proto2"!==E)throw U(E,"syntax");N(";")}function J(e,t){switch(t){case"option":return ee(e,t),N(";"),!0;case"message":return Z(e,t),!0;case"enum":return X(e,t),!0;case"service":return function(e,t){if(!j.test(t=I()))throw U(t,"service name");var n=new l(t);Q(n,(function(e){if(!J(n,e)){if("rpc"!==e)throw U(e);!function(e,t){var n=C(),i=t;if(!j.test(t=I()))throw U(t,"name");var r,o,s,a,c=t;if(N("("),N("stream",!0)&&(o=!0),!x.test(t=I()))throw U(t);if(r=t,N(")"),N("returns"),N("("),N("stream",!0)&&(a=!0),!x.test(t=I()))throw U(t);s=t,N(")");var p=new u(c,i,r,s,o,a);p.comment=n,Q(p,(function(e){if("option"!==e)throw U(e);ee(p,e),N(";")})),e.add(p)}(n,e)}})),e.add(n)}(e,t),!0;case"extend":return function(e,t){if(!x.test(t=I()))throw U(t,"reference");var n=t;Q(null,(function(t){switch(t){case"required":case"repeated":Y(e,t,n);break;case"optional":Y(e,q?"proto3_optional":"optional",n);break;default:if(!q||!x.test(t))throw U(t);R(t),Y(e,"optional",n)}}))}(e,t),!0}return!1}function Q(e,t,n){var i=k.line;if(e&&("string"!=typeof e.comment&&(e.comment=C()),e.filename=$.filename),N("{",!0)){for(var r;"}"!==(r=I());)t(r);N(";",!0)}else n&&n(),N(";"),e&&("string"!=typeof e.comment||T)&&(e.comment=C(i)||e.comment)}function Z(e,t){if(!j.test(t=I()))throw U(t,"type name");var n=new o(t);Q(n,(function(e){if(!J(n,e))switch(e){case"map":!function(e){N("<");var t=I();if(void 0===f.mapKey[t])throw U(t,"type");N(",");var n=I();if(!x.test(n))throw U(n,"type");N(">");var i=I();if(!j.test(i))throw U(i,"name");N("=");var r=new a(L(i),H(I()),t,n);Q(r,(function(e){if("option"!==e)throw U(e);ee(r,e),N(";")}),(function(){ie(r)})),e.add(r)}(n);break;case"required":case"repeated":Y(n,e);break;case"optional":Y(n,q?"proto3_optional":"optional");break;case"oneof":!function(e,t){if(!j.test(t=I()))throw U(t,"name");var n=new c(L(t));Q(n,(function(e){"option"===e?(ee(n,e),N(";")):(R(e),Y(n,"optional"))})),e.add(n)}(n,e);break;case"extensions":B(n.extensions||(n.extensions=[]));break;case"reserved":B(n.reserved||(n.reserved=[]),!0);break;default:if(!q||!x.test(e))throw U(e);R(e),Y(n,"optional")}})),e.add(n)}function Y(e,t,n){var i=I();if("group"!==i){for(;i.endsWith(".")||M().startsWith(".");)i+=I();if(!x.test(i))throw U(i,"type");var r=I();if(!j.test(r))throw U(r,"name");r=L(r),N("=");var a=new s(r,H(I()),i,t,n);if(Q(a,(function(e){if("option"!==e)throw U(e);ee(a,e),N(";")}),(function(){ie(a)})),"proto3_optional"===t){var p=new c("_"+r);a.setOption("proto3_optional",!0),p.add(a),e.add(p)}else e.add(a);q||!a.repeated||void 0===f.packed[i]&&void 0!==f.basic[i]||a.setOption("packed",!1,!0)}else!function(e,t){var n=I();if(!j.test(n))throw U(n,"name");var i=d.lcFirst(n);n===i&&(n=d.ucFirst(n)),N("=");var r=H(I()),a=new o(n);a.group=!0;var c=new s(i,r,n,t);c.filename=$.filename,Q(a,(function(e){switch(e){case"option":ee(a,e),N(";");break;case"required":case"repeated":Y(a,e);break;case"optional":Y(a,q?"proto3_optional":"optional");break;case"message":Z(a,e);break;case"enum":X(a,e);break;default:throw U(e)}})),e.add(a).add(c)}(e,t)}function X(e,t){if(!j.test(t=I()))throw U(t,"name");var n=new p(t);Q(n,(function(e){switch(e){case"option":ee(n,e),N(";");break;case"reserved":B(n.reserved||(n.reserved=[]),!0);break;default:!function(e,t){if(!j.test(t))throw U(t,"name");N("=");var n=H(I(),!0),i={options:void 0,setOption:function(e,t){void 0===this.options&&(this.options={}),this.options[e]=t}};Q(i,(function(e){if("option"!==e)throw U(e);ee(i,e),N(";")}),(function(){ie(i)})),e.add(t,n,i.comment,i.options)}(n,e)}})),e.add(n)}function ee(e,t){var n=N("(",!0);if(!x.test(t=I()))throw U(t,"name");var i,r=t,o=r;n&&(N(")"),o=r="("+r+")",t=M(),w.test(t)&&(i=t.slice(1),r+=t,I())),N("="),function(e,t,n,i){e.setParsedOption&&e.setParsedOption(t,n,i)}(e,o,te(e,r),i)}function te(e,t){if(N("{",!0)){for(var n={};!N("}",!0);){if(!j.test(A=I()))throw U(A,"name");if(null===A)throw U(A,"end of input");var i,r=A;if(N(":",!0),"{"===M())i=te(e,t+"."+A);else if("["===M()){var o;if(i=[],N("[",!0)){do{o=z(!0),i.push(o)}while(N(",",!0));N("]"),void 0!==o&&ne(e,t+"."+A,o)}}else i=z(!0),ne(e,t+"."+A,i);var s=n[r];s&&(i=[].concat(s).concat(i)),n[r]=i,N(",",!0),N(";",!0)}return n}var a=z(!0);return ne(e,t,a),a}function ne(e,t,n){e.setOption&&e.setOption(t,n)}function ie(e){if(N("[",!0)){do{ee(e,"option")}while(N(",",!0));N("]")}return e}for(;null!==(A=I());)switch(A){case"package":if(!D)throw U(A);W();break;case"import":if(!D)throw U(A);G();break;case"syntax":if(!D)throw U(A);K();break;case"option":ee(F,A),N(";");break;default:if(J(F,A)){D=!1;continue}throw U(A)}return $.filename=null,{package:S,imports:P,weakImports:O,syntax:E,root:t}}},12074:(e,t,n)=>{"use strict";e.exports=c;var i,r=n(28835),o=r.LongBits,s=r.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var p,l="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},u=function(){return r.Buffer?function(e){return(c.create=function(e){return r.Buffer.isBuffer(e)?new i(e):l(e)})(e)}:l};function f(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function d(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function h(){if(this.pos+8>this.len)throw a(this,8);return new o(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}c.create=u(),c.prototype._slice=r.Array.prototype.subarray||r.Array.prototype.slice,c.prototype.uint32=(p=4294967295,function(){if(p=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return p;if(p=(p|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return p;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return p}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return d(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|d(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=r.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=r.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(t,n);if(t===n){var i=r.Buffer;return i?i.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){i=e,c.create=u(),i._configure();var t=r.Long?"toLong":"toNumber";r.merge(c.prototype,{int64:function(){return f.call(this)[t](!1)},uint64:function(){return f.call(this)[t](!0)},sint64:function(){return f.call(this).zzDecode()[t](!1)},fixed64:function(){return h.call(this)[t](!0)},sfixed64:function(){return h.call(this)[t](!1)}})}},70069:(e,t,n)=>{"use strict";e.exports=o;var i=n(12074);(o.prototype=Object.create(i.prototype)).constructor=o;var r=n(28835);function o(e){i.call(this,e)}o._configure=function(){r.Buffer&&(o.prototype._slice=r.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},71554:(e,t,n)=>{"use strict";e.exports=u;var i=n(47225);((u.prototype=Object.create(i.prototype)).constructor=u).className="Root";var r,o,s,a=n(52149),c=n(20969),p=n(62288),l=n(62827);function u(e){i.call(this,"",e),this.deferred=[],this.files=[]}function f(){}u.fromJSON=function(e,t){return t||(t=new u),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},u.prototype.resolvePath=l.path.resolve,u.prototype.fetch=l.fetch,u.prototype.load=function e(t,n,i){"function"==typeof n&&(i=n,n=void 0);var r=this;if(!i)return l.asPromise(e,r,t,n);var a=i===f;function c(e,t){if(i){if(a)throw e;var n=i;i=null,n(e,t)}}function p(e){var t=e.lastIndexOf("google/protobuf/");if(t>-1){var n=e.substring(t);if(n in s)return n}return null}function u(e,t){try{if(l.isString(t)&&"{"===t.charAt(0)&&(t=JSON.parse(t)),l.isString(t)){o.filename=e;var i,s=o(t,r,n),u=0;if(s.imports)for(;u-1))if(r.files.push(e),e in s)a?u(e,s[e]):(++h,setTimeout((function(){--h,u(e,s[e])})));else if(a){var n;try{n=l.fs.readFileSync(e).toString("utf8")}catch(e){return void(t||c(e))}u(e,n)}else++h,r.fetch(e,(function(n,o){--h,i&&(n?t?h||c(null,r):c(n):u(e,o))}))}var h=0;l.isString(t)&&(t=[t]);for(var m,y=0;y-1&&this.deferred.splice(t,1)}}else if(e instanceof c)d.test(e.name)&&delete e.parent[e.name];else if(e instanceof i){for(var n=0;n{"use strict";e.exports={}},97876:(e,t,n)=>{"use strict";t.Service=n(51380)},51380:(e,t,n)=>{"use strict";e.exports=r;var i=n(28835);function r(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(r.prototype=Object.create(i.EventEmitter.prototype)).constructor=r,r.prototype.rpcCall=function e(t,n,r,o,s){if(!o)throw TypeError("request must be specified");var a=this;if(!s)return i.asPromise(e,a,t,n,r,o);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,n){if(e)return a.emit("error",e,t),s(e);if(null!==n){if(!(n instanceof r))try{n=r[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",n,t),s(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){s(e)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},82868:(e,t,n)=>{"use strict";e.exports=a;var i=n(47225);((a.prototype=Object.create(i.prototype)).constructor=a).className="Service";var r=n(96240),o=n(62827),s=n(97876);function a(e,t){i.call(this,e,t),this.methods={},this._methodsArray=null}function c(e){return e._methodsArray=null,e}a.fromJSON=function(e,t){var n=new a(e,t.options);if(t.methods)for(var i=Object.keys(t.methods),o=0;o{"use strict";e.exports=u;var t=/[\s{}=;:[\],'"()<>]/g,n=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,i=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,r=/^ *[*/]+ */,o=/^\s*\*?\/*/,s=/\n/g,a=/\s/,c=/\\(.?)/g,p={0:"\0",r:"\r",n:"\n",t:"\t"};function l(e){return e.replace(c,(function(e,t){switch(t){case"\\":case"":return t;default:return p[t]||""}}))}function u(e,c){e=e.toString();var p=0,u=e.length,f=1,d=0,h={},m=[],y=null;function g(e){return Error("illegal "+e+" (line "+f+")")}function b(t){return e.charAt(t)}function v(t,n,i){var a,p={type:e.charAt(t++),lineEmpty:!1,leading:i},l=t-(c?2:3);do{if(--l<0||"\n"===(a=e.charAt(l))){p.lineEmpty=!0;break}}while(" "===a||"\t"===a);for(var u=e.substring(t,n).split(s),m=0;m0)return m.shift();if(y)return function(){var t="'"===y?i:n;t.lastIndex=p-1;var r=t.exec(e);if(!r)throw g("string");return p=t.lastIndex,w(y),y=null,l(r[1])}();var r,o,s,d,h,x=0===p;do{if(p===u)return null;for(r=!1;a.test(s=b(p));)if("\n"===s&&(x=!0,++f),++p===u)return null;if("/"===b(p)){if(++p===u)throw g("comment");if("/"===b(p))if(c){if(d=p,h=!1,_(p-1)){h=!0;do{if((p=j(p))===u)break;if(p++,!x)break}while(_(p))}else p=Math.min(u,j(p)+1);h&&(v(d,p,x),x=!0),f++,r=!0}else{for(h="/"===b(d=p+1);"\n"!==b(++p);)if(p===u)return null;++p,h&&(v(d,p-1,x),x=!0),++f,r=!0}else{if("*"!==(s=b(p)))return"/";d=p+1,h=c||"*"===b(d);do{if("\n"===s&&++f,++p===u)throw g("comment");o=s,s=b(p)}while("*"!==o||"/"!==s);++p,h&&(v(d,p-2,x),x=!0),r=!0}}}while(r);var $=p;if(t.lastIndex=0,!t.test(b($++)))for(;${"use strict";e.exports=b;var i=n(47225);((b.prototype=Object.create(i.prototype)).constructor=b).className="Type";var r=n(20969),o=n(62288),s=n(52149),a=n(91198),c=n(82868),p=n(61048),l=n(12074),u=n(22147),f=n(62827),d=n(73860),h=n(99388),m=n(29012),y=n(50032),g=n(40486);function b(e,t){i.call(this,e,t),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null}function v(e){return e._fieldsById=e._fieldsArray=e._oneofsArray=null,delete e.encode,delete e.decode,delete e.verify,e}Object.defineProperties(b.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var e=Object.keys(this.fields),t=0;t{"use strict";var i=t,r=n(62827),o=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function s(e,t){var n=0,i={};for(t|=0;n{"use strict";var i,r,o=e.exports=n(28835),s=n(44007);o.codegen=n(68679),o.fetch=n(11),o.path=n(13049),o.fs=o.inquire("fs"),o.toArray=function(e){if(e){for(var t=Object.keys(e),n=new Array(t.length),i=0;i0)t[r]=e(t[r]||{},n,i);else{var o=t[r];o&&(i=[].concat(o).concat(i)),t[r]=i}return t}(e,t=t.split("."),n)},Object.defineProperty(o,"decorateRoot",{get:function(){return s.decorated||(s.decorated=new(n(71554)))}})},54600:(e,t,n)=>{"use strict";e.exports=r;var i=n(28835);function r(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=r.zero=new r(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=r.zeroHash="\0\0\0\0\0\0\0\0";r.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)},r.from=function(e){if("number"==typeof e)return r.fromNumber(e);if(i.isString(e)){if(!i.Long)return r.fromNumber(parseInt(e,10));e=i.Long.fromString(e)}return e.low||e.high?new r(e.low>>>0,e.high>>>0):o},r.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},r.prototype.toLong=function(e){return i.Long?new i.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;r.fromHash=function(e){return e===s?o:new r((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},r.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},r.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},r.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},r.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},28835:function(e,t,n){"use strict";var i=t;function r(e,t,n){for(var i=Object.keys(t),r=0;r0)},i.Buffer=function(){try{var e=i.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(e){return"number"==typeof e?i.Buffer?i._Buffer_allocUnsafe(e):new i.Array(e):i.Buffer?i._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},i.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(e){return e?i.LongBits.from(e).toHash():i.LongBits.zeroHash},i.longFromHash=function(e,t){var n=i.LongBits.fromHash(e);return i.Long?i.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},i.merge=r,i.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},i.newError=o,i.ProtocolError=o("ProtocolError"),i.oneOfGetter=function(e){for(var t={},n=0;n-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},i.oneOfSetter=function(e){return function(t){for(var n=0;n{"use strict";e.exports=function(e){var t=r.codegen(["m"],e.name+"$verify")('if(typeof m!=="object"||m===null)')("return%j","object expected"),n={};e.oneofsArray.length&&t("var p={}");for(var i=0;i{"use strict";var i=t,r=n(61048);i[".google.protobuf.Any"]={fromObject:function(e){if(e&&e["@type"]){var t=e["@type"].substring(e["@type"].lastIndexOf("/")+1),n=this.lookup(t);if(n){var i="."===e["@type"].charAt(0)?e["@type"].slice(1):e["@type"];return-1===i.indexOf("/")&&(i="/"+i),this.create({type_url:i,value:n.encode(n.fromObject(e)).finish()})}}return this.fromObject(e)},toObject:function(e,t){var n="",i="";if(t&&t.json&&e.type_url&&e.value){i=e.type_url.substring(e.type_url.lastIndexOf("/")+1),n=e.type_url.substring(0,e.type_url.lastIndexOf("/")+1);var o=this.lookup(i);o&&(e=o.decode(e.value))}if(!(e instanceof this.ctor)&&e instanceof r){var s=e.$type.toObject(e,t);return""===n&&(n="type.googleapis.com/"),i=n+("."===e.$type.fullName[0]?e.$type.fullName.slice(1):e.$type.fullName),s["@type"]=i,s}return this.toObject(e,t)}}},22147:(e,t,n)=>{"use strict";e.exports=u;var i,r=n(28835),o=r.LongBits,s=r.base64,a=r.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function p(){}function l(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function u(){this.len=0,this.head=new c(p,0,0),this.tail=this.head,this.states=null}var f=function(){return r.Buffer?function(){return(u.create=function(){return new i})()}:function(){return new u}};function d(e,t,n){t[n]=255&e}function h(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}u.create=f(),u.alloc=function(e){return new r.Array(e)},r.Array!==Array&&(u.alloc=r.pool(u.alloc,r.Array.prototype.subarray)),u.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},h.prototype=Object.create(c.prototype),h.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},u.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new h((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},u.prototype.int32=function(e){return e<0?this._push(m,10,o.fromNumber(e)):this.uint32(e)},u.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},u.prototype.uint64=function(e){var t=o.from(e);return this._push(m,t.length(),t)},u.prototype.int64=u.prototype.uint64,u.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(m,t.length(),t)},u.prototype.bool=function(e){return this._push(d,1,e?1:0)},u.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},u.prototype.sfixed32=u.prototype.fixed32,u.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},u.prototype.sfixed64=u.prototype.fixed64,u.prototype.float=function(e){return this._push(r.float.writeFloatLE,4,e)},u.prototype.double=function(e){return this._push(r.float.writeDoubleLE,8,e)};var g=r.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var i=0;i>>0;if(!t)return this._push(d,1,0);if(r.isString(e)){var n=u.alloc(t=s.length(e));s.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},u.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(d,1,0)},u.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new c(p,0,0),this.len=0,this},u.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(p,0,0),this.len=0),this},u.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},u.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},u._configure=function(e){i=e,u.create=f(),i._configure()}},85055:(e,t,n)=>{"use strict";e.exports=o;var i=n(22147);(o.prototype=Object.create(i.prototype)).constructor=o;var r=n(28835);function o(){i.call(this)}function s(e,t,n){e.length<40?r.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}o._configure=function(){o.alloc=r._Buffer_allocUnsafe,o.writeBytesBuffer=r.Buffer&&r.Buffer.prototype instanceof Uint8Array&&"set"===r.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var i=0;i>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=r.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},43577:(e,t,n)=>{"use strict";var i=n(30138),r=n(27378),o=n(43637);function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n
{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,r,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:u,y:g}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",u,g]];return(p?f<=u&&f>=s.x:f>=u&&f<=s.x)&&m.push(["L",f,g]),m.push(["L",s.x,s.y],["L",r.x,r.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:b,merge:p,pick:u}=h;class g extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}b(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),b=f.center,v=b[2]/2,n=b[1],h=[[],[]],k=[0,0,0,0],M=f.dataLabelPositioners,l,S,C,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=b[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[r.half].push(r),!A(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,r;t&&(f.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(g&&A(i)&&0m-o&&0===u&&(t=Math.round(h+S-m+o),k[1]=Math.max(t,k[1])),l-C/2<0?k[0]=Math.max(Math.round(-l+C/2),k[0]):l+C/2>x&&(k[2]=Math.max(Math.round(l+C/2-x),k[2])),s.sideOverflow=t}}})}))}),0!==u(k)&&!this.verifyDataLabelOverflow(k)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=f),r+=f),m(g,{brBoxHeight:r,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,r={}){let o=C(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(r=S(c,c-u),f[0]-=r,m[0]+=r,x[1]=M[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u,g,f,m,x,y,b,v,k,M,S,C,A,w,T,P,O,E,L,D,B,j,I){return t.AST=o,t.Axis=p,t.Chart=M,t.Color=j,t.DataLabel=E,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=k,t.OverlappingDataLabels=t.OverlappingDataLabels||L,t.PlotLineOrBand=f,t.Point=y,t.Pointer=b,t.RendererRegistry=n,t.Series=w,t.SeriesRegistry=T,t.StackItem=A,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=I,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=M.chart,t.color=j.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),E.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),L.compose(t.Chart),O.compose(t.Series.types.pie),f.compose(t.Axis),b.compose(t.Chart),B.compose(t.Chart),S.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Extensions/ArrowSymbols.js",[],function(){function r(t,e,i,s){return[["M",t,e+s/2],["L",t+i,e],["L",t,e+s/2],["L",t+i,e+s]]}function i(t,e,i,s){return r(t,e,i/2,s)}function o(t,e,i,s){return[["M",t+i,e],["L",t,e+s/2],["L",t+i,e+s],["Z"]]}function s(t,e,i,s){return o(t,e,i/2,s)}return{compose:function(t){let e=t.prototype.symbols;e.arrow=r,e["arrow-filled"]=o,e["arrow-filled-half"]=s,e["arrow-half"]=i,e["triangle-left"]=o,e["triangle-left-half"]=s}}}),e(t,"Gantt/Connection.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let{defined:h,error:o,merge:l,objectEach:i}=e,m=t.deg2rad,d=Math.max,c=Math.min;return class{constructor(t,e,i){this.init(t,e,i)}init(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(t,e){let i=this.chart,s=i.styledMode,r=this.pathfinder,o={},a=this.graphics&&this.graphics.path;r.group||(r.group=i.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(i.seriesGroup)),r.group.translate(i.plotLeft,i.plotTop),a&&a.renderer||(a=i.renderer.path().add(r.group),s||a.attr({opacity:0})),a.attr(e),o.d=t,s||(o.opacity=1),a.animate(o),this.graphics=this.graphics||{},this.graphics.path=a}addMarker(t,e,i){let s,r,o,a,n,h,l,d,c=this.fromPoint.series.chart,p=c.pathfinder,u=c.renderer,g="start"===t?this.fromPoint:this.toPoint,f=g.getPathfinderAnchorPoint(e);e.enabled&&((d="start"===t?i[1]:i[i.length-2])&&"M"===d[0]||"L"===d[0])&&(l={x:d[1],y:d[2]},r=g.getRadiansToVector(l,f),s=g.getMarkerVector(r,e.radius,f),o=-r/m,e.width&&e.height?(n=e.width,h=e.height):n=h=2*e.radius,this.graphics=this.graphics||{},a={x:s.x-n/2,y:s.y-h/2,width:n,height:h,rotation:o,rotationOriginX:s.x,rotationOriginY:s.y},this.graphics[t]?this.graphics[t].animate(a):(this.graphics[t]=u.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(a).add(p.group),u.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))}getPath(t){let e=this.pathfinder,i=this.chart,s=e.algorithms[t.type],r=e.chartObstacles;return"function"!=typeof s?(o('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(s.requiresObstacles&&!r&&(r=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(r)),s(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),l({chartObstacles:r,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))}render(){let t=this.fromPoint,e=t.series,i=e.chart,s=i.pathfinder,r={},o=l(i.options.connectors,e.options.connectors,t.options.connectors,this.options);i.styledMode||(r.stroke=o.lineColor||t.color,r["stroke-width"]=o.lineWidth,o.dashStyle&&(r.dashstyle=o.dashStyle)),r.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,h((o=l(r,o)).marker.radius)||(o.marker.radius=c(d(Math.ceil((o.algorithmMargin||8)/2)-1,1),5));var a=this.getPath(o),n=a.path;a.obstacles&&(s.lineObstacles=s.lineObstacles||[],s.lineObstacles=s.lineObstacles.concat(a.obstacles)),this.renderPath(n,r),this.addMarker("start",l(o.marker,o.startMarker),n),this.addMarker("end",l(o.marker,o.endMarker),n)}destroy(){this.graphics&&(i(this.graphics,function(t){t.destroy()}),delete this.graphics)}}}),e(t,"Extensions/CurrentDateIndication.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let i=t["composed"],{addEvent:s,merge:r,pushUnique:o,wrap:a}=e,n={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t)},rotation:0,style:{fontSize:"0.7em"}}};function h(){let e=this.options,i=e.currentDateIndicator;if(i){let t="object"==typeof i?r(n,i):r(n);t.value=Date.now(),t.className="highcharts-current-date-indicator",e.plotLines||(e.plotLines=[]),e.plotLines.push(t)}}function l(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function d(t,e){let i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)}return{compose:function(t,e){o(i,"CurrentDateIndication")&&(s(t,"afterSetOptions",h),s(e,"render",l),a(e.prototype,"getLabelText",d))}}}),e(t,"Core/Chart/GanttChart.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e,i){var s;let a=e["defaultOptions"],{isArray:n,merge:h,splat:l}=i;class r extends t{init(t,e){let i;var s=t.xAxis,r=t.yAxis;t.xAxis=t.yAxis=void 0;let o=h(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},t,{isGantt:!0});t.xAxis=s,t.yAxis=r,o.xAxis=(n(t.xAxis)?t.xAxis:[t.xAxis||{},{}]).map((t,e)=>(1===e&&(i=0),h({grid:{borderColor:"#cccccc",enabled:!0},opposite:a.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),o.yAxis=l(t.yAxis||{}).map(t=>h({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(o,e)}}return(s=r=r||{}).ganttChart=function(t,e,i){return new s(t,e,i)},r}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let r,i=t["isTouchDevice"],{addEvent:o,merge:a,pick:n}=s,h=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,r=this.navigator;var o,a;r&&(t=s&&s.options,e=r.xAxis,i=r.yAxis,{scrollbarHeight:o,scrollButtonSize:a}=r,this.inverted?(r.left=r.opposite?this.chartWidth-o-r.height:this.spacing[3]+o,r.top=this.plotTop+a):(r.left=n(e.left,this.plotLeft+a),r.top=r.navigatorOptions.top||this.chartHeight-r.height-o-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=r.left:e.options.top=i.options.top=r.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new r(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function f(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(h,e)){let t=e.prototype;r=i,t.callbacks.push(g),o(e,"afterAddSeries",l),o(e,"afterSetChartSize",d),o(e,"afterUpdate",c),o(e,"beforeRender",p),o(e,"beforeShowResetZoom",u),o(e,"update",f)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:h,defined:c,isNumber:l,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new o(this))}function r(t){let e,i=this.chart,s=i.options,r=s.navigator,o=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;var l;this.isXAxis&&(r?.enabled||n?.enabled)&&("y"===h&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===h||d&&"xy"===a)&&this.options.range&&(l=o.previousZoom,c(t.min)?o.previousZoom=[this.min,this.max]:l&&(t.min=l[0],t.max=l[1],o.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class o{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,r={}){var i=r.width?r.width/2:i,o=n(r.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=r.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:o})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,r,o,i,a,n){let h=t["setOptions"],l=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:u,pushUnique:g}=n;function f(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(l,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,o),p(i,"afterUpdate",f),h({navigator:r}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let r=t["composed"],{addEvent:o,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function h(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function l(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),o(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:r,scrollMin:o,scrollMax:a}=c(n),a=a-o;d(s)&&d(r)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=o+a*this.to,o+a*this.from):(e=o+a*(1-this.from),o+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:r}=c(this),o=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,h=this.options.margin||0;var l;o&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),o.position(this.left,this.top+this.height+2+n[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(n[1]+=h),1):(this.opposite&&(n[0]+=a),l=o.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:h):this.opposite?0:h,o.position(l,this.top,this.width,this.height),this.opposite&&(n[0]+=h),0),n[t]+=o.size+(o.options.margin||0),isNaN(s)||isNaN(r)||!d(this.min)||!d(this.max)||this.min===this.max?o.setRange(0,1):(e=(this.min-s)/(r-s),i=(this.max-s)/(r-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,i):o.setRange(1-i,1-e)))}t.compose=function(t,e){n(r,"Axis.Scrollbar")&&(i=e,o(t,"afterGetOffset",h),o(t,"afterInit",l),o(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=t["defaultOptions"],{addEvent:h,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:l,merge:p,pick:u,removeEvent:g}=r;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,r=this.scrollbarButtons,o=this.options,a=this.size,n=s.g().add(this.group);if(r.push(n),o.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:o.buttonBorderRadius},t.strokeWidth())),s.path(f.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(r[i]));this.chart.styledMode||e.attr({fill:o.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,o.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:r,margin:o=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=r?this.size:0,this.barWidth=s-(r?2*i:0),this.x=t+=o):(this.height=s=this.size,this.xOffset=h=r?this.size:0,this.barWidth=i-(r?2*s:0),this.y=this.y+o),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,r=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=r,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var o=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,o),y:-a(0,o)}),this.scrollbarGroup=t.g().add(r),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-o,width:i-o,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var r,o=this.options,a=o.vertical,n=o.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(r=h*Math.min(e,1),i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=d(r-i),ss||!this.options.vertical&&e.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:o[e],height:r[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,h=a.chart,e=h.inverted,l=h.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=l.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));h.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:r,width:o}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]?i!==a.handles[t].symbolName&&(e=p[i].call(p,-o/2-1,0,o,r),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]=l.symbol(i,-o/2-1,0,o,r,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c)),h.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-o/2),rotationOriginY:(r+o)/2}),h.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-o/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(k(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),C(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var r;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{P(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,r=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:r,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let r=this.chart,o=this.xAxis,a=o.pointRange||0,n=o.navigatorAxis.fake?r.xAxis[0]:o,h=this.navigatorEnabled,l=this.rendered,d=r.inverted,c=r.xAxis[0].minRange,p=r.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,b;if(!this.hasDragged||C(i)){if(this.isDirty&&this.renderElements(),t=S(t-a/2),e=S(e+a/2),!w(t)||!w(e)){if(!l)return;i=0,s=T(o.width,n.width)}this.left=T(o.left,r.plotLeft+u+(d?r.plotWidth:0));var v=this.size=y=T(o.len,(d?r.plotHeight:r.plotWidth)-2*u),t=(g=d?x:y+2*u,i=T(i,o.toPixels(t,!0)),s=T(s,o.toPixels(e,!0)),w(i)&&Math.abs(i)!==1/0||(i=0,s=g),o.toValue(i,!0)),e=o.toValue(s,!0),k=((k=Math.abs(S(e-t)))p&&(this.grabbedLeft?i=o.toPixels(e-p-a,!0):this.grabbedRight&&(s=o.toPixels(t+p+a,!0))),this.zoomedMax=M(Math.max(i,s),0,v),this.zoomedMin=M(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(k,v,d,b),this.drawOutline(k,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(k,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,A(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],r,o;e.mouseMoveHandler=r=function(t){e.onMouseMove(t)},e.mouseUpHandler=o=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(y(t.renderTo,"mousemove",r),y(i.ownerDocument,"mouseup",o),y(t.renderTo,"touchmove",r),y(i.ownerDocument,"touchend",o)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(y(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let r=this,o=[];return["shades","handles"].forEach(function(i){r[i].forEach(function(t,e){o.push(y(t.element,s,function(t){r[i+"Mousedown"](t,e)}))})}),o}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,r=this.zoomedMin,o=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-r):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=o&&(p=o-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==r&&(this.fixedWidth=a,C((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&A(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],r=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,r=e.range,o=e.dragOffset,a=i.inverted,n=e.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+o-r&&(h=s+o-r),e.render(0,0,h-o,h-o+r)),e.hasDragged&&e.scrollbar&&T(e.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,r,o,a,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),C((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,o)).min)&&A(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&w(this.zoomedMin)&&w(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){P(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&P(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},r=s.enabled,o=i&&e.height||0,a=r&&s.height||0,h=s.buttonsEnabled&&a||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=o,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,p=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,l.navigatorEnabled?(g=this.getXAxisOffsets(),l.xAxis=new f(n,k({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:o}:{offsets:g,height:o}),"xAxis"),l.yAxis=new f(n,k(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:T(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:o}:{height:o}),"yAxis"),d||e.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=y(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,r){let o=this,a=o.chart,n=o.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=o.series=(o.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(P(e,"updatedData",o.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=o.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=b({color:t.color,visible:t.visible},v(p)?g.navigator.series:p);var s;e&&!1===o.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(c=k(d,h,i,u)).pointRange=T(i.pointRange,u.pointRange,g.plotOptions[c.type||"line"].pointRange),s=u.data||i.data,o.hasNavigatorData=o.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,r):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!v(p)||(o.hasNavigatorData=!1,(p=O(p)).forEach((t,e)=>{h.name="Navigator "+(l.length+1),(c=k(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},h,t)).data=t.data,c.data&&(o.hasNavigatorData=!0,l.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(y(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(y(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(y(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(y(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),C(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),r=s.min,o=s.max,a=s.dataMin,n=s.dataMax,h=o-r,l=i.stickToMin,d=i.stickToMax,c=T(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&w(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=T(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!w(i)||!w(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let o,r=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:h,extend:l,isNumber:d,merge:c,pick:p,pushUnique:u}=i,g=[];function f(){function t(t,e){let i="year"===o?"FullYear":"Month",s=new a.Date(t),r=a.get(i,s);return a.set(i,s,r+e),r===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,o=s.type,r=this.max,a=this.chart.time;d(s)?(e=r-s,i=s):s&&(e=r+t(r,-(s.count||1)),this.chart&&this.chart.setFixedRange(r-e));var n=p(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,p(this.dataMax,Number.MAX_VALUE))),d(r)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function m(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new o(this))}function x(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function y(){let s,r=this.rangeSelector;if(r){let t=this.xAxis[0].getExtremes(),e=this.legend,i=r&&r.options.verticalAlign;d(t.min)&&r.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=c(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=r.getHeight(),e.group.placed=!1,e.align(s))}}function b(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function v(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function k(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,r=this.rangeSelector;e&&e.enabled&&!h(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new o(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r&&(t=e&&e.verticalAlign||r.options&&r.options.verticalAlign,r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(o=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=f,n(i,"afterGetContainer",m),n(i,"beforeRender",x),n(i,"destroy",b),n(i,"getMargins",v),n(i,"redraw",y),n(i,"update",k),t.callbacks.push(y),l(r,{rangeSelector:s.rangeSelector}),l(r.lang,s.lang)}}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,p,u,e){var i;let{addEvent:r,correctFloat:l,css:b,defined:v,error:k,isNumber:s,pick:M,timeUnits:S,isString:o}=e;{var a=i=i||{};function n(t,e,l,i,s=[],r=0,o){let d={},c=this.options.tickPixelInterval,a=this.chart.time,n=[],h,p,u,g,f,m=0,x=[],y=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var b=s.length;for(h=0;hl,s[h]5*r||f){if(s[h]>y){for(p=a.getTimeTicks(t,s[m],s[h],i);p.length&&p[0]<=y;)p.shift();p.length&&(y=p[p.length-1]),n.push(x.length),x=x.concat(p)}m=h+1}if(f)break}if(p){if(g=p.info,o&&g.unitRange<=S.hour){for(m=1,h=x.length-1;mt-e),(a=i[Math.floor(i.length/2)])<.6*c&&(a=null),h=x[t-1]>l?t-1:t,o=void 0;h--;)n=Math.abs(o-(r=e[h])),o&&n<.8*c&&(null===a||n<.8*a)?(d[x[h]]&&!d[x[h+1]]?(s=h+1,o=r):s=h,x.splice(s,1)):o=r}return x}function h(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,r=e.getExtendedPositions();if(r&&r.length){var o,a,n=l((t-i)*s+this.minPixelPadding),n=l(e.getIndexOfPoint(n,r)),h=l(n%1);if(0<=n&&n<=r.length-1)return o=r[Math.floor(n)],a=r[Math.ceil(n)],r[Math.floor(n)]+h*(a-o)}return t}function c(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function f(){var{eventArgs:t,options:e}=this;this.isXAxis&&v(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&v(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function m(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function x(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function y(t){let f=this.xAxis[0],m=f.ordinal.convertOverscroll(f.options.overscroll),x=t.originalEvent.chartX,e=this.options.chart.panning,y=!1;if(e&&"y"!==e.type&&f.options.ordinal&&f.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=f.getExtremes(),r=s.dataMin,o=s.dataMax,a=s.min,n=s.max,h=this.hoverPoints,l=f.closestPointRange||f.ordinal&&f.ordinal.overscrollPointsRange,d=Math.round((i-x)/(f.translationSlope*(f.ordinal.slope||l))),c=f.ordinal.getExtendedPositions(),p={ordinal:{positions:c,extendedOrdinalPositions:c}},u=f.index2val,g=f.val2lin;if(a<=r&&d<0||o<=n+m&&0(e=p.ordinal.positions)[e.length-1]&&e.push(o),this.setFixedRange(n-a),(t=f.navigatorAxis.toFixedRange(void 0,void 0,u.apply(p,[g.apply(p,[a,!0])+d]),u.apply(p,[g.apply(p,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(o,n)+m&&f.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=x,b(this.container,{cursor:"move"})):y=!0}else y=!0;y||e&&/y/.test(e.type)?m&&(f.max=f.dataMax+m):t.preventDefault()}function C(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function A(t,e){let i,s=this.ordinal,r=s.positions,o=s.slope,a;if(!r)return t;var n=r.length;if(r[0]<=t&&r[n-1]>=t)i=c(r,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,h=(o=o||(a[n-1]-a[0])/n,c(a,r[0]));if(t>=a[0]&&t<=a[n-1])i=c(a,t)-h;else{if(!e)return t;i=tl||r-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===n?f=g[1]-g[0]:1===n?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(r,g[g.length-1]),!0),1),e.slope=p=(r-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=M(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,r=t.length-1,o;for(;s{var e=t.points?.[0];v(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,r=e.x)}),i=i??s.minPixelPadding;var o=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=l((t-i)/o);return w.findIndexOf(e,r,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],r=t.dataMax;if(v(i))for(;r<=t.dataMax+e;)s.push(r+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return M(i.originalOrdinalRange,v(s.dataMax)&&v(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var r;return o(t)?(r=parseInt(t,10),/%$/.test(t)?e(r/100):/px/.test(t)?e((r=Math.min(r,.9*s.len)/s.len)/(1-r)):0):t}}a.Additions=w}return i}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(y,t,m,i,s,e,w){let T=t["defaultOptions"],{addEvent:b,createElement:x,css:P,defined:v,destroyObjectProperties:r,discardElement:o,extend:k,fireEvent:M,isNumber:O,merge:S,objectEach:a,pad:n,pick:C,pInt:h,splat:A}=e;class l{static compose(t,e){i.compose(t,e,l)}constructor(t){this.buttonOptions=l.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],r=i.xAxis[0],o=i.scroller&&i.scroller.getUnionExtremes()||r||{},a=s.type,n=s.dataGrouping,h=o.dataMin,l=o.dataMax,d,c=r&&Math.round(Math.min(r.max,C(l,r.max))),p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,y.prototype.setDataGrouping.call(r||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)r?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=r.minFromRange.call(f),O(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)c=Math.min((d=Math.max(c-u,h))+u,l),x=!1;else if("ytd"===a){if(!r)return void(this.deferredYTDClick=t);void 0!==l&&void 0!==h||(h=Number.MAX_VALUE,l=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(h=Math.min(t[0],h),l=Math.max(t[t.length-1],l))}),e=!1),d=g=(m=this.getYTDExtremes(l,h,i.time.useUTC)).min,c=m.max}else"all"===a&&r&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&v(d)&&(d+=s._offsetMin),s._offsetMax&&v(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),r)r.setExtremes(d,c,C(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{p=A(i.options.xAxis)[0];let e=b(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});b(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=p.range,t.options.min=p.min,e()})}M(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&M(t,"blur"),e&&e.blur&&M(e,"blur")}let i=this,s=e.options.rangeSelector,r=s.buttons||i.defaultButtons.slice(),o=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=r,this.eventsToUnbind=[],this.eventsToUnbind.push(b(e.container,"mousedown",t)),this.eventsToUnbind.push(b(e,"resize",t)),r.forEach(i.computeButtonRange),void 0!==o&&r[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(b(e,"load",function(){e.xAxis&&e.xAxis[0]&&b(e.xAxis[0],"setExtremes",function(t){O(this.max)&&O(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let p=this,t=this.chart,s=this.dropdown,r=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),f=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,m=e.dataMin,x=e.dataMax,i=p.getYTDExtremes(x,m,t.time.useUTC),y=i.min,b=i.max,v=p.selected,k=p.options.allButtonsEnabled,M=Array(p.buttonOptions.length).fill(0),S=O(v),o=p.buttons,C=!1,A=null;p.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,r=t.count||1,o=t._offsetMax-t._offsetMin,a=e===v,n=i>x-m,h=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*r-o&&g-36e5<=864e5*{month:31,year:366}[s]*r+o?d=!0:"ytd"===s?(d=b-y+o===g,l=!a):"all"===s&&(d=u.max-u.min>=x-m);var t=!k&&!(C&&"all"===s)&&(n||h||f),c=C&&"all"===s||!l&&d||a&&p.frozenStates;t?M[e]=3:!c||S&&e!==v||(A=e)}),null!==A?(M[A]=2,p.setSelected(A)):(p.setSelected(),r&&(r.setState(0),r.attr({text:(T.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?h=void 0:ha&&(h=a)),void 0!==h&&s.setExtremes(c?h:s.min,c?s.max:h,void 0,void 0,{trigger:"rangeSelectorInput"}))}let h=a[c?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=r.label(h,0).addClass("highcharts-range-label").attr({padding:h?2:0,height:h?o.inputBoxHeight:0}).add(i),u=r.label("",0).addClass("highcharts-range-input").attr({padding:2,width:o.inputBoxWidth,height:o.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(l.styledMode||u.attr({stroke:o.inputBoxBorderColor,"stroke-width":1}),u.add(i),x("input",{name:e,className:"highcharts-range-selector"},void 0,t)),f=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(o.inputDateFormat||"%e %b %Y")),l.styledMode||(p.css(S(s,o.labelStyle)),u.css(S({color:"#333333"},s,o.inputStyle)),P(g,k({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},o.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===m.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{f||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{f=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,r=new s.Date(t),o=s.get("FullYear",r),a=Math.max(e,i?s.Date.UTC(o,0,1):+new s.Date(o,0,1)),n=r.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,r=s.rangeSelector,o=r.inputEnabled,a=C(s.chart.style?.zIndex,0)+1;var n;!1!==r.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=x("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),o)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,r=s.inputEnabled;if(!1!==s.enabled){if(r){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(v(t.dataMin)&&v(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=T.lang,o=e.renderer,a=S(i.buttonTheme),n=a&&a.states,h=a.width||28,l=(delete a.width,delete a.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group),this.dropdown=x("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),r=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=o.button("",0,0,()=>{},S(a,{"stroke-width":C(a["stroke-width"],0),width:"auto",paddingLeft:C(i.buttonTheme.paddingLeft,r?.padding,8),paddingRight:C(i.buttonTheme.paddingRight,r?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),b(l,"touchstart",()=>{l.style.fontSize="16px"}),m.isMS?"mouseover":"mouseenter"),c=m.isMS?"mouseout":"mouseleave";b(l,d,()=>{M(this.dropdownLabel.element,d)}),b(l,c,()=>{M(this.dropdownLabel.element,c)}),b(l,"change",()=>{M(this.buttons[l.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=C(a["stroke-width"],0)),x("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,l),this.buttonOptions.forEach((s,r)=>{x("option",{textContent:s.title||s.text},void 0,l),t[r]=o.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(r),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:h}).add(this.buttonGroup),s.title&&t[r].attr("title",s.title)})}alignElements(){let{buttonGroup:h,buttons:l,chart:d,group:c,inputGroup:p,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:f,inputPosition:m,verticalAlign:x}=u,y=(t,e)=>i&&this.titleCollision(d)&&"top"===x&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,b=d.plotLeft;if(c&&f&&m){let t=f.x-d.spacing[3];if(h){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),l.forEach((t,e)=>{i+=t.width||0,e!==l.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}b-=d.spacing[3];var v=y(h,f);this.alignButtonGroup(v),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),c.placed=h.placed=d.hasLoaded}let e=0,i=(p&&(e=y(p,m),"left"===m.align?t=b:"right"===m.align&&(t=-Math.max(d.axisOffset[1],-e)),p.align({y:m.y,width:p.getBBox().width,align:m.align,x:m.x+t-2},!0,d.spacingBox),p.placed=d.hasLoaded),this.handleCollision(e),c.align({verticalAlign:x},!0,d.spacingBox),c.alignAttr.translateY),s=c.getBBox().height+20,r=0;"bottom"===x&&(v=d.legend&&d.legend.options,r=i-(s=s+(v&&"bottom"===v.verticalAlign&&v.enabled&&!v.floating?d.legend.legendHeight+C(v.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===x?(u.floating&&(r=0),d.titleOffset&&d.titleOffset[0]&&(r=d.titleOffset[0]),r+=d.margin[0]-d.spacing[0]||0):"middle"===x&&(m.y===f.y?r=i:(m.y||f.y)&&(m.y<0||f.y<0?r-=Math.min(m.y,f.y):r=i-s)),c.translate(u.x,u.y+Math.floor(r));let{minInput:o,maxInput:a,dropdown:n}=this;u.inputEnabled&&o&&a&&(o.style.marginTop=c.translateY+"px",a.style.marginTop=c.translateY+"px"),n&&(n.style.marginTop=c.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:r}=this,o=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=o.x-i.spacing[3];"right"===o.align?n+=t-a:"center"===o.align&&(n-=a/2),r&&r.align({y:o.y,width:C(e,this.initialButtonGroupWidth),align:o.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,r=t.hasLoaded?"animate":"attr",o=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[r]({x:C(a+o.x,a)}),n+=o.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!o)&&(e=a.alignAttr.translateX+a.alignOptions.x-r+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=o.alignAttr.translateX+o.getBBox().x)+t&&s{a&&o&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-r?0:-r),translateY:a.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===e)return this.collapseButtons(),void(s(i())&&l());"never"===e&&this.expandButtons()}a&&o?h.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&l()):l():"responsive"===e&&this.expandButtons():o&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var r,o;t&&s&&({translateX:o=0,translateY:r=0}=t,o=e.plotLeft+o,i.attr({x:o,y:r}).show(),P(s,{left:o+"px",top:r+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),P(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,r=t.y,o=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+r:0;var h=Math.min(a,o);return(a<0&&o<0||0t()),i.eventsToUnbind=void 0),r(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof d.HTMLElement&&o(t)),t!==l.prototype[e]&&(i[e]=null)},this)}}return k(l.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),l}),e(t,"Series/PathUtilities.js",[],function(){function l(e,i){let s=[];for(let t=0;t>1].xMin))r=1+a;else{if(!(n<0))return a;o=a-1}return 0=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return-1}function E(e){let i=[];if(e.length){i.push(["M",e[0].start.x,e[0].start.y]);for(let t=0;tT(e.y-t.y))?"x":"y",l,d,c,p;function u(t,e,i,s,r){let o={x:t.x,y:t.y};return o[e]=i[s||e]+(r||0),o}function g(t,e,i){var s=T(e[i]-t[i+"Min"])>T(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}return p=-1=t[h]==d[h]>=p[h]&&(c=t[h="y"===h?"x":"y"]T(e.y-t.y)),s=i?"x":"y",r=[],o=g.obstacleMetrics,f=A(t.x,e.x)-o.maxWidth-10,m=w(t.x,e.x)+o.maxWidth+10,x=A(t.y,e.y)-o.maxHeight-10,y=w(t.y,e.y)+o.maxHeight+10,a,n,h,b=!1,v=g.chartObstacles,l=P(v,m),d=P(v,f);function k(t,e,i){let s,r,o,a;var n=t.x=s.x);){if(v[h].xMin<=r.x&&v[h].xMax>=s.x&&v[h].yMin<=o.y&&v[h].yMax>=a.y)return i?{y:t.y,x:t.x=o[n+"Max"],c=t[n+"Min"]<=o[n+"Min"],p=t[n+"Max"]>=a[n+"Max"],u=t[n+"Min"]<=a[n+"Min"],g=T(t[n+"Min"]-e[n]),f=T(t[n+"Max"]-e[n]),m=T(g-f)<10?e[n]Math.PI;)u-=s;return g=Math.tan(u),u>-n&&u<=n?(x=-1,f=!0):u>n&&u<=Math.PI-n?x=-1:u>Math.PI-n||u<=-(Math.PI-n)?(m=-1,f=!0):m=-1,f?(p.x+=m*h,p.y+=x*h*g):(p.x+=a/(2*g)*m,p.y+=x*l),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}}),e(t,"Gantt/Pathfinder.js",[t["Gantt/Connection.js"],t["Gantt/PathfinderAlgorithms.js"],t["Gantt/PathfinderComposition.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(n,t,i,h,e){let{addEvent:s,defined:r,pick:l,splat:d}=e,c=Math.max,p=Math.min;class o{static compose(t,e){i.compose(t,o,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],s(t,"redraw",function(){this.pathfinder.update()})}update(t){let r=this.chart,o=this,a=o.connections;o.connections=[],r.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(e){let i,t=e.options,s=(t&&t.dependency&&(t.connect=t.dependency),e.options?.connect&&d(e.options.connect));e.visible&&!1!==e.isInside&&s&&s.forEach(function(t){(i=r.get("string"==typeof t?t:t.to))instanceof h&&i.series.visible&&i.visible&&!1!==i.isInside&&o.connections.push(new n(e,i,"string"==typeof t?{}:t))})})});for(let t=0,i,s,e=a.length,r=o.connections.length;ti.yMin-s&&e.yMin-si.xMin-s&&e.xMin-si.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,n=o?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return o&&r?s?t(e,i,Math.floor(s/2)):1/0:p(a,n)}(i[e],i[t]))<80&&o.push(s);return o.push(80),c(Math.floor(o.sort(function(t,e){return t-e})[Math.floor(o.length/10)]/2-1),1)}(n),n.forEach(function(t){t.xMin-=e,t.xMax+=e,t.yMin-=e,t.yMax+=e})),n}getObstacleMetrics(t){let e=0,i=0,s,r,o=t.length;for(;o--;)s=t[o].xMax-t[o].xMin,r=t[o].yMax-t[o].yMin,e{point.x} - {point.x2}
',pointFormat:' {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}}),e(t,"Series/XRange/XRangePoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["column"],s=e["extend"];class r extends i{static getColorByCategory(t,e){var i=t.options.colors||t.chart.options.colors,t=i?i.length:t.chart.options.chart.colorCount,e=e.y%t;return{colorIndex:e,color:i&&i[e]}}resolveColor(){var t,e=this.series;e.options.colorByPoint&&!this.options.color?(t=r.getColorByCategory(e,this),e.chart.styledMode||(this.color=t.color),this.options.colorIndex||(this.colorIndex=t.colorIndex)):this.color=this.options.color||e.color}constructor(t,e){super(t,e),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let t=super.getLabelConfig.call(this),e=this.series.yAxis.categories;return t.x2=this.x2,t.yCategory=this.yCategory=e&&e[this.y],t.key=this.category||this.name,t}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return s(r.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),r}),e(t,"Series/XRange/XRangeSeries.js",[t["Core/Globals.js"],t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"],t["Series/XRange/XRangeSeriesDefaults.js"],t["Series/XRange/XRangePoint.js"]],function(t,e,i,s,r,o){let{composed:a,noop:n}=t,f=e["parse"],h=i.seriesTypes["column"],{addEvent:l,clamp:D,crisp:B,defined:j,extend:d,find:c,isNumber:I,isObject:R,merge:G,pick:z,pushUnique:p,relativeLength:N}=s;function u(){let t,e;if(this.isXAxis){for(var i of(t=z(this.dataMax,-Number.MAX_VALUE),this.series))if(i.x2Data)for(var s of i.x2Data)s&&s>t&&(t=s,e=!0);e&&(this.dataMax=t)}}class g extends h{static compose(t){p(a,"Series.XRange")&&l(t,"afterGetSeriesExtremes",u)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){var t=()=>{for(var t of this.chart.series){var e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}},e=(t(),super.getColumnMetrics());return t(),e}cropData(t,e,i,s){let r=super.cropData(this.x2Data,e,i,s);return r.xData=t.slice(r.start,r.end),r}findPointIndex(e){let t,{cropStart:i,points:s}=this,r=e["id"];var o;return r&&(o=c(s,t=>t.id===r),t=o?o.index:void 0),void 0===t&&(o=c(s,t=>t.x===e.x&&t.x2===e.x2&&!t.touched),t=o?o.index:void 0),this.cropped&&I(t)&&I(i)&&t>=i&&(t-=i),t}alignDataLabel(t){var e=t.plotX;t.plotX=z(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:t.shapeArgs.width+"px"}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,r=this.options,o=r.minPointLength||0,a=(t.shapeArgs&&t.shapeArgs.width||0)/2,n=this.pointXOffset=s.offset,h=z(t.x2,t.x+(t.len||0)),l=r.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(h,0,0,0,1),g=Math.abs(u-p),f=this.chart.inverted,m=z(r.borderWidth,1),x,y,b=s.offset,v=Math.round(s.width),k,M,S,C;o&&((x=o-g)<0&&(x=0),p-=x/2,u+=x/2),p=Math.max(p,-10),u=D(u,-10,e.len+10),j(t.options.pointWidth)&&(b-=(Math.ceil(t.options.pointWidth)-v)/2,v=Math.ceil(t.options.pointWidth)),r.pointPlacement&&I(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,r.pointPlacement));var A=B(Math.min(p,u),m),w=B(Math.max(p,u),m)-A,T=Math.min(N("object"==typeof l?l.radius:l||0,v),Math.min(w,v)/2),A={x:A,y:B((t.plotY||0)+b,m),width:w,height:v,r:T};t.shapeArgs=A,f?t.tooltipPos[1]+=n+a:t.tooltipPos[0]-=a+n-A.width/2,M=(k=A.x)+A.width,k<0||M>e.len?(k=D(k,0,e.len),S=(M=D(M,0,e.len))-k,t.dlBox=G(A,{x:k,width:M-k,centerX:S?S/2:null})):t.dlBox=null;let P=t.tooltipPos,O=f?1:0,E=f?0:1,L=this.columnMetrics?this.columnMetrics.offset:-s.width/2;f?P[O]+=A.width/2:P[O]=D(P[O]+(e.reversed?-1:0)*A.width,e.left-c,e.left+e.len-c-1),P[E]=D(P[E]+(f?-1:1)*L,i.top-d,i.top+i.len-d-1),(y=t.partialFill)&&(R(y)&&(y=y.amount),I(y)||(y=0),t.partShapeArgs=G(A),C=Math.max(Math.round(g*y+t.plotX-p),0),t.clipRectArgs={x:e.reversed?A.x+g-C:A.x,y:A.y,width:C,height:A.height})}translate(){for(var t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,r=t.shapeType,o=t.shapeArgs,a=t.partShapeArgs,n=t.clipRectArgs,h=t.state,l=i.states[h||"normal"]||{},d=void 0===h?"attr":e,c=this.pointAttribs(t,h),p=z(this.chart.options.chart.animation,l.animation),u=t.graphic,g=t.partialFill;t.isNull||!1===t.visible?u&&(t.graphic=u.destroy()):(u?u.rect[e](o):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[r](G(o)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),a&&(u.partRect?(u.partRect[e](G(a)),u.partialClipRect[e](G(n))):(u.partialClipRect=s.clipRect(n.x,n.y,n.width,n.height),u.partRect=s[r](a).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),a)&&(R(g)||(g={}),e=(g=R(i.partialFill)?G(i.partialFill,g):g).fill||f(c.fill).brighten(-.3).get()||f(t.color||this.color).brighten(-.3).get(),c.fill=e,u.partRect[d](c,p).shadow(i.shadow)))}drawPoints(){var t,e=this.getAnimationVerb();for(t of this.points)this.drawPoint(t,e)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){var e=t.shapeArgs,i=t.plotX,t=t.plotY;return e?void 0!==i&&void 0!==t&&0<=t&&t<=this.yAxis.len&&0<=(e.x||0)+(e.width||0)&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return g.defaultOptions=G(h.defaultOptions,r),d(g.prototype,{pointClass:o,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:i.series.prototype.animate,autoIncrement:n,buildKDTree:n}),i.registerSeriesType("xrange",g),g}),e(t,"masters/modules/xrange.src.js",[t["Core/Globals.js"],t["Series/XRange/XRangeSeries.js"]],function(t,e){return e.compose(t.Axis),t}),e(t,"Series/Gantt/GanttPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["xrange"],s=e["pick"];class r extends i{static setGanttPointAliases(i){function t(t,e){void 0!==e&&(i[t]=e)}t("x",s(i.start,i.x)),t("x2",s(i.end,i.x2)),t("partialFill",s(i.completed,i.partialFill))}applyOptions(t,e){t=super.applyOptions(t,e);return r.setGanttPointAliases(t),t}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return r}),e(t,"Series/Gantt/GanttSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let d=t["isNumber"];return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,r=t.tooltipOptions,o=this.options.milestone,a=r.xDateFormat,n=""+(this.name||this.yCategory)+"";if(r.pointFormat)return this.tooltipFormatter(r.pointFormat);!a&&d(this.start)&&(a=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));var h=t.chart.time.dateFormat(a,this.start),l=t.chart.time.dateFormat(a,this.end);return n=n+"
"+(o?h+"
":"Start: "+h+"
End: "+l+"
")}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),e(t,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(h,t){var e;let{addEvent:s,find:i,fireEvent:u,isArray:r,isNumber:g,pick:f}=t;{function o(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function a(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function n(){let s=this.brokenAxis;if(s?.hasBreaks){let e=this.tickPositions,t=this.tickPositions.info,i=[];for(let t=0;te.to||o>e.from&&ae.from&&ae.from&&a>e.to&&ao&&i>=this.basePointRange&&(o=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>o&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),r.stacking&&this.options.stacking&&((r.stacking.stacks[this.stackKey][n]=new h(r,r.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",l),s(e,"afterInit",o),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=p,t.gappedPath=m,s(i,"afterGeneratePoints",d),s(i,"afterRender",c)}return e};class x{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,r=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=r:s=s);o++)(r.to=t)break;if(x.isInBreak(r,t)){s-=t-r.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)l-=a;for(;l{t.getOffset()})}i&&t.apply(this)}function m(m){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:e,horiz:i,left:s,offset:r,opposite:o,options:a,top:n,width:h}=this,l=this.tickSize(),d=t&&t.getBBox().width,c=a.title.x,p=a.title.y,u=x(a.title.margin,i?5:10),g=t?this.chart.renderer.fontMetrics(t).f:0,f=(i?n+e:s)+(i?1:-1)*(o?-1:1)*(l?l[0]/2:0)+(this.side===y.bottom?g:0);m.titlePosition.x=i?s-(d||0)/2-u+c:f+(o?h:0)+r+c,m.titlePosition.y=i?f-(o?e:0)+(o?g:-g)/2+r+p:n-u+p}}function v(){var{chart:r,options:{grid:o={}},userOptions:a}=this;if(o.enabled){var e=this;let t=e.options;t.labels.align=x(t.labels.align,"center"),e.categories||(t.showLastLabel=!1),e.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}if(o.columns){let i=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++st.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;for(var n=this.tickmarkOffset,h=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[s].label)&&(n{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!r(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||1t.setScale())}function w(t){var e,{horiz:i,maxLabelDimensions:s,options:{grid:r={}}}=this;r.enabled&&s&&(e=2*this.options.labels.distance,i=i?r.cellHeight||e+s.height:e+s.width,o(t.tickSize)?t.tickSize[0]=i:t.tickSize=[i,0])}function T(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function P(e){let t=this["grid"];(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function O(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&r(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new j(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function E(r){let o=this.label,a=this.axis,n=a.reversed,h=a.chart,t=a.options.grid||{},l=a.options.labels,d=l.align,c=y[a.side],e=r.tickmarkOffset,i=a.tickPositions,p=this.pos-e,u=b(i[r.index+1])?i[r.index+1]-e:(a.max||0)+e,s=a.tickSize("tick"),g=s?s[0]:0,f=s?s[1]/2:0;if(!0===t.enabled){let t,e,i,s;var m,x;"top"===c?e=(t=a.top+a.offset)-g:"bottom"===c?t=(e=h.chartHeight-a.bottom+a.offset)+g:(t=a.top+a.len-(a.translate(n?u:p)||0),e=a.top+a.len-(a.translate(n?p:u)||0)),"right"===c?s=(i=h.chartWidth-a.right+a.offset)+g:"left"===c?i=(s=a.left+a.offset)-g:(i=Math.round(a.left+(a.translate(n?u:p)||0))-f,s=Math.min(Math.round(a.left+(a.translate(n?p:u)||0))-f,a.left+a.len)),this.slotWidth=s-i,r.pos.x="left"===d?i:"right"===d?s:i+(s-i)/2,r.pos.y=e+(t-e)/2,o&&(m=h.renderer.fontMetrics(o),x=o.getBBox().height,l.useHTML?r.pos.y+=m.b+-x/2:(x=Math.round(x/m.h),r.pos.y+=(m.b-(m.h-m.f))/2+-((x-1)*m.h)/2)),r.pos.x+=a.horiz&&l.x||0}}function L(a){let{axis:n,value:h}=a;if(n.options.grid&&n.options.grid.enabled){let t,e=n.tickPositions,i=(n.linkedParent||n).series[0],s=h===e[0],r=h===e[e.length-1],o=i&&d(i.options.data,function(t){return t[n.isXAxis?"x":"y"]===h});o&&i.is("gantt")&&(t=c(o),l.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(t)),a.isFirst=s,a.isLast=r,a.point=t}}function D(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,r=s[0],o=s[1],a=s[s.length-1],n=s[s.length-2],h=this.linkedParent&&this.linkedParent.min,l=this.linkedParent&&this.linkedParent.max,d=h||this.min,c=l||this.max,p=this.tickInterval,u=b(d)&&r+p<=d&&d{t.side!==i.side||t.options.isInternal||(a=e,t===r&&(o=e))}),a===o&&(!b(e)||s.length===e))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,r=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||r.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),r}}return t.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},t.W=function(t){let e=this,i=new this.Date(t),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(t){e.set(t,i,0)}),(this.get("Day",i)+6)%7),r=new this.Date(i.valueOf()),o=(this.set("Date",r,this.get("Date",i)-s+3),new this.Date(this.get("FullYear",r),0,1));return 4!==this.get("Day",o)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",o))%7)),(1+Math.floor((r.valueOf()-o.valueOf())/6048e5)).toString()},{compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=g,a(t.prototype,"unsquish",B),a(t.prototype,"getOffset",f),s(t,"init",O),s(t,"afterGetTitlePosition",m),s(t,"afterInit",v),s(t,"afterRender",k),s(t,"afterSetAxisTranslation",M),s(t,"afterSetOptions",S),s(t,"afterSetOptions",C),s(t,"afterSetScale",A),s(t,"afterTickSize",w),s(t,"trimTicks",D),s(t,"destroy",P),s(e,"afterSetChartSize",T),s(i,"afterGetLabelPosition",E),s(i,"labelFormat",L)),t}}}),e(t,"Gantt/Tree.js",[t["Core/Utilities.js"]],function(t){let{extend:u,isNumber:g,pick:f}=t;function m(s,t,r,e,o,a){let i=a&&a.after,n=a&&a.before,h={data:e,depth:r-1,id:s,level:r,parent:t||""},l=0,d=0,c,p;"function"==typeof n&&n(h,a);t=(o[s]||[]).map(t=>{var e=m(t.id,s,r+1,t,o,a),i=t.start||NaN,t=!0===t.milestone?i:t.end||NaN;return c=!g(c)||ip?t:p,l=l+1+e.descendants,d=Math.max(e.height+1,d),e});return e&&(e.start=f(e.start,c),e.end=f(e.end,p)),u(h,{children:t,descendants:l,height:d}),"function"==typeof i&&i(h,a),h}return{getNode:m,getTree:function(t,e){return m("",null,1,null,function(){let r=[],i=t.reduce((t,e)=>{var{parent:i="",id:s}=e;return void 0===t[i]&&(t[i]=[]),t[i].push(e),s&&r.push(s),t},{});return Object.keys(i).forEach(t=>{var e;""!==t&&-1===r.indexOf(t)&&(e=i[t].map(function(t){let{...e}=t;return e}),i[""].push(...e),delete i[t])}),i}(),e)}}}),e(t,"Core/Axis/TreeGrid/TreeGridTick.js",[t["Core/Utilities.js"]],function(t){let{addEvent:w,removeEvent:T,isObject:P,isNumber:O,pick:E,wrap:i}=t;function s(){this.treeGrid||(this.treeGrid=new e(this))}function r(t,e,i,s,r,o,a,n,h){let l=E(this.options&&this.options.labels,o),d=this.pos,c=this.axis,p="treegrid"===c.options.type,u=t.apply(this,[e,i,s,r,l,a,n,h]);return p&&({width:o=0,padding:t=c.linkedParent?0:5}=l&&P(l.symbol,!0)?l.symbol:{},e=l&&O(l.indentation)?l.indentation:0,r=(s=(i=c.treeGrid.mapOfPosToGridNode)&&i[d])&&s.depth||1,u.x+=o+2*t+(r-1)*e),u}function o(p){let{pos:t,axis:e,label:u,treeGrid:i,options:s}=this,r=i?.labelIcon,o=u?.element,{treeGrid:a,options:n,chart:h,tickPositions:l}=e,d=a.mapOfPosToGridNode,c=E(s?.labels,n?.labels),g=c&&P(c.symbol,!0)?c.symbol:{},f=d&&d[t],{descendants:m,depth:x}=f||{},y=f&&m&&0{t&&!t.attachedTreeGridEvents&&(w(t.element,"mouseover",function(){u.addClass("highcharts-treegrid-node-active"),u.renderer.styledMode||u.css({textDecoration:"underline"})}),w(t.element,"mouseout",function(){var t=u,e=c;e=P(e.style)?e.style:{},t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:e.textDecoration||"none"})}),w(t.element,"click",function(){i.toggleCollapse()}),t.attachedTreeGridEvents=!0)})}else r&&(T(o),u?.css({cursor:"default"}),r.destroy())}class e{static compose(t){let e=t.prototype;e.toggleCollapse||(w(t,"init",s),i(e,"getLabelPosition",r),i(e,"renderLabel",o),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.collapse(r),s.setBreaks(r,E(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;var a;r&&o&&(a=o[e],a=s.expand(a),r.setBreaks(a,E(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.toggleCollapse(r),s.setBreaks(r,E(t,!0)))}}return class{static compose(t){let e=t.prototype;e.toggleCollapse||(w(t,"init",s),i(e,"getLabelPosition",r),i(e,"renderLabel",o),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.collapse(r),s.setBreaks(r,E(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;var a;r&&o&&(a=o[e],a=s.expand(a),r.setBreaks(a,E(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.toggleCollapse(r),s.setBreaks(r,E(t,!0)))}}}),e(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(y,t){let{extend:p,isArray:h,isNumber:l,isObject:d,merge:c,pick:b,relativeLength:r}=t;return{getColor:function(t,e){let i,s,r,o,a,n,h=e.index,l=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,f=p.points,m=p.chart.options.chart;return t&&(i=f[t.i],s=l[t.level]||{},i&&s.colorByPoint&&(o=i.index%(u?u.length:m.colorCount),r=u&&u[o]),p.chart.styledMode||(a=b(i&&i.options.color,s&&s.color,r,d&&(t=d,(x=s&&s.colorVariation)&&"brightness"===x.key&&h&&g?y.parse(t).brighten(x.to*(h/g)).get():t),p.color)),n=b(i&&i.options.colorIndex,s&&s.colorIndex,o,c,e.colorIndex)),{color:a,colorIndex:n};var x},getLevelOptions:function(t){let o,e,i,a,s,r,n={};if(d(t))for(a=l(t.from)?t.from:1,r=t.levels,e={},o=d(t.defaults)?t.defaults:{},h(r)&&(e=r.reduce((t,e)=>{let i,s,r;return d(e)&&l(e.level)&&(s=b((r=c({},e)).levelIsConstant,o.levelIsConstant),delete r.levelIsConstant,delete r.level,d(t[i=e.level+(s?0:a-1)])?c(!0,t[i],r):t[i]=r),t},{})),s=l(t.to)?t.to:1,i=0;i<=s;i++)n[i]=c({},o,d(e[i])?e[i]:{});return n},getNodeWidth:function(t,e){var{chart:t,options:i}=t,{nodeDistance:i=0,nodeWidth:s=0}=i,{plotSizeX:t=1}=t;if("auto"!==s)return r(s,t);if("string"==typeof i&&/%$/.test(i))return t/(e+parseFloat(i)/100*(e-1));s=Number(i);return(t+s)/(e||1)-s},setTreeValues:function s(r,o){let t=o.before,e=o.idRoot,i=o.mapIdToNode[e],a=!1!==o.levelIsConstant,n=o.points[r.i],h=n&&n.options||{},l=[],d=0;r.levelDynamic=r.level-(a?0:i.level),r.name=b(n&&n.name,""),r.visible=e===r.id||!0===o.visible,(r="function"==typeof t?t(r,o):r).children.forEach((t,e)=>{var i=p({},o);p(i,{index:e,siblings:r.children.length,visible:r.visible}),t=s(t,i),l.push(t),t.visible&&(d+=t.val)});var c=b(h.value,d);return r.visible=0<=c&&(0e.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),h(r,"afterBreaks",function(){"yAxis"===r.coll&&!r.staticScale&&r.chart.options.chart.height&&(r.isDirty=!0)}),i=m({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}},uniqueNames:!1},i,{reversed:!0})),t.apply(r,[e,i,s]),o&&(r.hasNames=!0,r.options.showLastLabel=!0)}function C(t){let e=this.options,i="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;var s;"treegrid"===e.type?(this.min=x(this.userMin,e.min,this.dataMin),this.max=x(this.userMax,e.max,this.dataMax),c(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i&&(s=i.getExtremes(),this.min=x(s.min,s.dataMin),this.max=x(s.max,s.dataMax),this.tickPositions=i.tickPositions),this.linkedParent=i):t.apply(this,Array.prototype.slice.call(arguments,1))}function A(t){let i=this;"treegrid"===i.options.type&&i.visible&&i.tickPositions.forEach(function(t){let e=i.ticks[t];e.label&&e.label.attachedTreeGridEvents&&(s(e.label.element),e.label.attachedTreeGridEvents=!1)}),t.apply(i,Array.prototype.slice.call(arguments,1))}class w{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),y(t,"generateTick",M),y(t,"init",S),y(t,"setTickInterval",C),y(t,"redraw",A),t.utils={getNode:a.getNode},l=l||s}return o.compose(e,t,s),r.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(r){let t=this.axis,o=t.chart;t.series.forEach(function(i){var s=i.options.data;if(r.id&&s){let t=o.get(r.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=r.collapsed,e.collapsed=r.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,r=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){e=+e;return!(e>=s&&e<=r)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}return class{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),y(t,"generateTick",M),y(t,"init",S),y(t,"setTickInterval",C),y(t,"redraw",A),t.utils={getNode:a.getNode},l=l||s}return o.compose(e,t,s),r.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(r){let t=this.axis,o=t.chart;t.series.forEach(function(i){var s=i.options.data;if(r.id&&s){let t=o.get(r.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=r.collapsed,e.collapsed=r.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,r=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){return!((e=+e)>=s&&e<=r)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}}),e(t,"Series/Gantt/GanttSeries.js",[t["Series/Gantt/GanttPoint.js"],t["Series/Gantt/GanttSeriesDefaults.js"],t["Gantt/Pathfinder.js"],t["Core/Series/SeriesRegistry.js"],t["Extensions/StaticScale.js"],t["Core/Axis/TreeGrid/TreeGridAxis.js"],t["Core/Utilities.js"]],function(t,e,r,i,o,a,s){let{series:n,seriesTypes:{xrange:h}}=i,{extend:l,isNumber:d,merge:c}=s;class p extends h{static compose(t,e,i,s){h.compose(t),e&&(o.compose(t,e),i)&&(r.compose(e,i.prototype.pointClass),s&&a.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,r=t.shapeArgs,o=t.plotY,a=t.selected&&"select",n=i.stacking&&!i.borderRadius,h=t.graphic,l;t.options.milestone?d(o)&&null!==t.y&&!1!==t.visible?(l=s.symbols.diamond(r.x||0,r.y||0,r.width||0,r.height||0),h?h[e]({d:l}):t.graphic=h=s.path(l).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,a)).shadow(i.shadow,null,n)):h&&(t.graphic=h.destroy()):super.drawPoint(t,e)}translatePoint(t){var e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}return p.defaultOptions=c(h.defaultOptions,e),l(p.prototype,{pointArrayMap:["start","end","y"],pointClass:t,setData:n.prototype.setData}),i.registerSeriesType("gantt",p),p}),e(t,"masters/modules/gantt.src.js",[t["Core/Globals.js"],t["Extensions/ArrowSymbols.js"],t["Gantt/Connection.js"],t["Extensions/CurrentDateIndication.js"],t["Core/Chart/GanttChart.js"],t["Stock/Navigator/Navigator.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Series/Gantt/GanttSeries.js"]],function(t,e,i,s,r,o,a,n,h){return t.Connection=t.Connection||i,t.GanttChart=t.GanttChart||r,t.Navigator=t.Navigator||o,t.RangeSelector=t.RangeSelector||a,t.Scrollbar=t.Scrollbar||n,t.ganttChart=t.GanttChart.ganttChart,e.compose(t.SVGRenderer),s.compose(t.Axis,t.PlotLineOrBand),h.compose(t.Axis,t.Chart,t.Series,t.Tick),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t}),e(t,"masters/highcharts-gantt.src.js",[t["masters/highcharts.src.js"]],function(t){return t.product="Highcharts Gantt",t}),(t["masters/highcharts-gantt.src.js"]._modules=t)["masters/highcharts-gantt.src.js"]}); \ No newline at end of file +!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(d){"use strict";var t={};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),d&&"function"==typeof CustomEvent&&d.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}return e(t,"Core/Globals.js",[],function(){var t,i=t={SVG_NS:"http://www.w3.org/2000/svg",product:"Highcharts",version:"11.4.8"};return i.win=void 0!==d?d:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&parseInt(i.userAgent.split("Firefox/")[1],10)<4,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;var e;return i.isMS||(e=Object.defineProperty({},"passive",{get:function(){t=!0}}),i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))),t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,t}),e(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){let i,{charts:e,doc:a,win:h}=n;function l(t,e,i,s){var r=e?"Highcharts error":"Highcharts warning";let o=f(t=32===t?r+": Deprecated member":t),a=o?r+` #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let i="";o&&(a+="?"),S(s,function(t,e){i+=` + - ${e}: `+t,o&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=i}A(n,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);h.console&&-1===l.messages.indexOf(a)&&console.warn(a)}),l.messages.push(a)}function d(t,e){return parseInt(t,e||10)}function c(t){return"string"==typeof t}function p(t){t=Object.prototype.toString.call(t);return"[object Array]"===t||"[object Array Iterator]"===t}function u(t,e){return!(!t||"object"!=typeof t||e&&p(t))}function o(t){return u(t)&&"number"==typeof t.nodeType}function g(t){var e=t&&t.constructor;return!(!u(t,!0)||o(t)||!e||!e.name||"Object"===e.name)}function f(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&-1/0{m(t)?i.setAttribute(e,t):r?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?o(e,t):S(t,o),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function b(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,o)&&o.preventDefault()})}t&&!o.defaultPrevented&&t.call(s,o)}S({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var r=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t,o=(Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={}),r.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(s),o[e].sort((t,e)=>t.order-e.order),function(){C(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:v,defined:m,destroyObjectProperties:function(i,s,r){S(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&r||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,r,o,a){let n=i?r:t;S(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let o=h.getComputedStyle(s,void 0);return o&&(r=o.getPropertyValue(t),b(e,"opacity"!==t)&&(r=d(r))),r},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return M(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:S,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:b,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:C,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var r=t.length;for(e=0;e{try{var e="shortOffset,"+(o.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:o.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),r=-36e5*(i+s/60);if(n(r))return r}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return u.defaultOptions.lang&&u.defaultOptions.lang.invalidDate||"";i=v(i,"%Y-%m-%d %H:%M:%S");let r=this,e=new this.Date(s),o=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=u.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return g(b({a:p?p[a]:c[a].substr(0,3),A:c[a],d:f(n),e:f(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:f(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:f(o),k:o,I:f(o%12||12),l:o%12||12,M:f(this.get("Minutes",e)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:f(this.get("Seconds",e)),L:f(Math.floor(s%1e3),3)},u.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(r,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=r(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let r,o,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),u=t.unitRange,g=t.count||1;if(s=v(s,1),y(e)){h.set("Milliseconds",p,u>=k.second?0:g*Math.floor(h.get("Milliseconds",p)/g)),u>=k.second&&h.set("Seconds",p,u>=k.minute?0:g*Math.floor(h.get("Seconds",p)/g)),u>=k.minute&&h.set("Minutes",p,u>=k.hour?0:g*Math.floor(h.get("Minutes",p)/g)),u>=k.hour&&h.set("Hours",p,u>=k.day?0:g*Math.floor(h.get("Hours",p)/g)),u>=k.day&&h.set("Date",p,u>=k.month?1:Math.max(1,g*Math.floor(h.get("Date",p)/g))),u>=k.month&&(h.set("Month",p,u>=k.year?0:g*Math.floor(h.get("Month",p)/g)),o=h.get("FullYear",p)),u>=k.year&&(o-=o%g,h.set("FullYear",p,o)),u===k.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*k.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(r=1;tt){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=e["isTouchDevice"],{fireEvent:a,merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:r,merge:o,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,r,o=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(o&&o!==l)return new o(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(r=l.parsers[s]).regex.exec(t))&&(i=r.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&r(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=o(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(r(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(o),!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[o,o];function g(t,e){for(;t.length{t=h(t.options.animation);o=p(e)&&n(e.defer)?s.defer:Math.max(o,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(o=0),{defer:Math.max(0,o-a),duration:Math.min(o,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:f}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:r,css:u,error:g,isFunction:i,isString:o,objectEach:f,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(s){return f(s,(e,t)=>{let i=!0;-1===m.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?o(e)&&m.allowedReferences.some(t=>0===e.indexOf(t)):i)||(g(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),o(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let r;var o=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=m.bypassHTMLFiltering;if(o)if("#text"===o)r=a;else if(-1!==m.allowedTags.indexOf(o)||n){let t="svg"!==o&&l.namespaceURI||c,e=d.doc.createElementNS(t,o),i=s.attributes||{};f(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:m.filterUserAttributes(i)),s.style&&u(e,s.style),a&&e.appendChild(a),h(s.children||[],e),r=e}else g(33,!1,void 0,{"Invalid tagName in config":o});r&&l.appendChild(r),e=r}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=r("div");t.innerHTML=e,i={body:t}}let o=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var r=t.attributes;if(r){let e={};[].forEach.call(r,t=>{"data-style"===t.name?s.style=m.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{o(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>o(t,s)),s}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=h,m.bypassHTMLFiltering=!1,m}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:b,defaultTime:v}=t,{extend:r,getNestedProperty:k,isArray:o,isNumber:u,isObject:a,pick:M,pInt:g}=e,S={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!o(i)&&i.map((t,e)=>C(s.body,r(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function C(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,u=/\.(\d)/,g=b.lang,f=c&&c.time||v,m=c&&c.numberFormatter||A,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:k(t,d))},r,o,a=0,n;for(;null!==(r=e.exec(t));){var h,l=i.exec(r[1]),y=(l&&(r=l,n=!0),o&&o.isBlock||(o={ctx:d,expression:r[1],find:r[0],isBlock:"#"===r[1].charAt(0),start:r.index,startInner:r.index+r[0].length,length:r[0].length}),r[1].split(" ")[0].replace("#","")),y=(S[y]&&(o.isBlock&&y===o.fn&&a++,o.fn||(o.fn=y)),"else"===r[1]);if(o.isBlock&&o.fn&&(r[1]==="/"+o.fn||y)?a?y||a--:(h=o.startInner,h=t.substr(h,r.index-h),void 0===o.body?(o.body=h,o.startInner=r.index+r[0].length):o.elseBody=h,o.find+=h+r[0],y||(s.push(o),o=void 0)):o.isBlock||s.push(o),l&&!o?.isBlock)break}return s.forEach(i=>{let s,r,{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(r=S[h].length;r--;)t.unshift(x(e[r+1]));s=S[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=C(s?o:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(u)||["","-1"])[1],10),null!==s&&(s=m(s,l,g.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(M(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>t;)f=e[c=Math.floor(p)],k(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(M(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:v(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=b(m-f.size*f.align,0,s-f.size);for(c=e.length,g=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(o[c].pos=t.pos+e,void 0!==r&&Math.abs(o[c].pos-o[c].target)>r?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||s)-.1*s,o.reducedLen>.1*s&&i(o,s,r),!0):(e+=o[c].size,c++,!1)))}),M(o,a),o}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,m,i,e){let{animate:o,animObject:a,stop:d}=t,{deg2rad:R,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:r,attr:c,createElement:p,crisp:u,css:x,defined:y,erase:g,extend:b,fireEvent:v,isArray:k,isFunction:M,isObject:f,isString:S,merge:C,objectEach:A,pick:w,pInt:T,pushUnique:P,replaceNested:O,syncTimeout:E,uniqueKey:L}=e;class D{_defaultGetter(t){let e=w(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||S(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),w(i,l[p],l)),p=t.align,u=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(r+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(r),"bottom"===u?n=1:"middle"===u&&(n=2),n&&(o+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(w(e,this.renderer.globalAnimation,!0)),r=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),E(()=>{this.element&&o(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),A(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let r=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(r.style.fill)):t).split(" "),o=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"}),r.querySelector("textPath")||r),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(r.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let r=this["element"],o=D.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,r):(A(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==o.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,r)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=L()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),b(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,i=u(i,e),s=u(s,e);return b(t,{x:i,y:s,width:u(r,e)-i,height:u(o,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,l,d,c,p,u,g=[],f;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,l=t.stops,p=i.radialReference,k(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!y(a.gradientUnits)&&(n=a,a=C(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),A(a,function(t,e){"id"!==e&&g.push(e,t)}),A(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=L();let e=h[g]=s.createElement(o).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(r=m.parse(t[1])).get("rgb"),r.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let i=this.styles,s={},r=this.element,o,a=!i;if(i&&A(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?b(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),b(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let e=C(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(r,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*w(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,r="SPAN"===t.nodeName&&i.parentGroup||void 0,o,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=w(e,this.rotation,0),f=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",h.rootFontSize,f,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=o&&!t?c[o]:i)||i.polygon){if(u||h.forExport){try{r=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},M(r)&&r("none"),i=n.getBBox?b({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},M(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},`+Math.round(s)]||s);e={bBox:i=g?this.getRotatedBox(i,g):i};v(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===d||0[t-t*g,t*f]),C=i+d*(r-m)+v+S+c*y,A=C+m,w=A-o*y,T=w-m,P=s+c-d*x-k+M+c*b,O=P+x,E=O-o*b,L=E-x,D=Math.min(C,A,w,T),B=Math.min(P,O,E,L),j=Math.max(C,A,w,T)-D,I=Math.max(P,O,E,L)-B;return{x:D,y:B,width:j,height:I,polygon:[[C,P],[A,O],[w,E],[T,L]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=r(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(S(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=C(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;D.symbolCustomAttribs.forEach(function(t){i[t]=w(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=O(w(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+w(r,e.getAttribute("x"),0)+" "+w(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+w(a,1)+" "+w(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,u;if(y(t)?(o.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=r.childNodes).length-1;0<=u&&!d;u--)c=!y(l=(h=n[u]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!u?(r.insertBefore(o,n[u]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(r.insertBefore(o,n[u+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:o,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,r,o,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:r+this.bBox.x-n,y:o+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!o(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);o(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:v,isNumber:d,pick:k}=t;function r(g,f,m,x,y){let b=[];if(y){let t=y.start||0,e=k(y.r,m),i=k(y.r,x||m),s=2e-4/(y.borderRadius?1:Math.max(e,1)),r=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=u(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),u(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",u(e,{dy:o,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:o}=e,a=this.renderer.styledMode;if("b"===o||"strong"===o?a?s.class="highcharts-strong":r.fontWeight="bold":"i"!==o&&"em"!==o||(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===o){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===o&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==o&&"a"!==o&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,o,a,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,o?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=o?1:0,u=(t||o||"").length,g=u;if(l.rotation=0,a+(h=s(r.textContent.length))>e){for(;p<=u;)g=Math.ceil((p+u)/2),o&&(n=i(o,g)),h=s(g,n&&n.length-1),p===u?p=u+1:h>e?u=g-1:p=g;0===u?r.textContent="":t&&u===t.length-1||(r.textContent=n||i(t||o,g))}o&&o.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return o(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,r,l,o,a,n){let h,b=t["defaultOptions"],{charts:f,deg2rad:d,doc:m,isFirefox:c,isMS:v,isWebKit:p,noop:u,SVG_NS:g,symbolSizes:x,win:k}=i,{addEvent:M,attr:S,createElement:C,crisp:A,css:w,defined:T,destroyObjectProperties:P,extend:O,isArray:E,isNumber:L,isObject:D,isString:R,merge:B,pick:j,pInt:G,replaceNested:N,uniqueKey:z}=n;class I{constructor(t,e,i,s,r,o,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),S(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&S(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),h=t.getBoundingClientRect(),w(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=M(k,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&m.getElementsByTagName("base").length&&(T(h)||(t=z(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body),w(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=m.elementFromPoint(6,6),h="hitme"===(e&&e.id),m.body.removeChild(t)),h))return N(k.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=O({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=B({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},o,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0,g=(r=B(b.global.buttonTheme,r),c&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),f=r.style||{},m=(delete r.states,delete r.style,[y.filterUserAttributes(r)]),x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(B(m[0],y.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),M(d.element,v?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),M(d.element,v?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(m[t]),t=x[t],D(t)&&d.css(t))},d.attr(m[0]),c||(d.css(O({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=A(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=A(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return E(t)?e.d=t:D(t)&&O(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a,n=(D(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,r,o){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,O(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,S(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:j(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,o){function a(t){h.attr({href:e}),o.call(h,t)}let n={preserveAspectRatio:"none"},h=(L(t)&&(n.x=t),L(i)&&(n.y=i),L(s)&&(n.width=s),L(r)&&(n.height=r),this.createElement("image").attr(n));if(o){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new k.Image;M(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let o,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof i&&(a=g.call(this.symbols,i||0,s||0,e||0,r||0,d)),o=this.path(a),l.styledMode||o.attr("fill","none"),O(o,{symbolName:u||void 0,x:i,y:s,width:e,height:r}),d&&O(o,d);else if(p){n=t.match(c)[1];let e=o=this.image(n);e.imgwidth=j(d&&d.width,x[n]&&x[n].width),e.imgheight=j(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:o,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&r&&o&&a&&n?(l=Math.min(r/a,o/n),S(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((r||0)-a*l)/2,((o||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,e.symbolUrl=t,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),C("img",{onload:function(){let t=f[l.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),T(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),o=t.getAttribute(s);for(let t=0,e;tt.align())}}return O(I.prototype,{Element:r,SVG_NS:g,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:u}),s.registerRendererType("svg",I,!0),I}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:b,createElement:h,defined:v,extend:o,pInt:l,pushUnique:r}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){r(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=l(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),o(this.styles,t),b(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:r,renderer:o,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,u={left:0,center:.5,right:1}[l],g=t.whiteSpace;if(b(r,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===r.tagName){let t=[a,l,r.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(m=this.textPxLength||(b(r,{width:"",whiteSpace:g||"nowrap"}),r.offsetWidth),((f=d||0)>this.oldTextWidth||f{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||r);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(o,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:o}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(o(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(S,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:C,defined:A,destroyObjectProperties:i,extend:w,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:O}=e;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,r=e.categories,o=e.logarithmic,a=e.names,n=t.pos,h=O(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(r?O(r[n],a[n],n):n),b=(o&&P(y)&&(y=C(o.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:P(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y}),v=(T(this,"labelFormat",b),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),S.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),k=v.call(b,b),M=m&&m.list;M?t.shortenLabel=function(){for(x=0;xg||e.autoRotation&&(h.styles||{}).width)&&(m=g)),m&&(this.shortenLabel?this.shortenLabel():(u.width=Math.floor(m)+"px",(i.style||{}).textOverflow||(u.textOverflow="ellipsis"),h.css(u)))}moveLabel(e,t){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===e?(i.movedLabel=s,o=!0,delete i.label):n(r.ticks,function(t){o||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,o=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),o||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,r=s.horiz,o=this.pos,a=O(this.tickmarkOffset,s.tickmarkOffset),o=this.getPosition(r,o,a,e),a=o.x,n=o.y,h=s.pos,l=h+s.len,r=r?a:n,a=(!s.chart.polar&&this.isNew&&(C(r)A(e,void 0,void 0,j(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);f(u,{xAxis:o,yAxis:C(o,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=j(e.opposite,this.opposite),this.side=j(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),r=i.labels,e=(this.type??(this.type=i.type||"linear"),this.uniqueNames??(this.uniqueNames=i.uniqueNames??!0),D(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=j(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===this.type||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=E(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,j(i.crosshair,G(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!E(this.reversed)&&(this.reversed=!0),this.labelRotation=B(r.rotation)?r.rotation:void 0,n(this,i),D(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=C(e,u[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=B(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=u.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(r)p=""+this.value;else if(o)p=s.dateFormat(o,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;D(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(o=>{if(o.reserveSpace()){let t=o.options,e,i=t.threshold,s,r;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=o.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),B(i)&&B(s)&&B(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,j(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+r,j(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=m([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,-1===(s=E(s)?s:this.uniqueNames&&i?e?i.indexOf(t.name):j(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let r=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(r.max=Math.max(r.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=r.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,r=!!s.categories,o=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(o||r||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=r?1:o?j(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!r||(t=t.is("xrange")?!o:o,h=Math.max(h,t&&S(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&r?1:t),o&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,D(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return B(t)&&B(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=B(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:f,softMin:m}=h,x=B(g)&&i[this.coll]?.[g],y=h.tickPixelInterval,b=h.maxPadding,v=h.minPadding,k=0,M,S=B(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,C,A,w,T;if(o||e||x||this.getTickAmount(),w=j(this.userMin,h.min),T=j(this.userMax,h.max),x?(M=(this.linkedParent=x).getExtremes(),this.min=j(M.min,M.dataMin),this.max=j(M.max,M.dataMax),this.type!==x.type&&L(11,!0,i)):(l&&E(d)&&B(s)&&B(r)&&(d<=r?(C=d,v=0):s<=d&&(A=d,b=0)),this.min=j(w,C,r),this.max=j(T,A,s)),B(this.max)&&B(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,j(r,this.min))<=0&&L(10,!0,i),this.min=O(n.log2lin(this.min),16),this.max=O(n.log2lin(this.max),16)),this.range&&B(r)&&(this.userMin=this.min=w=Math.max(r,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),B(this.min)&&B(this.max)&&(!B(this.userMin)&&B(m)&&mthis.max&&(this.max=T=f),e||this.axisPointRange||this.stacking?.usePercentage||x||!(k=this.max-this.min)||(!E(w)&&v&&(this.min-=k*v),!E(T)&&b&&(this.max+=k*b)),!B(this.userMin)&&B(u)&&(this.min=Math.max(this.min,u)),!B(this.userMax)&&B(p)&&(this.max=Math.min(this.max,p)),l&&B(r)&&B(s)&&(P=d||0,!E(w)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(E(h.min)?this.max=this.min:E(h.max)&&(this.min=this.max)),k=this.max-this.min),this.min!==this.max&&B(this.min)&&B(this.max)?x&&!S&&y===x.options.tickPixelInterval?this.tickInterval=S=x.tickInterval:this.tickInterval=j(S,this.tickAmount?k/Math.max(this.tickAmount-1,1):void 0,e?1:k*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),D(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=j(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],L(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=I(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&B(this.min)&&B(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==o&&i(t)===s&&(r=!0,a.push(t))})}if(r&&s){a.forEach(t=>{t=t.getThresholdAlignment(o);B(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return r}getThresholdAlignment(t){if((!B(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),B(this.threshold)){let t=b((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!E(t.tickInterval)&&!i&&this.leno.push(O(o[o.length-1]+p)),f=()=>o.unshift(O(o[0]-p));if(B(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(u=a-1-u)),t.hasData()&&B(s)&&B(i)){var m=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(B(u)&&B(t.threshold)){for(;o[u]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?f:g)();if(p>8*t.tickInterval)break;p*=2}m()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),D(this,"setExtremes",r=f(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(T(j(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(T(j(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(j(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(j(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-e,this.len=Math.max(s?r:o,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?O(t.lin2log(this.min)):this.min,max:t?O(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&o!==1/0&&h&&(e=Math.ceil(h/r)),O(e*r)}let t=this.options.labels,s=t.padding||0,e=this.horiz,r=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=t.rotation,n=O(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=r,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(B(a)?p=[a]:og&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",m=i.length;!r&&m--;)(f=o[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=o[t],i=e&&e.label,s=a.width,r={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${r.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(o.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",o.gridZIndex),this.axisGroup=e("axis","",o.zIndex),this.labelGroup=e("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][r]:r,l=e.hasData(),d=s.title,c=s.labels,p=B(s.crossing),u=t.axisOffset,g=t.clipOffset,f=[-1,1,1,-1][r],m,x=0,y,b=0,v=0,k,M;var S;e.showAxis=m=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===r||2===r||{1:"left",3:"right"}[r]===e.labelAlign,j(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(o[t].getLabelSize(),v)}),e.staggerLines&&(v*=e.staggerLines),e.labelOffset=v*(e.opposite?-1:1)):w(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],b=E(y=d.offset)?0:j(d.margin,i?5:10))),e.renderLine(),e.offset=f*j(s.offset,u[r]?u[r]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},M=0===r?-e.labelMetrics().h:2===r?e.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k=(k-=M)+f*(i?j(c.y,e.tickRotCorr.y+f*c.distance):j(c.x,f*c.distance))),e.axisTitleMargin=j(y,k),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(o,a)),"colorAxis"!==n&&g&&(S=this.tickSize("tick"),u[r]=Math.max(u[r],(e.axisTitleMargin||0)+x+f*e.offset,k,a&&a.length&&S?S[0]+f*e.offset:0),S=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,g[h]=Math.max(g[h],S)),D(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],r=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],o={x:e?a+l:r+(n?this.width:0)+h+l,y:e?r+d-(n?this.height:0)+h:a+d};return D(this,"afterGetTitlePosition",{titlePosition:o}),o}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new k(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new k(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let s,r,o=this,a=o.chart,n=o.logarithmic,t=a.renderer,e=o.options,i=o.isLinked,h=o.tickPositions,l=o.axisTitle,d=o.ticks,c=o.minorTicks,p=o.alternateBands,u=e.stackLabels,g=e.alternateGridColor,f=e.crossing,m=o.tickmarkOffset,x=o.axisLine,y=o.showAxis,b=M(t.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[d,c,p].forEach(function(t){w(t,function(t){t.isActive=!1})}),B(f)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(f,!0);o.horiz&&(t=e.len-t),o.offset=i*t}}if(o.hasData()||i){let i=o.chart.hasRendered&&o.old&&B(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){o.renderTick(t,e,i)}),m&&(0===o.min||o.single)&&(d[-1]||(d[-1]=new k(o,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(t,e){r=void 0!==h[e+1]?h[e+1]+m:o.max-m,e%2==0&&th&&(!d||o<=l)&&void 0!==o&&c.push(o),o>l&&(a=!0),o=r}else{var p=this.lin2log(h),s=this.lin2log(l),r=d?t.getMinorTickInterval():i.tickInterval,o=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=u(n=g("auto"===r?null:r,this.minorAutoInterval,(s-p)*o/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:o,extend:s,isNumber:c}=t;{t=e=e||{};let r;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new r(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&r)for(s&&(d=n.toString()===r.toString(),l=0),h=0;h{let t=[];for(var e of this.axes)for(var{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),i.compose(o,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){C(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:r,events:o,zIndex:a=0}=e,n={},h=t.chart.renderer,l=e.to,d=e.from,c=e.value,p=e.borderWidth,u=e.label,{label:g,svgElem:f}=this,m=[],x,y=S(d)&&S(l),b=S(c),v=!f,k={class:"highcharts-plot-"+(y?"band ":"line ")+(e.className||"")},M=y?"bands":"lines";if(t.chart.styledMode||(b?(k.stroke=r||"#999999",k["stroke-width"]=T(e.width,1),e.dashStyle&&(k.dashstyle=e.dashStyle)):y&&(k.fill=r||"#e6e9ff",p&&(k.stroke=e.borderColor,k["stroke-width"]=p))),M+="-"+(n.zIndex=a),(x=t.plotLinesAndBandsGroups[M])||(t.plotLinesAndBandsGroups[M]=x=h.g("plot-"+M).attr(n).add()),f||(this.svgElem=f=h.path().attr(k).add(x)),S(c))m=t.getPlotLinePath({value:s?.log2lin(c)??c,lineWidth:f.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!S(d)||!S(l))return;m=t.getPlotBandPath(s?.log2lin(d)??d,s?.log2lin(l)??l,e)}return!this.eventsAdded&&o&&(w(o,(t,e)=>{f?.on(e,t=>{o[e].apply(this,[t])})}),this.eventsAdded=!0),!v&&f.d||!m?.length?f&&(m?(f.show(),f.animate({d:m})):f.d&&(f.hide(),g&&(this.label=g=g.destroy()))):f.attr({d:m}),u&&(S(u.text)||S(u.formatter))&&m?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,r.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=R,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:r,outside:u,pointer:e}=this,{inverted:o,plotLeft:a,plotTop:n,polar:h}=r,{plotX:l=0,plotY:d=0}=t,g={},f=o&&t.h||0,{height:c,width:m}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=t=>{var e="x"===t;return[t,e?m:c,e?i:s].concat(u?[e?y(i):b(s),e?x.left-p+y(l+a):x.top-p+b(d+n),0,e?m:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+r.plotWidth:n+r.plotHeight])},k=v("y"),M=v("x"),S,C=!!t.negative,A=(!h&&r.hoverSeries?.yAxis?.reversed&&(C=!C),!this.followPointer&&H(t.ttBelow,!h&&!o===C)),w=function(t,e,i,s,r,o,a){var n=u?("y"===t?b:y)(p):p,h=(i-s)/2,l=se?r:r+f)}},T=function(t,e,i,s,r){if(re-p)return!1;g[t]=r{!1!==w.apply(0,k)?!1!==T.apply(0,M)||S||(P(!0),O()):S?g.x=g.y=0:(P(!0),O())};return(o&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=H(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=h(!r.isHidden&&r.options.animation),a=r.followPointer||1<(r.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(o,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=M(o),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,u=a.styledMode,g={},f=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!k(o)&&o.series&&o.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var o=this.getAnchor(o,t),m=o[0],x=o[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(g=d.getLabelConfig()).points=i):g=d.getLabelConfig(),this.len=i.length;let s=X(c)?b(c,g,a):p.call(g,this),r=d.series;if(this.distance=H(r.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=m,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==r.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(f&&this.tt||{});n.style.width&&!u||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),this.outside&&t.attr({x:z(t.x||0,0,this.getPlayingField().width-(t.width||0))}),u||t.attr({stroke:n.borderColor||d.color||r.color||"#666666"}),this.updatePosition({plotX:m,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:o[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}v(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:u,plotLeft:g,plotTop:f,scrollablePixelsY:r=0,scrollablePixelsX:o,styledMode:m},distance:x,options:y,options:{positioner:b},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},v=p.outside&&"number"!=typeof o?R.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},k=p.getLabel(),M=this.renderer||e.renderer,S=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),C=f+h,A,w=u-r;function T(t,e,i,s,r=!0){let o,a;return{x:a=i?(o=S?0:w,z(t-s/2,v.left,v.right-s-(p.outside?l:0))):(o=e-C,z(a=r?t-s-x:t+x,r?a:v.left,v.right)),y:o}}let P=(t=X(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(o,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:u,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:r,series:o}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=M.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,r)).attr(t).add(k)}return s.isActive=!0,s.attr({text:i}),m||s.css(y.style).attr({stroke:y.borderColor||e.color||o.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),r=s.width+i.strokeWidth();t&&(A=s.height,w+=A,S&&(C-=A));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:r=0,series:o}=h;var a,n;return i?(t=Math.max(g+s,g),e=f+u/2):({xAxis:a,yAxis:n}=o,t=a.pos+z(s,-x,a.len+x),o.shouldShowTooltip(0,n.pos-f+r,{ignoreX:!0})&&(e=n.pos+r)),{anchorX:t=z(t,v.left-x,v.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=b?b.call(p,r,l,h):T(n,a,t,r),o.push({align:b?0:void 0,anchorX:n,anchorY:a,boxWidth:r,point:h,rank:H(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return o},[]),O=(!b&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return W(t,{target:i,x:e})})),p.cleanSplit(),N(P,w),{left:l,right:l}),{container:E,outside:L,renderer:D}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tO.right&&(O.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+C,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(f(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),r&&(e.setState(),h(r,e),r.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),g(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),C(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,r=[],o={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),i.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),e=r.length;e--;)s[t=r[e]]&&o.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&o.plural.push(e)}),o}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=m()),this.resolveColor(),t.chart.pointCount++,C(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(A(t)||null===t)o[s[0]]=t;else if(d(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"==a&&(o.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:r}=e,o=0,a=0;if(A(t)&&A(h))return n&&(o=s?s.pos:i.plotLeft,a=r?r.pos:i.plotTop),i.inverted&&s&&r?[r.len-h+a,s.len-t+o]:[t+o,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=w(this.options.colorIndex,a),this.color=w(this.options.color,s)}setNestedProperty(t,r,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?r:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=w(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=r||o?e.replace(RegExp(t+"}","g"),r+t+"}"+o):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let r,o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(e);var t=n&&o.hasMockGraphic,t=null===o.y?!t:t;n&&t&&(o.graphic=n.destroy(),delete o.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(o.graphic=n.destroy()),e?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=p(l.data[r],!0)||p(e,!0)?o.options:w(e,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=w(i,!0),!1===t?d():o.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=w(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=u(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(f(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=r(this,t,e))}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=M.plotOptions[i.type].marker&&i.options.marker,a=o&&!1===o.enabled,n=o&&o.states&&o.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=o&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===r.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=w(d.options.chart.animation,r.animation);let e=g.opacity;i.options.inactiveOtherPoints&&A(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,w(d.options.chart.animation,n.animation,o.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));var y=r.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+w(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(S({fill:this.color||i.color,"fill-opacity":y.opacity},k.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),C(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(o(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e){var i;let b=t["parse"],{charts:g,composed:s,isTouchDevice:o}=r,{addEvent:f,attr:a,css:n,extend:h,find:m,fireEvent:p,isNumber:l,isObject:v,objectEach:d,offset:c,pick:x,pushUnique:u,splat:y}=e;class k{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],r.chartCount||(k.unbindDocumentMouseUp&&k.unbindDocumentMouseUp.forEach(t=>t()),k.unbindDocumentTouchEnd&&(k.unbindDocumentTouchEnd=k.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:r}=this,{mouseDownX:o=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=r?1:i.plotHeight,s&&(e=h-o,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),!(10t.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));var o;e&&i.redraw(),s&&t&&(this.hasDragged&&(o=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...o},from:o})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:r,yAxis:o}=i.series,a=i.shapeArgs;if(r&&o){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:o.len+o.pos-e,chartY:r.len+r.pos-t}:{chartX:t+r.pos,chartY:e+o.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!o?t:this.findNearestKDPoint(l,r,o));return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=m(t.points,function(t){return t.x===c.x&&!t.isNull});v(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var r=s.pageX-e.left,o=s.pageY-e.top;return h(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),r.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(g[x(k.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){g[x(k.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:r}=i,o=[].map.call(e.touches||[],t=>i.normalize(t)),a=o.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(o),from:t(r),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=o}reset(e,t){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let r=this.chart,i=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=!!o&&o.shared,n=t||r.hoverPoint,h=n&&n.series||r.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),r.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!n.series)return;r.hoverPoints=c,(r.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(u?c:n,s)})}else p&&o&&!o.isHidden&&(t=o.getAnchor([{}],s),r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(r.container.ownerDocument,"mousemove",t=>g[k.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=r.hoverPoint)&&t.series[e.coll]===e?t:m(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(f(t,"mouseenter",this.onContainerMouseEnter.bind(this)),f(t,"mouseleave",this.onContainerMouseLeave.bind(this))),k.unbindDocumentMouseUp||(k.unbindDocumentMouseUp=[]),k.unbindDocumentMouseUp.push(f(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(f(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(f(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),f(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),k.unbindDocumentTouchEnd||(k.unbindDocumentTouchEnd=f(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),f(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(o){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),f(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=r.charts[x(k.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(k.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&16<=Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(i=k=k||{}).compose=function(t){u(s,"Core.Pointer")&&f(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},k}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:b,pick:v}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,v(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:o}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=r.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},f,m=o.marker,x=0;if(r.styledMode||(g["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?g.dashstyle=o.dashStyle:"square"!==o.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,u],["L",n-x,u]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),m&&!1!==m.enabled&&n){let t=Math.min(v(m.radius,d),d);0===l.indexOf("url")&&(m=b(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,u-t,2*t,2*t,y({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,r){let o=h.plotOptions||{};if(e=e||"",o[t]=c(o[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,r){class p extends a{}l(p.prototype,r),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,r=e.prototype;return r.type=t,r.pointClass||(r.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,o,a,d,c){let{animObject:p,setAnimation:u}=t,g=e["defaultOptions"],n=i["registerEventOptions"],{svg:f,win:m}=s,y=a["seriesTypes"],{arrayMax:S,arrayMin:C,clamp:A,correctFloat:w,crisp:x,defined:T,destroyObjectProperties:R,diffObjects:G,erase:b,error:P,extend:v,find:N,fireEvent:O,getClosestDistance:z,getNestedProperty:h,insertItem:k,isArray:E,isNumber:L,isString:W,merge:D,objectEach:M,pick:B,removeEvent:X,splat:H,syncTimeout:j}=c;class I{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(O(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,o=!1!==e.visible,o=(s.linkedSeries=[],s.bindAxes(),v(s,{name:e.name,state:"",visible:o,selected:!0===e.selected}),n(this,e),e.events);(o&&o.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=B(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",k(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),O(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;O(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(B(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(k(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),O(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=L(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},o||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(o?{}:{color:this.color,fillColor:this.fillColor}),O(this,"afterSetOptions",{options:c}),c}getName(){return B(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||o.options.chart.colorCount;e||(T(r=B("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||g.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var o=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(o){o=this.chart.get(o);o instanceof l&&(i=o)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=N(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&L(a)?this.xData.indexOf(a,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&L(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,o=r.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||L(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==r.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||o&&o.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||o&&o.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=S(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=r.pointArrayMap,f=g&&g.length,m=n.keys,x,y,b,v=0,k=1,M;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,M=D(!0,e));var S=(e=M||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(b=h.options.chart.allowMutatingData&&!1!==s&&S&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):b)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=c&&c!(!E(t)||!m&&!L(t[0]));if(L(s)&&L(C))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],u=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,h=a.start,n=!0));t=z([r?p.map(r.log2lin):p],()=>e.requireSorting&&!g&&P(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,O(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g=x&&(k[f-o]||u)<=y,c&&p)if(m=g.length)for(;m--;)L(g[m])&&(r[b++]=g[m]);else r[b++]=g;var M={activeYData:r,dataMin:C(r),dataMax:S(r)};return O(this,"afterGetExtremes",{dataExtremes:M}),M}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,O(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=B(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,o=(i=y?a-i:i)-s;r?.push(["L",e,Math.abs(o){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],v?a-t[1]:t[1],v?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=A(o.toPixels(B(t.value,e),!0)||0,0,a)}),f&&!this.showLine&&f.hide(),g&&g.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(m.reversed&&e.reverse(),t),o=0,a=0,n=m.len,h=x.len;v?(o=i,n=u):(a=i,h=u);var l=[["M",o,a],["L",n,a],["L",n,h],["L",o,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),u=i,y&&(c(d),g&&c(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=b.path(d),g&&(r=t.simpleClip=b.path(l))),f&&t.graph?.clip(s),g&&t.area?.clip(r)})}else this.visible&&(f&&f.show(),g&&g.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||X(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=p(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;O(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=j(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,O(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[o=Math.floor(a/2)],left:t(e.slice(0,o),i+1,s),right:t(e.slice(o+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let g=this,[f,m]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(g.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!g.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let o=i.point,a=g.kdAxisArray[s%r],n,h,l=o;p=o,u=(d=e)[f],c=p[f],u=T(u)&&T(c)?u-c:null,c=d[m],d=p[m],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((u&&u*u||0)+c*c)-d,p.distX=T(u)?Math.abs(u)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(o[a]||0)+(y&&o.marker?.radius||0),p=c<0?"left":"right",u=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,r))[x]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(f?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),O(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=B(e,!0);var g={series:this},f=(this.pointClass.prototype.applyOptions.apply(g,[t]),g.x);if(a=u.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[f]=g.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==r&&O(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(a||{series:r},"splice",[t,1]),a&&a.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,o=r.data,a=o[t],n=r.points,h=r.chart;u(i,h),e=B(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),B(t,!0)&&o.redraw(e)}!1!==i?O(r,"remove",null,a):a()}update(t,e){O(this,"update",{options:t=G(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=y[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||r.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),f=(u=u||o,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&v(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=D(r,{index:(void 0===r.index?i:r).index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[u].prototype);else{var m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;v(i,y[u].prototype),m?i.hcEvents=m:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=o,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),O(this,"afterUpdate"),B(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=B(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==B(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&O(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&O(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=B(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=B(a[e].opacity,l)),r&&!r.dashstyle&&L(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&o&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!o:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),O(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),O(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return I.defaultOptions=o,I.types=a.seriesTypes,I.registerType=a.registerSeriesType,v(I.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=I}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,u,g,s,r,o){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],f=r["format"],{addEvent:m,createElement:x,css:y,defined:b,discardElement:v,find:k,fireEvent:M,isNumber:S,merge:C,pick:A,pushUnique:w,relativeLength:T,stableSort:P,syncTimeout:O}=o;class E{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=A(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=C(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=A(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(C(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,A(e,!0)&&i.redraw(),M(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:r,marker:o}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(C(h?this.itemStyle:t)),c?.attr(a({stroke:r||n.color})),p&&p.attr(a(o&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}M(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},e[b(e.translateY)?"animate":"attr"](h,void 0,()=>{M(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&v(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,r=this.group&&this.group.alignAttr,o=this.clipHeight||this.legendHeight,a=this.titleHeight;r&&(s=r.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:r.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?A(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&A(e.showInLegend,!b(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),M(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let r=this.chart,o=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!b(i[e])&&(r[l[e]]=Math.max(r[l[e]],r.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*o[e%2?"x":"y"]+A(o.margin,12)+s[e]+(r.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,r,o;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=k(s?t.points:t.points.slice(0).reverse(),function(t){return S(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-a.plotTop,r=t.visible?(e?e.plotY:t.yAxis.height)+(o-.3*i):o+t.yAxis.height,n.push({target:r,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},S(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0b&&!1!==c.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-l,0),this.currentPage=A(this.currentPage,1),this.fullHeight=t,f.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=g.length;(!r||i-g[r-1]>m&&(x||i)!==g[r-1])&&(g.push(x||i),r++),y.pageIx=r-1,x&&((f[e-1].legendItem||{}).pageIx=r-1),e===f.length-1&&i+s-g[r-1]>m&&i>g[r-1]&&(g.push(i),y.pageIx=r),i!==x&&(x=i)}),k||(k=s.clipRect=o.clipRect(0,l-2,9999,0),s.contentGroup.clip(k)),e(m),v||(this.nav=v=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(v),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(v),this.down=o.symbol("triangle-down",0,0,u,u).add(v),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=b):v&&(e(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>r?r:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===r?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),O(()=>{M(this,"afterScroll",{currentPage:l})},d(A(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},o=s.chart.renderer.boxWrapper,a=i instanceof g,n=i instanceof u,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,r.symbol]:[r.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&o.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(C(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),o.removeClass(h),i.setState()}).on("click",function(t){o.removeClass(h),M(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&M(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),m(e.checkbox,"click",function(t){t=t.target;M(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=E=E||{}).compose=function(t){w(h,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},E}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,G,a,N,z,W,X,u,r,c,H){let{animate:n,animObject:F,setAnimation:f}=t,{defaultOptions:h,defaultTime:U}=e,Y=i["numberFormat"],g=G["registerEventOptions"],{charts:p,doc:m,marginNames:l,svg:V,win:o}=a,d=W["seriesTypes"],{addEvent:x,attr:y,createElement:b,css:v,defined:C,diffObjects:k,discardElement:_,erase:q,error:M,extend:A,find:S,fireEvent:w,getStyle:T,isArray:Z,isNumber:P,isObject:K,isString:O,merge:E,objectEach:L,pick:D,pInt:$,relativeLength:B,removeEvent:j,splat:I,syncTimeout:J,uniqueKey:Q}=r;class R{static chart(t,e,i){return new R(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(O(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:D(t.zoomType,e.type),key:D(t.zoomKey,e.key),pinchType:D(t.pinchType,e.pinchType),singleTouch:D(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:E(e.resetButton,t.resetZoomButton)}}init(i,s){w(this,"init",{args:arguments},function(){var t=E(h,i),e=t.chart;this.userOptions=A({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new u(i.time):a.time,this.numberFormatter=e.numberFormatter||Y,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,g(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),w(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],r=(s||M(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],r=this.options[t]=I(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?I(this.userOptions[t]).slice():[];if(this.hasRendered&&(r.splice(i),o.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(g.isInsidePlot=!1)),!i.ignoreY&&g.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+u:a+u)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(g.isInsidePlot=!1)),w(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){w(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):o&&(o.labelFormatter||o.labelFormat)&&(u=!0)),t.isDirtyData&&w(t,"updatedData")}),u&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){w(t,"afterSetExtremes",A(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),w(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),w(this,"redraw"),w(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let r=S(this.axes,s)||S(this.series,s);for(let t=0;!r&&t(t.getPointsCollection().forEach(t=>{D(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=E(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),e&&!r&&((r=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||r.css(A("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=r)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",r="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var o;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,o=Math.round(e.getBBox(i.useHTML).height),e.align(A({y:"bottom"===s?t:r+t,height:o},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+o):"bottom"===s&&(a[2]=Math.ceil(a[2]+o))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,w(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{var e;if(t!==this.container)return e=t.style.display,t.style.display="none",[t,e]}),e={width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox(),s=1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(o,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,f(i,s);var i=r.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:v)(s.container,{width:t+o+"px",height:e+a+"px"},i),s.setChartSize(!0),r.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,w(s,"resize"),setTimeout(()=>{s&&w(s,"endResize")},F(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,r;let{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),w(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){w(this,"resetMargins");let r=this,o=r.options.chart,t=o.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=o[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){r[i][e]=D(o[i+t],s[e])})}),l.forEach(function(t,e){r[t]=D(r.margin[e],r.spacing[e])}),r.axisOffset=[0,0,0,0],r.clipOffset=[e,e,e,e],r.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,M="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),M="attr"),r?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),k={fill:a||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[M]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),M="animate",x||(M="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[M](u),r||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),M="animate",y||(M="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[M](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,w(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,r=this,o=r.options.chart,a=r.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[o.type],s=o[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);r[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(O(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=D(e.options.visible,t.options.visible,e.visible))}}),w(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(var l of(this.setTitle(),w(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){o=d.tickLength,l.createGroups();let t=new H(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),o=e&&D(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):o){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||1(h?1:1.1),n=g/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=E(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(o.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,r=i.container,o=r&&r.parentNode;for(w(i,"destroy"),i.renderer.forExport?q(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),j(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),r&&(r.innerHTML=c.emptyHTML,j(r),o&&_(r)),L(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),Z(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),w(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),w(this,"load"),w(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),w(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),v(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:r,selection:o,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:u,len:g,minPointOffset:f=0,options:m,reversed:x}=p,y=u?"width":"height",b=u?"x":"y",v=D(a[y],p.len),y=D(i[y],p.len),k=Math.abs(v)<10?1:v/y,y=(i[b]||0)+y/2-p.pos,b=y-((a[b]??p.pos)+v/2-p.pos)/k,v=x&&!h||!x&&h?-1:1;if(r||!(y<0||y>p.len)){let t=p.toValue(b,!0)+(o||p.isOrdinal?0:f*v),e=p.toValue(b+g/k,!0)-(!o&&!p.isOrdinal&&f*v||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==k&&!r&&"yAxis"===p.coll&&!i){for(var M of p.series){M=M.getExtremes(M.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(M.dataMin)&&P(M.dataMax)&&(i.dataMin=Math.min(M.dataMin,i.dataMin),i.dataMax=Math.max(M.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:g,max:f}=A(p.getExtremes(),i||{}),v=x??m.min,x=y??m.max,y=e-t,S=p.categories?0:Math.min(y,x-v),v=v-S*(C(m.min)?0:m.minPadding),x=x+S*(C(m.max)?0:m.maxPadding),S=p.allowZoomOutside||1==k||"zoom"!==n&&1m&&(e=m,1<=k&&(t=e-y)),(r||p.series.length&&(t!==g||e!==f)&&t>=v&&e<=m)&&(o?o[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(r?void 0:t,r?void 0:e,!1,!1,{move:b,trigger:n,scale:k}),!r&&(t>v||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return A(R.prototype,{callbacks:[],collectionsWithInit:{xAxis:[R.prototype.addAxis,[!0]],yAxis:[R.prototype.addAxis,[!1]],series:[R.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),R}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let A=t["stop"],s=e["composed"],{addEvent:u,createElement:g,css:w,defined:T,merge:f,pushUnique:r}=i;function o(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){r(s,this.compose)&&(u(t,"afterInit",a),u(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),u(e,"render",o),u(i,"show",a))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=f(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=f(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,r=!1)),T(r)&&!e.skipAxes))for(var c of t.axes)c.horiz===r&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),r=t.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),w(i.renderTo,{overflow:"visible"}),u(i,"afterShowResetZoom",o),u(i,"afterApplyDrilldown",o),u(i,"afterLayOutTitles",o),u(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=o+p,x=a+u,y=(e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),A(t.container),w(n,{width:m+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),w(s,{width:o+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*g,s.scrollTop=u*f),d-r[0]-1),b=l-r[3]-1,v=d+h+r[2]+1,k=l+c+r[1]+1,M=l+c-p,S=d+h-u,C=[["M",0,0]];p?C=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",M,y],["L",o,y],["L",o,v],["L",M,v],["Z"]]:u&&(C=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,S],["L",b,a],["L",k,a],["L",k,S],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:C})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let o=t["format"],g=e["series"],{destroyObjectProperties:s,fireEvent:f,isNumber:m,pick:x}=i;return class{constructor(t,e,i,s,r){var o=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,r=t?o(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:r,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,f(this,"afterRender")}setOffset(t,e,r,o,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:r,boxTop:o,defaultX:i,xAxis:s}),u=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:r,y:o}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=r,p.y-=o,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+r,h.alignAttr.y+a.y+o))?i:!1)&&g.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=m(h.x)&&m(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}f(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(r,d.translate(this.x))+o,p=Math.abs(l-e.toPixels(n||m(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,w,s){let a=t["getDeferredAnimation"],{prototype:r}=i["series"],{addEvent:o,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:O,isNumber:l,objectEach:d,pick:E}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,E(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function u(){this.stacking||(this.stacking=new b(this))}function g(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function f(){let o,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,r;for(;e--;)i=h[e],o=a.getStackIndicator(o,i,a.index,t),(r=(s=n[t]?.[i])?.points[o.key||""])&&l.call(a,r,s,e)})}function m(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return{compose:function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(o(t,"init",u),o(t,"destroy",p),s.getStacks=c,r.getStackIndicator=g,r.modifyStacks=f,r.percentStacker=m,r.setGroupedPoints=x,r.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:m,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,r=s?"animate":"attr",o=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},o?i.dashstyle=o:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[r](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],u=[],g,f=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&t&&(f=4-f),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,r=t.plotY,o=n[e-1],a=t.isNull||"number"!=typeof r;(t.leftCliff||o&&o.rightCliff)&&!l&&(g=!0),g=a&&!m(h)&&0{let i={},s=t.fillColor||n.fillColor,r=t.area,o=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:a.xMap,r.animate({d:a})):(i.zIndex=0,(r=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[o](i),r.startX=a.xMap,r.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],r=p&&x[s.x].points[m],o=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||o?(n=(o?r[0]:r[1])+a,h=r[0]+a,l=!!o):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(f.push({plotX:c,plotY:null===n?b:u.getThreshold(n),isNull:l,isCliff:!0}),g.push({plotX:c,plotY:null===h?b:u.getThreshold(h),doCurve:!1}))}let c,s,r,t=k.prototype.getGraphPath,e=this.options,p=e.stacking,u=this.yAxis,g=[],f=[],m=this.index,x=u.stacking.stacks[this.stackKey],y=e.threshold,b=Math.round(u.getThreshold(e.threshold)),o=M(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=v.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,v}getStackPoints(e){let d=this,s=[],c=[],r=this.xAxis,p=this.yAxis,u=p.stacking.stacks[this.stackKey],g={},f=p.series,m=f.length,x=p.options.reversedStacks?1:-1,y=f.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(o,a){let e=0,n,h;if(g[o]&&!g[o].isNull)s.push(g[o]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=u[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,r=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof o.x){let e=t[o.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),r=t.length}}}),s=this.xAxis.reversed?r-1-s:s;var n=(r-1)*a.paddedWidth+e;t=(o.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,u=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(u.borderWidth,t?0:1),g=c.xAxis,f=c.yAxis,m=u.threshold,x=P(u.minPointLength,5),y=c.getColumnMetrics(),b=y.width,v=c.pointXOffset=y.offset,k=c.dataMin,M=c.dataMax,S=c.translatedThreshold=f.getThreshold(m),C=c.barW=Math.max(b,1+2*e);u.pointPadding&&(C=Math.ceil(C)),r.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,S),i=999+Math.abs(e),s=t.plotX||0,r=A(t.plotY,-i,f.len+i),o,a=Math.min(r,e),n=Math.max(r,e)-a,h=b,l=s+v,d=C;x&&Math.abs(n)x?e-x:S-(o?x:0)),w(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-b)/2)),u.centerInCategory&&!u.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[A(f.len+f.pos-p.plotLeft-r,f.pos-p.plotLeft,f.len+f.pos-p.plotLeft),g.len+g.pos-p.plotTop-l-d/2,n]:[g.left-p.plotLeft+l+d/2,A(r+f.pos-p.plotTop,f.pos-p.plotTop,f.len+f.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?S:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[r]||i[r]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[o]||i[o]||this[o]||0,u=P(t&&t.opacity,i.opacity,1),g=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&f(l).brighten(a.brightness).get()||l,d=a[r]||d,p=a[o]||p,c=a.dashStyle||c,u=P(a.opacity,u)),{fill:l,stroke:d,"stroke-width":p,opacity:u});return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let o,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,r=i&&n.pointCountt?.enabled)}function a(t,e,i,s,r){let{chart:o,enabledDataSorting:a}=this,n=this.isCartesian&&o.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&o.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===L(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||L(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();var f,m,x,y,b;u&&g&&(f=e.getBBox(),m=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=v({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),v(i,{width:f.width,height:f.height}),b=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,r,c,b),e.align(k(i,{width:m.width,height:m.height}),!1,s,!1),e.alignAttr.x+=x*(m.width-f.width),e.alignAttr.y+=y*(m.height-f.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(f.width-m.width)/2,y:e.alignAttr.y+(f.height-m.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,f,s,r):L(i.crop,!0)&&({x:t,y:b}=e.alignAttr,u=o.isInsidePlot(t,b,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+f.width-1,b+f.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[r?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})),r&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let v,k=(t=t||this.points,this),M=k.chart,S=k.options,C=M.renderer,{backgroundColor:e,plotBackgroundColor:i}=M.options.chart,A=C.getContrast(O(i)&&i||O(e)&&e||"#000000"),s=g(k),{animation:r,defer:o}=s[0],a=o?n(M,r,k):{defer:0,duration:0};P(this,"drawDataLabels"),k.hasDataLabels?.()&&(v=this.initDataLabels(a),t.forEach(y=>{let b=y.dataLabels||[],t=(h(u(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(f=x.operator,m=y[x.property],x=x.value,">"===f&&x="===f&&x<=m||"<="===f&&m<=x||"=="===f&&m==x||"==="===f&&m===x||"!="===f&&m!=x||"!=="===f&&m!==x)),{backgroundColor:s,borderColor:r,distance:o,style:a={}}=t,n,h,l,d,c={},p=b[e],u=!p,g;var f,m,x;i&&(h=L(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?w(h,n,M):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,M.styledMode||(a.color=L(t.color,a.color,O(k.color)?k.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(g=s),y.contrastColor=C.getContrast("auto"!==g&&g||y.color||k.color),a.color=g||!T(o)&&t.inside||D(o||0)<0||S.stacking?y.contrastColor:A):delete y.contrastColor,S.cursor&&(a.cursor=S.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},M.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===r?y.color:r,c["stroke-width"]=t.borderWidth),E(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,u=!0),i&&T(l)&&(p?c.text=l:(p=C.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),M.styledMode?a.width&&p.css({width:a.width,textOverflow:a.textOverflow}):p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(v),k.alignDataLabel(y,p,t,void 0,u),p.isActive=!0,b[e]&&b[e]!==p&&b[e].destroy(),b[e]=p))}),b.length);for(;t--;)b[t]&&b[t].isActive?b[t].isActive=!1:(b[t]?.destroy(),b.splice(t,1));y.dataLabel=b[0],y.dataLabels=b})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&0<=g?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&0<=f?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!o,t.align(e,void 0,r)),x}function u(e,i){let t=[],s;if(r(e)&&!r(i))t=e.map(function(t){return k(t,i)});else if(r(i)&&!r(e))t=i.map(function(t){return k(e,t)});else if(r(e)||r(i)){if(r(e)&&r(i))for(s=Math.max(e.length,i.length);s--;)t[s]=k(e[s],i[s])}else t=k(e,i);return t}function g(t){var e=t.chart.options.plotOptions;return h(u(u(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function f(t,e,i,s,r){var o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?r.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var r;let o=t["composed"],c=i["series"],{merge:p,pick:u,pushUnique:a}=s;return(r||(r={})).compose=function(t){e.compose(c),a(o,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},r;function n(t,e,i,s,r){var o=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=u(t.below,t.plotY>u(this.translatedThreshold,a)),d=u(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,r,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:u,y:g}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",u,g]];return(p?f<=u&&f>=s.x:f>=u&&f<=s.x)&&m.push(["L",f,g]),m.push(["L",s.x,s.y],["L",r.x,r.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:b,merge:p,pick:u}=h;class g extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}b(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),b=f.center,v=b[2]/2,n=b[1],h=[[],[]],k=[0,0,0,0],M=f.dataLabelPositioners,l,S,C,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=b[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[r.half].push(r),!A(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,r;t&&(f.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(g&&A(i)&&0m-o&&0===u&&(t=Math.round(h+S-m+o),k[1]=Math.max(t,k[1])),l-C/2<0?k[0]=Math.max(Math.round(-l+C/2),k[0]):l+C/2>x&&(k[2]=Math.max(Math.round(l+C/2-x),k[2])),s.sideOverflow=t}}})}))}),0!==u(k)&&!this.verifyDataLabelOverflow(k)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=f),r+=f),m(g,{brBoxHeight:r,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,r={}){let o=C(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(r=S(c,c-u),f[0]-=r,m[0]+=r,x[1]=M[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u,g,f,m,x,y,b,v,k,M,S,C,A,w,T,P,O,E,L,D,B,j,I){return t.AST=o,t.Axis=p,t.Chart=M,t.Color=j,t.DataLabel=E,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=k,t.OverlappingDataLabels=t.OverlappingDataLabels||L,t.PlotLineOrBand=f,t.Point=y,t.Pointer=b,t.RendererRegistry=n,t.Series=w,t.SeriesRegistry=T,t.StackItem=A,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=I,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=M.chart,t.color=j.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),E.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),L.compose(t.Chart),O.compose(t.Series.types.pie),f.compose(t.Chart,t.Axis),b.compose(t.Chart),B.compose(t.Chart),S.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Extensions/ArrowSymbols.js",[],function(){function r(t,e,i,s){return[["M",t,e+s/2],["L",t+i,e],["L",t,e+s/2],["L",t+i,e+s]]}function i(t,e,i,s){return r(t,e,i/2,s)}function o(t,e,i,s){return[["M",t+i,e],["L",t,e+s/2],["L",t+i,e+s],["Z"]]}function s(t,e,i,s){return o(t,e,i/2,s)}return{compose:function(t){let e=t.prototype.symbols;e.arrow=r,e["arrow-filled"]=o,e["arrow-filled-half"]=s,e["arrow-half"]=i,e["triangle-left"]=o,e["triangle-left-half"]=s}}}),e(t,"Gantt/Connection.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let{defined:h,error:o,merge:l,objectEach:i}=e,m=t.deg2rad,d=Math.max,c=Math.min;return class{constructor(t,e,i){this.init(t,e,i)}init(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(t,e){let i=this.chart,s=i.styledMode,r=this.pathfinder,o={},a=this.graphics&&this.graphics.path;r.group||(r.group=i.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(i.seriesGroup)),r.group.translate(i.plotLeft,i.plotTop),a&&a.renderer||(a=i.renderer.path().add(r.group),s||a.attr({opacity:0})),a.attr(e),o.d=t,s||(o.opacity=1),a.animate(o),this.graphics=this.graphics||{},this.graphics.path=a}addMarker(t,e,i){let s,r,o,a,n,h,l,d,c=this.fromPoint.series.chart,p=c.pathfinder,u=c.renderer,g="start"===t?this.fromPoint:this.toPoint,f=g.getPathfinderAnchorPoint(e);e.enabled&&((d="start"===t?i[1]:i[i.length-2])&&"M"===d[0]||"L"===d[0])&&(l={x:d[1],y:d[2]},r=g.getRadiansToVector(l,f),s=g.getMarkerVector(r,e.radius,f),o=-r/m,e.width&&e.height?(n=e.width,h=e.height):n=h=2*e.radius,this.graphics=this.graphics||{},a={x:s.x-n/2,y:s.y-h/2,width:n,height:h,rotation:o,rotationOriginX:s.x,rotationOriginY:s.y},this.graphics[t]?this.graphics[t].animate(a):(this.graphics[t]=u.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(a).add(p.group),u.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))}getPath(t){let e=this.pathfinder,i=this.chart,s=e.algorithms[t.type],r=e.chartObstacles;return"function"!=typeof s?(o('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(s.requiresObstacles&&!r&&(r=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(r)),s(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),l({chartObstacles:r,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))}render(){let t=this.fromPoint,e=t.series,i=e.chart,s=i.pathfinder,r={},o=l(i.options.connectors,e.options.connectors,t.options.connectors,this.options);i.styledMode||(r.stroke=o.lineColor||t.color,r["stroke-width"]=o.lineWidth,o.dashStyle&&(r.dashstyle=o.dashStyle)),r.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,h((o=l(r,o)).marker.radius)||(o.marker.radius=c(d(Math.ceil((o.algorithmMargin||8)/2)-1,1),5));var a=this.getPath(o),n=a.path;a.obstacles&&(s.lineObstacles=s.lineObstacles||[],s.lineObstacles=s.lineObstacles.concat(a.obstacles)),this.renderPath(n,r),this.addMarker("start",l(o.marker,o.startMarker),n),this.addMarker("end",l(o.marker,o.endMarker),n)}destroy(){this.graphics&&(i(this.graphics,function(t){t.destroy()}),delete this.graphics)}}}),e(t,"Extensions/CurrentDateIndication.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let i=t["composed"],{addEvent:s,merge:r,pushUnique:o,wrap:a}=e,n={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t)},rotation:0,style:{fontSize:"0.7em"}}};function h(){let e=this.options,i=e.currentDateIndicator;if(i){let t="object"==typeof i?r(n,i):r(n);t.value=Date.now(),t.className="highcharts-current-date-indicator",e.plotLines||(e.plotLines=[]),e.plotLines.push(t)}}function l(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function d(t,e){let i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)}return{compose:function(t,e){o(i,"CurrentDateIndication")&&(s(t,"afterSetOptions",h),s(e,"render",l),a(e.prototype,"getLabelText",d))}}}),e(t,"Core/Chart/GanttChart.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e,i){var s;let a=e["defaultOptions"],{isArray:n,merge:h,splat:l}=i;class r extends t{init(t,e){let i;var s=t.xAxis,r=t.yAxis;t.xAxis=t.yAxis=void 0;let o=h(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},t,{isGantt:!0});t.xAxis=s,t.yAxis=r,o.xAxis=(n(t.xAxis)?t.xAxis:[t.xAxis||{},{}]).map((t,e)=>(1===e&&(i=0),h({grid:{borderColor:"#cccccc",enabled:!0},opposite:a.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),o.yAxis=l(t.yAxis||{}).map(t=>h({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(o,e)}}return(s=r=r||{}).ganttChart=function(t,e,i){return new s(t,e,i)},r}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let r,i=t["isTouchDevice"],{addEvent:o,merge:a,pick:n}=s,h=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,r=this.navigator;var o,a;r&&(t=s&&s.options,e=r.xAxis,i=r.yAxis,{scrollbarHeight:o,scrollButtonSize:a}=r,this.inverted?(r.left=r.opposite?this.chartWidth-o-r.height:this.spacing[3]+o,r.top=this.plotTop+a):(r.left=n(e.left,this.plotLeft+a),r.top=r.navigatorOptions.top||this.chartHeight-r.height-o-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=r.left:e.options.top=i.options.top=r.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new r(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function f(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(h,e)){let t=e.prototype;r=i,t.callbacks.push(g),o(e,"afterAddSeries",l),o(e,"afterSetChartSize",d),o(e,"afterUpdate",c),o(e,"beforeRender",p),o(e,"beforeShowResetZoom",u),o(e,"update",f)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:h,defined:c,isNumber:l,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new o(this))}function r(t){let e,i=this.chart,s=i.options,r=s.navigator,o=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;var l;this.isXAxis&&(r?.enabled||n?.enabled)&&("y"===h&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===h||d&&"xy"===a)&&this.options.range&&(l=o.previousZoom,c(t.min)?o.previousZoom=[this.min,this.max]:l&&(t.min=l[0],t.max=l[1],o.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class o{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,r={}){var i=r.width?r.width/2:i,o=n(r.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=r.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:o})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,r,o,i,a,n){let h=t["setOptions"],l=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:u,pushUnique:g}=n;function f(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(l,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,o),p(i,"afterUpdate",f),h({navigator:r}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let r=t["composed"],{addEvent:o,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function h(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function l(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),o(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:r,scrollMin:o,scrollMax:a}=c(n),a=a-o;d(s)&&d(r)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=o+a*this.to,o+a*this.from):(e=o+a*(1-this.from),o+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:r}=c(this),o=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,h=this.options.margin||0;var l;o&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),o.position(this.left,this.top+this.height+2+n[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(n[1]+=h),1):(this.opposite&&(n[0]+=a),l=o.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:h):this.opposite?0:h,o.position(l,this.top,this.width,this.height),this.opposite&&(n[0]+=h),0),n[t]+=o.size+(o.options.margin||0),isNaN(s)||isNaN(r)||!d(this.min)||!d(this.max)||this.dataMin===this.dataMax?o.setRange(0,1):this.min===this.max?(l=this.pointRange/(this.dataMax+1),e=l*this.min,i=l*(this.max+1),o.setRange(e,i)):(e=(this.min-s)/(r-s),i=(this.max-s)/(r-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,i):o.setRange(1-i,1-e)))}t.compose=function(t,e){n(r,"Axis.Scrollbar")&&(i=e,o(t,"afterGetOffset",h),o(t,"afterInit",l),o(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=t["defaultOptions"],{addEvent:h,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:l,merge:p,pick:u,removeEvent:g}=r;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,r=this.scrollbarButtons,o=this.options,a=this.size,n=s.g().add(this.group);if(r.push(n),o.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:o.buttonBorderRadius},t.strokeWidth())),s.path(f.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(r[i]));this.chart.styledMode||e.attr({fill:o.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,o.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:r,margin:o=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=r?this.size:0,this.barWidth=s-(r?2*i:0),this.x=t+=o):(this.height=s=this.size,this.xOffset=h=r?this.size:0,this.barWidth=i-(r?2*s:0),this.y=this.y+o),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,r=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=r,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var o=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,o),y:-a(0,o)}),this.scrollbarGroup=t.g().add(r),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-o,width:i-o,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var r,o=this.options,a=o.vertical,n=o.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(r=h*Math.min(e,1),i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=d(r-i),ss||!this.options.vertical&&e.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:o[e],height:r[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,h=a.chart,e=h.inverted,l=h.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=l.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));h.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:r,width:o}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]&&a.handles[t].symbolUrl===i?a.handles[t].isImg||a.handles[t].symbolName===i||(e=p[i].call(p,-o/2-1,0,o,r),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]?.destroy(),a.handles[t]=l.symbol(i,-o/2-1,0,o,r,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c),a.addMouseEvents()),h.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-o/2),rotationOriginY:(r+o)/2}),h.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-o/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(k(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),C(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var r;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{P(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,r=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:r,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let r=this.chart,o=this.xAxis,a=o.pointRange||0,n=o.navigatorAxis.fake?r.xAxis[0]:o,h=this.navigatorEnabled,l=this.rendered,d=r.inverted,c=r.xAxis[0].minRange,p=r.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,b;if(!this.hasDragged||C(i)){if(this.isDirty&&this.renderElements(),t=S(t-a/2),e=S(e+a/2),!w(t)||!w(e)){if(!l)return;i=0,s=T(o.width,n.width)}this.left=T(o.left,r.plotLeft+u+(d?r.plotWidth:0));var v=this.size=y=T(o.len,(d?r.plotHeight:r.plotWidth)-2*u),t=(g=d?x:y+2*u,i=T(i,o.toPixels(t,!0)),s=T(s,o.toPixels(e,!0)),w(i)&&Math.abs(i)!==1/0||(i=0,s=g),o.toValue(i,!0)),e=o.toValue(s,!0),k=((k=Math.abs(S(e-t)))p&&(this.grabbedLeft?i=o.toPixels(e-p-a,!0):this.grabbedRight&&(s=o.toPixels(t+p+a,!0))),this.zoomedMax=M(Math.max(i,s),0,v),this.zoomedMin=M(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(k,v,d,b),this.drawOutline(k,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(k,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,A(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],r,o;e.mouseMoveHandler=r=function(t){e.onMouseMove(t)},e.mouseUpHandler=o=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(y(t.renderTo,"mousemove",r),y(i.ownerDocument,"mouseup",o),y(t.renderTo,"touchmove",r),y(i.ownerDocument,"touchend",o)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(y(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let r=this,o=[];return["shades","handles"].forEach(function(i){r[i].forEach(function(t,e){o.push(y(t.element,s,function(t){r[i+"Mousedown"](t,e)}))})}),o}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,r=this.zoomedMin,o=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-r):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=o&&(p=o-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==r&&(this.fixedWidth=a,C((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&A(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],r=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,r=e.range,o=e.dragOffset,a=i.inverted,n=e.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+o-r&&(h=s+o-r),e.render(0,0,h-o,h-o+r)),e.hasDragged&&e.scrollbar&&T(e.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,r,o,a,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),C((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,o)).min)&&A(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&w(this.zoomedMin)&&w(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){P(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&P(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},r=s.enabled,o=i&&e.height||0,a=r&&s.height||0,h=s.buttonsEnabled&&a||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=o,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,p=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,l.navigatorEnabled?(g=this.getXAxisOffsets(),l.xAxis=new f(n,k({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:o}:{offsets:g,height:o}),"xAxis"),l.yAxis=new f(n,k(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:T(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:o}:{height:o}),"yAxis"),d||e.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=y(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,r){let o=this,a=o.chart,n=o.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=o.series=(o.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(P(e,"updatedData",o.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=o.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=b({color:t.color,visible:t.visible},v(p)?g.navigator.series:p);var s;e&&!1===o.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(c=k(d,h,i,u)).pointRange=T(i.pointRange,u.pointRange,g.plotOptions[c.type||"line"].pointRange),s=u.data||i.data,o.hasNavigatorData=o.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,r):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!v(p)||(o.hasNavigatorData=!1,(p=O(p)).forEach((t,e)=>{h.name="Navigator "+(l.length+1),(c=k(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},h,t)).data=t.data,c.data&&(o.hasNavigatorData=!0,l.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(y(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(y(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(y(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(y(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),C(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),r=s.min,o=s.max,a=s.dataMin,n=s.dataMax,h=o-r,l=i.stickToMin,d=i.stickToMax,c=T(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&w(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=T(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!w(i)||!w(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let o,r=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:h,extend:l,isNumber:d,merge:c,pick:p,pushUnique:u}=i,g=[];function f(){function t(t,e){let i="year"===o?"FullYear":"Month",s=new a.Date(t),r=a.get(i,s);return a.set(i,s,r+e),r===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,o=s.type,r=this.max,a=this.chart.time;d(s)?(e=r-s,i=s):s&&(e=r+t(r,-(s.count||1)),this.chart&&this.chart.setFixedRange(r-e));var n=p(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,p(this.dataMax,Number.MAX_VALUE))),d(r)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function m(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new o(this))}function x(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function y(){let s,r=this.rangeSelector;if(r){let t=this.xAxis[0].getExtremes(),e=this.legend,i=r&&r.options.verticalAlign;d(t.min)&&r.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=c(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=r.getHeight(),e.group.placed=!1,e.align(s))}}function b(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function v(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function k(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,r=this.rangeSelector;e&&e.enabled&&!h(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new o(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r&&(t=e&&e.verticalAlign||r.options&&r.options.verticalAlign,r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(o=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=f,n(i,"afterGetContainer",m),n(i,"beforeRender",x),n(i,"destroy",b),n(i,"getMargins",v),n(i,"redraw",y),n(i,"update",k),t.callbacks.push(y),l(r,{rangeSelector:s.rangeSelector}),l(r.lang,s.lang)}}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,p,u,e){var i;let{addEvent:r,correctFloat:l,css:b,defined:v,error:k,isNumber:s,pick:M,timeUnits:S,isString:o}=e;{var a=i=i||{};function n(t,e,l,i,s=[],r=0,o){let d={},c=this.options.tickPixelInterval,a=this.chart.time,n=[],h,p,u,g,f,m=0,x=[],y=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var b=s.length;for(h=0;hl,s[h]5*r||f){if(s[h]>y){for(p=a.getTimeTicks(t,s[m],s[h],i);p.length&&p[0]<=y;)p.shift();p.length&&(y=p[p.length-1]),n.push(x.length),x=x.concat(p)}m=h+1}if(f)break}if(p){if(g=p.info,o&&g.unitRange<=S.hour){for(m=1,h=x.length-1;mt-e),(a=i[Math.floor(i.length/2)])<.6*c&&(a=null),h=x[t-1]>l?t-1:t,o=void 0;h--;)n=Math.abs(o-(r=e[h])),o&&n<.8*c&&(null===a||n<.8*a)?(d[x[h]]&&!d[x[h+1]]?(s=h+1,o=r):s=h,x.splice(s,1)):o=r}return x}function h(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,r=e.getExtendedPositions();if(r&&r.length){var o,a,n=l((t-i)*s+this.minPixelPadding),n=l(e.getIndexOfPoint(n,r)),h=l(n%1);if(0<=n&&n<=r.length-1)return o=r[Math.floor(n)],a=r[Math.ceil(n)],r[Math.floor(n)]+h*(a-o)}return t}function c(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function f(){var{eventArgs:t,options:e}=this;this.isXAxis&&v(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&v(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function m(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function x(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function y(t){let f=this.xAxis[0],m=f.ordinal.convertOverscroll(f.options.overscroll),x=t.originalEvent.chartX,e=this.options.chart.panning,y=!1;if(e&&"y"!==e.type&&f.options.ordinal&&f.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=f.getExtremes(),r=s.dataMin,o=s.dataMax,a=s.min,n=s.max,h=this.hoverPoints,l=f.closestPointRange||f.ordinal&&f.ordinal.overscrollPointsRange,d=Math.round((i-x)/(f.translationSlope*(f.ordinal.slope||l))),c=f.ordinal.getExtendedPositions(),p={ordinal:{positions:c,extendedOrdinalPositions:c}},u=f.index2val,g=f.val2lin;if(a<=r&&d<0||o<=n+m&&0(e=p.ordinal.positions)[e.length-1]&&e.push(o),this.setFixedRange(n-a),(t=f.navigatorAxis.toFixedRange(void 0,void 0,u.apply(p,[g.apply(p,[a,!0])+d]),u.apply(p,[g.apply(p,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(o,n)+m&&f.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=x,b(this.container,{cursor:"move"})):y=!0}else y=!0;y||e&&/y/.test(e.type)?m&&(f.max=f.dataMax+m):t.preventDefault()}function C(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function A(t,e){let i,s=this.ordinal,r=s.positions,o=s.slope,a;if(!r)return t;var n=r.length;if(r[0]<=t&&r[n-1]>=t)i=c(r,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,h=(o=o||(a[n-1]-a[0])/n,c(a,r[0]));if(t>=a[0]&&t<=a[n-1])i=c(a,t)-h;else{if(!e)return t;i=tl||r-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===n?f=g[1]-g[0]:1===n?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(r,g[g.length-1]),!0),1),e.slope=p=(r-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=M(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,r=t.length-1,o;for(;s{var e=t.points?.[0];v(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,r=e.x)}),i=i??s.minPixelPadding;var o=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=l((t-i)/o);return w.findIndexOf(e,r,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],r=t.dataMax;if(v(i))for(;r<=t.dataMax+e;)s.push(r+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return M(i.originalOrdinalRange,v(s.dataMax)&&v(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var r;return o(t)?(r=parseInt(t,10),/%$/.test(t)?e(r/100):/px/.test(t)?e((r=Math.min(r,.9*s.len)/s.len)/(1-r)):0):t}}a.Additions=w}return i}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(y,t,m,i,s,e,w){let T=t["defaultOptions"],{addEvent:b,createElement:x,css:P,defined:v,destroyObjectProperties:r,discardElement:o,extend:k,fireEvent:M,isNumber:O,merge:S,objectEach:a,pad:n,pick:C,pInt:h,splat:A}=e;class l{static compose(t,e){i.compose(t,e,l)}constructor(t){this.buttonOptions=l.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],r=i.xAxis[0],o=i.scroller&&i.scroller.getUnionExtremes()||r||{},a=s.type,n=s.dataGrouping,h=o.dataMin,l=o.dataMax,d,c=r&&Math.round(Math.min(r.max,C(l,r.max))),p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,y.prototype.setDataGrouping.call(r||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)r?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=r.minFromRange.call(f),O(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)c=Math.min((d=Math.max(c-u,h))+u,l),x=!1;else if("ytd"===a){if(!r)return void(this.deferredYTDClick=t);void 0!==l&&void 0!==h||(h=Number.MAX_VALUE,l=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(h=Math.min(t[0],h),l=Math.max(t[t.length-1],l))}),e=!1),d=g=(m=this.getYTDExtremes(l,h,i.time.useUTC)).min,c=m.max}else"all"===a&&r&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&v(d)&&(d+=s._offsetMin),s._offsetMax&&v(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),r)r.setExtremes(d,c,C(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{p=A(i.options.xAxis)[0];let e=b(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});b(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=p.range,t.options.min=p.min,e()})}M(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&M(t,"blur"),e&&e.blur&&M(e,"blur")}let i=this,s=e.options.rangeSelector,r=s.buttons||i.defaultButtons.slice(),o=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=r,this.eventsToUnbind=[],this.eventsToUnbind.push(b(e.container,"mousedown",t)),this.eventsToUnbind.push(b(e,"resize",t)),r.forEach(i.computeButtonRange),void 0!==o&&r[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(b(e,"load",function(){e.xAxis&&e.xAxis[0]&&b(e.xAxis[0],"setExtremes",function(t){O(this.max)&&O(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let p=this,t=this.chart,s=this.dropdown,r=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),f=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,m=e.dataMin,x=e.dataMax,i=p.getYTDExtremes(x,m,t.time.useUTC),y=i.min,b=i.max,v=p.selected,k=p.options.allButtonsEnabled,M=Array(p.buttonOptions.length).fill(0),S=O(v),o=p.buttons,C=!1,A=null;p.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,r=t.count||1,o=t._offsetMax-t._offsetMin,a=e===v,n=i>x-m,h=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*r-o&&g-36e5<=864e5*{month:31,year:366}[s]*r+o?d=!0:"ytd"===s?(d=b-y+o===g,l=!a):"all"===s&&(d=u.max-u.min>=x-m);var t=!k&&!(C&&"all"===s)&&(n||h||f),c=C&&"all"===s||!l&&d||a&&p.frozenStates;t?M[e]=3:!c||S&&e!==v||(A=e)}),null!==A?(M[A]=2,p.setSelected(A)):(p.setSelected(),r&&(r.setState(0),r.attr({text:(T.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?h=void 0:ha&&(h=a)),void 0!==h&&s.setExtremes(c?h:s.min,c?s.max:h,void 0,void 0,{trigger:"rangeSelectorInput"}))}let h=a[c?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=r.label(h,0).addClass("highcharts-range-label").attr({padding:h?2:0,height:h?o.inputBoxHeight:0}).add(i),u=r.label("",0).addClass("highcharts-range-input").attr({padding:2,width:o.inputBoxWidth,height:o.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(l.styledMode||u.attr({stroke:o.inputBoxBorderColor,"stroke-width":1}),u.add(i),x("input",{name:e,className:"highcharts-range-selector"},void 0,t)),f=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(o.inputDateFormat||"%e %b %Y")),l.styledMode||(p.css(S(s,o.labelStyle)),u.css(S({color:"#333333"},s,o.inputStyle)),P(g,k({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},o.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===m.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{f||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{f=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,r=new s.Date(t),o=s.get("FullYear",r),a=Math.max(e,i?s.Date.UTC(o,0,1):+new s.Date(o,0,1)),n=r.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,r=s.rangeSelector,o=r.inputEnabled,a=C(s.chart.style?.zIndex,0)+1;var n;!1!==r.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=x("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),o)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,r=s.inputEnabled;if(!1!==s.enabled){if(r){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(v(t.dataMin)&&v(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=T.lang,o=e.renderer,a=S(i.buttonTheme),n=a&&a.states,h=a.width||28,l=(delete a.width,delete a.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group),this.dropdown=x("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),r=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=o.button("",0,0,()=>{},S(a,{"stroke-width":C(a["stroke-width"],0),width:"auto",paddingLeft:C(i.buttonTheme.paddingLeft,r?.padding,8),paddingRight:C(i.buttonTheme.paddingRight,r?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),b(l,"touchstart",()=>{l.style.fontSize="16px"}),m.isMS?"mouseover":"mouseenter"),c=m.isMS?"mouseout":"mouseleave";b(l,d,()=>{M(this.dropdownLabel.element,d)}),b(l,c,()=>{M(this.dropdownLabel.element,c)}),b(l,"change",()=>{M(this.buttons[l.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=C(a["stroke-width"],0)),x("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,l),this.buttonOptions.forEach((s,r)=>{x("option",{textContent:s.title||s.text},void 0,l),t[r]=o.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(r),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:h}).add(this.buttonGroup),s.title&&t[r].attr("title",s.title)})}alignElements(){let{buttonGroup:h,buttons:l,chart:d,group:c,inputGroup:p,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:f,inputPosition:m,verticalAlign:x}=u,y=(t,e)=>i&&this.titleCollision(d)&&"top"===x&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,b=d.plotLeft;if(c&&f&&m){let t=f.x-d.spacing[3];if(h){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),l.forEach((t,e)=>{i+=t.width||0,e!==l.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}b-=d.spacing[3];var v=y(h,f);this.alignButtonGroup(v),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),c.placed=h.placed=d.hasLoaded}let e=0,i=(p&&(e=y(p,m),"left"===m.align?t=b:"right"===m.align&&(t=-Math.max(d.axisOffset[1],-e)),p.align({y:m.y,width:p.getBBox().width,align:m.align,x:m.x+t-2},!0,d.spacingBox),p.placed=d.hasLoaded),this.handleCollision(e),c.align({verticalAlign:x},!0,d.spacingBox),c.alignAttr.translateY),s=c.getBBox().height+20,r=0;"bottom"===x&&(v=d.legend&&d.legend.options,r=i-(s=s+(v&&"bottom"===v.verticalAlign&&v.enabled&&!v.floating?d.legend.legendHeight+C(v.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===x?(u.floating&&(r=0),d.titleOffset&&d.titleOffset[0]&&(r=d.titleOffset[0]),r+=d.margin[0]-d.spacing[0]||0):"middle"===x&&(m.y===f.y?r=i:(m.y||f.y)&&(m.y<0||f.y<0?r-=Math.min(m.y,f.y):r=i-s)),c.translate(u.x,u.y+Math.floor(r));let{minInput:o,maxInput:a,dropdown:n}=this;u.inputEnabled&&o&&a&&(o.style.marginTop=c.translateY+"px",a.style.marginTop=c.translateY+"px"),n&&(n.style.marginTop=c.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:r}=this,o=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=o.x-i.spacing[3];"right"===o.align?n+=t-a:"center"===o.align&&(n-=a/2),r&&r.align({y:o.y,width:C(e,this.initialButtonGroupWidth),align:o.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,r=t.hasLoaded?"animate":"attr",o=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[r]({x:C(a+o.x,a)}),n+=o.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!o)&&(e=a.alignAttr.translateX+a.alignOptions.x-r+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=o.alignAttr.translateX+o.getBBox().x)+t&&s{a&&o&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-r?0:-r),translateY:a.alignAttr.translateY+o.getBBox().height+10})};if(o){if("always"===e)return this.collapseButtons(),void(s(i())&&l());"never"===e&&this.expandButtons()}a&&o?h.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&l()):l():"responsive"===e&&this.expandButtons():o&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var r,o;t&&s&&({translateX:o=0,translateY:r=0}=t,o=e.plotLeft+o,i.attr({x:o,y:r}).show(),P(s,{left:o+"px",top:r+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),P(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,r=t.y,o=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+r:0;var h=Math.min(a,o);return(a<0&&o<0||0t()),i.eventsToUnbind=void 0),r(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof d.HTMLElement&&o(t)),t!==l.prototype[e]&&(i[e]=null)},this)}}return k(l.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),l}),e(t,"Series/PathUtilities.js",[],function(){function l(e,i){let s=[];for(let t=0;t>1].xMin))r=1+a;else{if(!(n<0))return a;o=a-1}return 0=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return-1}function E(e){let i=[];if(e.length){i.push(["M",e[0].start.x,e[0].start.y]);for(let t=0;tT(e.y-t.y))?"x":"y",l,d,c,p;function u(t,e,i,s,r){let o={x:t.x,y:t.y};return o[e]=i[s||e]+(r||0),o}function g(t,e,i){var s=T(e[i]-t[i+"Min"])>T(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}return p=-1=t[h]==d[h]>=p[h]&&(c=t[h="y"===h?"x":"y"]T(e.y-t.y)),s=i?"x":"y",r=[],o=g.obstacleMetrics,f=A(t.x,e.x)-o.maxWidth-10,m=w(t.x,e.x)+o.maxWidth+10,x=A(t.y,e.y)-o.maxHeight-10,y=w(t.y,e.y)+o.maxHeight+10,a,n,h,b=!1,v=g.chartObstacles,l=P(v,m),d=P(v,f);function k(t,e,i){let s,r,o,a;var n=t.x=s.x);){if(v[h].xMin<=r.x&&v[h].xMax>=s.x&&v[h].yMin<=o.y&&v[h].yMax>=a.y)return i?{y:t.y,x:t.x=o[n+"Max"],c=t[n+"Min"]<=o[n+"Min"],p=t[n+"Max"]>=a[n+"Max"],u=t[n+"Min"]<=a[n+"Min"],g=T(t[n+"Min"]-e[n]),f=T(t[n+"Max"]-e[n]),m=T(g-f)<10?e[n]Math.PI;)u-=s;return g=Math.tan(u),u>-n&&u<=n?(x=-1,f=!0):u>n&&u<=Math.PI-n?x=-1:u>Math.PI-n||u<=-(Math.PI-n)?(m=-1,f=!0):m=-1,f?(p.x+=m*h,p.y+=x*h*g):(p.x+=a/(2*g)*m,p.y+=x*l),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}}),e(t,"Gantt/Pathfinder.js",[t["Gantt/Connection.js"],t["Gantt/PathfinderAlgorithms.js"],t["Gantt/PathfinderComposition.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(n,t,i,h,e){let{addEvent:s,defined:r,pick:l,splat:d}=e,c=Math.max,p=Math.min;class o{static compose(t,e){i.compose(t,o,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],s(t,"redraw",function(){this.pathfinder.update()})}update(t){let r=this.chart,o=this,a=o.connections;o.connections=[],r.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(e){let i,t=e.options,s=(t&&t.dependency&&(t.connect=t.dependency),e.options?.connect&&d(e.options.connect));e.visible&&!1!==e.isInside&&s&&s.forEach(function(t){(i=r.get("string"==typeof t?t:t.to))instanceof h&&i.series.visible&&i.visible&&!1!==i.isInside&&o.connections.push(new n(e,i,"string"==typeof t?{}:t))})})});for(let t=0,i,s,e=a.length,r=o.connections.length;ti.yMin-s&&e.yMin-si.xMin-s&&e.xMin-si.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,n=o?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return o&&r?s?t(e,i,Math.floor(s/2)):1/0:p(a,n)}(i[e],i[t]))<80&&o.push(s);return o.push(80),c(Math.floor(o.sort(function(t,e){return t-e})[Math.floor(o.length/10)]/2-1),1)}(n),n.forEach(function(t){t.xMin-=e,t.xMax+=e,t.yMin-=e,t.yMax+=e})),n}getObstacleMetrics(t){let e=0,i=0,s,r,o=t.length;for(;o--;)s=t[o].xMax-t[o].xMin,r=t[o].yMax-t[o].yMin,e{point.x} - {point.x2}
',pointFormat:' {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}}),e(t,"Series/XRange/XRangePoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["column"],s=e["extend"];class r extends i{static getColorByCategory(t,e){var i=t.options.colors||t.chart.options.colors,t=i?i.length:t.chart.options.chart.colorCount,e=e.y%t;return{colorIndex:e,color:i&&i[e]}}resolveColor(){var t,e=this.series;e.options.colorByPoint&&!this.options.color?(t=r.getColorByCategory(e,this),e.chart.styledMode||(this.color=t.color),this.options.colorIndex||(this.colorIndex=t.colorIndex)):this.color=this.options.color||e.color}constructor(t,e){super(t,e),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let t=super.getLabelConfig.call(this),e=this.series.yAxis.categories;return t.x2=this.x2,t.yCategory=this.yCategory=e&&e[this.y],t.key=this.category||this.name,t}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return s(r.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),r}),e(t,"Series/XRange/XRangeSeries.js",[t["Core/Globals.js"],t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"],t["Series/XRange/XRangeSeriesDefaults.js"],t["Series/XRange/XRangePoint.js"]],function(t,e,i,s,r,o){let{composed:a,noop:n}=t,f=e["parse"],h=i.seriesTypes["column"],{addEvent:l,clamp:D,crisp:B,defined:j,extend:d,find:c,isNumber:I,isObject:R,merge:G,pick:N,pushUnique:p,relativeLength:z}=s;function u(){let t,e;if(this.isXAxis){for(var i of(t=N(this.dataMax,-Number.MAX_VALUE),this.series))if(i.x2Data)for(var s of i.x2Data)s&&s>t&&(t=s,e=!0);e&&(this.dataMax=t)}}class g extends h{static compose(t){p(a,"Series.XRange")&&l(t,"afterGetSeriesExtremes",u)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){var t=()=>{for(var t of this.chart.series){var e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}},e=(t(),super.getColumnMetrics());return t(),e}cropData(t,e,i,s){let r=super.cropData(this.x2Data,e,i,s);return r.xData=t.slice(r.start,r.end),r}findPointIndex(e){let t,{cropStart:i,points:s}=this,r=e["id"];var o;return r&&(o=c(s,t=>t.id===r),t=o?o.index:void 0),void 0===t&&(o=c(s,t=>t.x===e.x&&t.x2===e.x2&&!t.touched),t=o?o.index:void 0),this.cropped&&I(t)&&I(i)&&t>=i&&(t-=i),t}alignDataLabel(t){var e=t.plotX;t.plotX=N(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:t.shapeArgs.width+"px"}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,r=this.options,o=r.minPointLength||0,a=(t.shapeArgs&&t.shapeArgs.width||0)/2,n=this.pointXOffset=s.offset,h=N(t.x2,t.x+(t.len||0)),l=r.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(h,0,0,0,1),g=Math.abs(u-p),f=this.chart.inverted,m=N(r.borderWidth,1),x,y,b=s.offset,v=Math.round(s.width),k,M,S,C;o&&((x=o-g)<0&&(x=0),p-=x/2,u+=x/2),p=Math.max(p,-10),u=D(u,-10,e.len+10),j(t.options.pointWidth)&&(b-=(Math.ceil(t.options.pointWidth)-v)/2,v=Math.ceil(t.options.pointWidth)),r.pointPlacement&&I(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,r.pointPlacement));var A=B(Math.min(p,u),m),w=B(Math.max(p,u),m)-A,T=Math.min(z("object"==typeof l?l.radius:l||0,v),Math.min(w,v)/2),A={x:A,y:B((t.plotY||0)+b,m),width:w,height:v,r:T};t.shapeArgs=A,f?t.tooltipPos[1]+=n+a:t.tooltipPos[0]-=a+n-A.width/2,M=(k=A.x)+A.width,k<0||M>e.len?(k=D(k,0,e.len),S=(M=D(M,0,e.len))-k,t.dlBox=G(A,{x:k,width:M-k,centerX:S?S/2:null})):t.dlBox=null;let P=t.tooltipPos,O=f?1:0,E=f?0:1,L=this.columnMetrics?this.columnMetrics.offset:-s.width/2;f?P[O]+=A.width/2:P[O]=D(P[O]+(e.reversed?-1:0)*A.width,e.left-c,e.left+e.len-c-1),P[E]=D(P[E]+(f?-1:1)*L,i.top-d,i.top+i.len-d-1),(y=t.partialFill)&&(R(y)&&(y=y.amount),I(y)||(y=0),t.partShapeArgs=G(A),C=Math.max(Math.round(g*y+t.plotX-p),0),t.clipRectArgs={x:e.reversed?A.x+g-C:A.x,y:A.y,width:C,height:A.height})}translate(){for(var t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,r=t.shapeType,o=t.shapeArgs,a=t.partShapeArgs,n=t.clipRectArgs,h=t.state,l=i.states[h||"normal"]||{},d=void 0===h?"attr":e,c=this.pointAttribs(t,h),p=N(this.chart.options.chart.animation,l.animation),u=t.graphic,g=t.partialFill;t.isNull||!1===t.visible?u&&(t.graphic=u.destroy()):(u?u.rect[e](o):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[r](G(o)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),a&&(u.partRect?(u.partRect[e](G(a)),u.partialClipRect[e](G(n))):(u.partialClipRect=s.clipRect(n.x,n.y,n.width,n.height),u.partRect=s[r](a).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),a)&&(R(g)||(g={}),e=(g=R(i.partialFill)?G(i.partialFill,g):g).fill||f(c.fill).brighten(-.3).get()||f(t.color||this.color).brighten(-.3).get(),c.fill=e,u.partRect[d](c,p).shadow(i.shadow)))}drawPoints(){var t,e=this.getAnimationVerb();for(t of this.points)this.drawPoint(t,e)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){var e=t.shapeArgs,i=t.plotX,t=t.plotY;return e?void 0!==i&&void 0!==t&&0<=t&&t<=this.yAxis.len&&0<=(e.x||0)+(e.width||0)&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return g.defaultOptions=G(h.defaultOptions,r),d(g.prototype,{pointClass:o,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:i.series.prototype.animate,autoIncrement:n,buildKDTree:n}),i.registerSeriesType("xrange",g),g}),e(t,"masters/modules/xrange.src.js",[t["Core/Globals.js"],t["Series/XRange/XRangeSeries.js"]],function(t,e){return e.compose(t.Axis),t}),e(t,"Series/Gantt/GanttPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["xrange"],s=e["pick"];class r extends i{static setGanttPointAliases(i){function t(t,e){void 0!==e&&(i[t]=e)}t("x",s(i.start,i.x)),t("x2",s(i.end,i.x2)),t("partialFill",s(i.completed,i.partialFill))}applyOptions(t,e){t=super.applyOptions(t,e);return r.setGanttPointAliases(t),t}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return r}),e(t,"Series/Gantt/GanttSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let d=t["isNumber"];return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,r=t.tooltipOptions,o=this.options.milestone,a=r.xDateFormat,n=""+(this.name||this.yCategory)+"";if(r.pointFormat)return this.tooltipFormatter(r.pointFormat);!a&&d(this.start)&&(a=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));var h=t.chart.time.dateFormat(a,this.start),l=t.chart.time.dateFormat(a,this.end);return n=n+"
"+(o?h+"
":"Start: "+h+"
End: "+l+"
")}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),e(t,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(h,t){var e;let{addEvent:s,find:i,fireEvent:u,isArray:r,isNumber:g,pick:f}=t;{function o(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function a(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function n(){let s=this.brokenAxis;if(s?.hasBreaks){let e=this.tickPositions,t=this.tickPositions.info,i=[];for(let t=0;te.to||o>e.from&&ae.from&&ae.from&&a>e.to&&ao&&i>=this.basePointRange&&(o=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>o&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),r.stacking&&this.options.stacking&&((r.stacking.stacks[this.stackKey][n]=new h(r,r.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",l),s(e,"afterInit",o),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=p,t.gappedPath=m,s(i,"afterGeneratePoints",d),s(i,"afterRender",c)}return e};class x{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,r=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=r:s=s);o++)(r.to=t)break;if(x.isInBreak(r,t)){s-=t-r.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)l-=a;for(;l{t.getOffset()})}i&&t.apply(this)}function m(m){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:e,horiz:i,left:s,offset:r,opposite:o,options:a,top:n,width:h}=this,l=this.tickSize(),d=t&&t.getBBox().width,c=a.title.x,p=a.title.y,u=x(a.title.margin,i?5:10),g=t?this.chart.renderer.fontMetrics(t).f:0,f=(i?n+e:s)+(i?1:-1)*(o?-1:1)*(l?l[0]/2:0)+(this.side===y.bottom?g:0);m.titlePosition.x=i?s-(d||0)/2-u+c:f+(o?h:0)+r+c,m.titlePosition.y=i?f-(o?e:0)+(o?g:-g)/2+r+p:n-u+p}}function v(){var{chart:r,options:{grid:o={}},userOptions:a}=this;if(o.enabled){var e=this;let t=e.options;t.labels.align=x(t.labels.align,"center"),e.categories||(t.showLastLabel=!1),e.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}if(o.columns){let i=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++st.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;for(var n=this.tickmarkOffset,h=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[s].label)&&(n{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!r(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||1t.setScale())}function w(t){var e,{horiz:i,maxLabelDimensions:s,options:{grid:r={}}}=this;r.enabled&&s&&(e=2*this.options.labels.distance,i=i?r.cellHeight||e+s.height:e+s.width,o(t.tickSize)?t.tickSize[0]=i:t.tickSize=[i,0])}function T(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function P(e){let t=this["grid"];(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function O(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&r(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new j(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function E(r){let o=this.label,a=this.axis,n=a.reversed,h=a.chart,t=a.options.grid||{},l=a.options.labels,d=l.align,c=y[a.side],e=r.tickmarkOffset,i=a.tickPositions,p=this.pos-e,u=b(i[r.index+1])?i[r.index+1]-e:(a.max||0)+e,s=a.tickSize("tick"),g=s?s[0]:0,f=s?s[1]/2:0;if(!0===t.enabled){let t,e,i,s;var m,x;"top"===c?e=(t=a.top+a.offset)-g:"bottom"===c?t=(e=h.chartHeight-a.bottom+a.offset)+g:(t=a.top+a.len-(a.translate(n?u:p)||0),e=a.top+a.len-(a.translate(n?p:u)||0)),"right"===c?s=(i=h.chartWidth-a.right+a.offset)+g:"left"===c?i=(s=a.left+a.offset)-g:(i=Math.round(a.left+(a.translate(n?u:p)||0))-f,s=Math.min(Math.round(a.left+(a.translate(n?p:u)||0))-f,a.left+a.len)),this.slotWidth=s-i,r.pos.x="left"===d?i:"right"===d?s:i+(s-i)/2,r.pos.y=e+(t-e)/2,o&&(m=h.renderer.fontMetrics(o),x=o.getBBox().height,l.useHTML?r.pos.y+=m.b+-x/2:(x=Math.round(x/m.h),r.pos.y+=(m.b-(m.h-m.f))/2+-((x-1)*m.h)/2)),r.pos.x+=a.horiz&&l.x||0}}function L(a){let{axis:n,value:h}=a;if(n.options.grid&&n.options.grid.enabled){let t,e=n.tickPositions,i=(n.linkedParent||n).series[0],s=h===e[0],r=h===e[e.length-1],o=i&&d(i.options.data,function(t){return t[n.isXAxis?"x":"y"]===h});o&&i.is("gantt")&&(t=c(o),l.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(t)),a.isFirst=s,a.isLast=r,a.point=t}}function D(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,r=s[0],o=s[1],a=s[s.length-1],n=s[s.length-2],h=this.linkedParent&&this.linkedParent.min,l=this.linkedParent&&this.linkedParent.max,d=h||this.min,c=l||this.max,p=this.tickInterval,u=b(d)&&r+p<=d&&d{t.side!==i.side||t.options.isInternal||(a=e,t===r&&(o=e))}),a===o&&(!b(e)||s.length===e))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,r=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||r.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),r}}return t.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},t.W=function(t){let e=this,i=new this.Date(t),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(t){e.set(t,i,0)}),(this.get("Day",i)+6)%7),r=new this.Date(i.valueOf()),o=(this.set("Date",r,this.get("Date",i)-s+3),new this.Date(this.get("FullYear",r),0,1));return 4!==this.get("Day",o)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",o))%7)),(1+Math.floor((r.valueOf()-o.valueOf())/6048e5)).toString()},{compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=g,a(t.prototype,"unsquish",B),a(t.prototype,"getOffset",f),s(t,"init",O),s(t,"afterGetTitlePosition",m),s(t,"afterInit",v),s(t,"afterRender",k),s(t,"afterSetAxisTranslation",M),s(t,"afterSetOptions",S),s(t,"afterSetOptions",C),s(t,"afterSetScale",A),s(t,"afterTickSize",w),s(t,"trimTicks",D),s(t,"destroy",P),s(e,"afterSetChartSize",T),s(i,"afterGetLabelPosition",E),s(i,"labelFormat",L)),t}}}),e(t,"Gantt/Tree.js",[t["Core/Utilities.js"]],function(t){let{extend:u,isNumber:g,pick:f}=t;function m(s,t,r,e,o,a){let i=a&&a.after,n=a&&a.before,h={data:e,depth:r-1,id:s,level:r,parent:t||""},l=0,d=0,c,p;"function"==typeof n&&n(h,a);t=(o[s]||[]).map(t=>{var e=m(t.id,s,r+1,t,o,a),i=t.start||NaN,t=!0===t.milestone?i:t.end||NaN;return c=!g(c)||ip?t:p,l=l+1+e.descendants,d=Math.max(e.height+1,d),e});return e&&(e.start=f(e.start,c),e.end=f(e.end,p)),u(h,{children:t,descendants:l,height:d}),"function"==typeof i&&i(h,a),h}return{getNode:m,getTree:function(t,e){return m("",null,1,null,function(){let r=[],i=t.reduce((t,e)=>{var{parent:i="",id:s}=e;return void 0===t[i]&&(t[i]=[]),t[i].push(e),s&&r.push(s),t},{});return Object.keys(i).forEach(t=>{var e;""!==t&&-1===r.indexOf(t)&&(e=i[t].map(function(t){let{...e}=t;return e}),i[""].push(...e),delete i[t])}),i}(),e)}}}),e(t,"Core/Axis/TreeGrid/TreeGridTick.js",[t["Core/Utilities.js"]],function(t){let{addEvent:w,removeEvent:T,isObject:P,isNumber:O,pick:E,wrap:i}=t;function s(){this.treeGrid||(this.treeGrid=new e(this))}function r(t,e,i,s,r,o,a,n,h){let l=E(this.options&&this.options.labels,o),d=this.pos,c=this.axis,p="treegrid"===c.type,u=t.apply(this,[e,i,s,r,l,a,n,h]);return p&&({width:o=0,padding:t=c.linkedParent?0:5}=l&&P(l.symbol,!0)?l.symbol:{},e=l&&O(l.indentation)?l.indentation:0,r=(s=(i=c.treeGrid.mapOfPosToGridNode)&&i[d])&&s.depth||1,u.x+=o+2*t+(r-1)*e),u}function o(p){let{pos:t,axis:e,label:u,treeGrid:i,options:s}=this,r=i?.labelIcon,o=u?.element,{treeGrid:a,options:n,chart:h,tickPositions:l}=e,d=a.mapOfPosToGridNode,c=E(s?.labels,n?.labels),g=c&&P(c.symbol,!0)?c.symbol:{},f=d&&d[t],{descendants:m,depth:x}=f||{},y=f&&m&&0{t&&!t.attachedTreeGridEvents&&(w(t.element,"mouseover",function(){u.addClass("highcharts-treegrid-node-active"),u.renderer.styledMode||u.css({textDecoration:"underline"})}),w(t.element,"mouseout",function(){var t=u,e=c;e=P(e.style)?e.style:{},t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:e.textDecoration||"none"})}),w(t.element,"click",function(){i.toggleCollapse()}),t.attachedTreeGridEvents=!0)})}else r&&(T(o),u?.css({cursor:"default"}),r.destroy())}class e{static compose(t){let e=t.prototype;e.toggleCollapse||(w(t,"init",s),i(e,"getLabelPosition",r),i(e,"renderLabel",o),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.collapse(r),s.setBreaks(r,E(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;var a;r&&o&&(a=o[e],a=s.expand(a),r.setBreaks(a,E(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.toggleCollapse(r),s.setBreaks(r,E(t,!0)))}}return class{static compose(t){let e=t.prototype;e.toggleCollapse||(w(t,"init",s),i(e,"getLabelPosition",r),i(e,"renderLabel",o),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.collapse(r),s.setBreaks(r,E(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;var a;r&&o&&(a=o[e],a=s.expand(a),r.setBreaks(a,E(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=e.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.toggleCollapse(r),s.setBreaks(r,E(t,!0)))}}}),e(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(y,t){let{extend:p,isArray:h,isNumber:l,isObject:d,merge:c,pick:b,relativeLength:r}=t;return{getColor:function(t,e){let i,s,r,o,a,n,h=e.index,l=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,f=p.points,m=p.chart.options.chart;return t&&(i=f[t.i],s=l[t.level]||{},i&&s.colorByPoint&&(o=i.index%(u?u.length:m.colorCount),r=u&&u[o]),p.chart.styledMode||(a=b(i&&i.options.color,s&&s.color,r,d&&(t=d,(x=s&&s.colorVariation)&&"brightness"===x.key&&h&&g?y.parse(t).brighten(x.to*(h/g)).get():t),p.color)),n=b(i&&i.options.colorIndex,s&&s.colorIndex,o,c,e.colorIndex)),{color:a,colorIndex:n};var x},getLevelOptions:function(t){let o,e,i,a,s,r,n={};if(d(t))for(a=l(t.from)?t.from:1,r=t.levels,e={},o=d(t.defaults)?t.defaults:{},h(r)&&(e=r.reduce((t,e)=>{let i,s,r;return d(e)&&l(e.level)&&(s=b((r=c({},e)).levelIsConstant,o.levelIsConstant),delete r.levelIsConstant,delete r.level,d(t[i=e.level+(s?0:a-1)])?c(!0,t[i],r):t[i]=r),t},{})),s=l(t.to)?t.to:1,i=0;i<=s;i++)n[i]=c({},o,d(e[i])?e[i]:{});return n},getNodeWidth:function(t,e){var{chart:t,options:i}=t,{nodeDistance:i=0,nodeWidth:s=0}=i,{plotSizeX:t=1}=t;if("auto"!==s)return r(s,t);if("string"==typeof i&&/%$/.test(i))return t/(e+parseFloat(i)/100*(e-1));s=Number(i);return(t+s)/(e||1)-s},setTreeValues:function s(r,o){let t=o.before,e=o.idRoot,i=o.mapIdToNode[e],a=!1!==o.levelIsConstant,n=o.points[r.i],h=n&&n.options||{},l=[],d=0;r.levelDynamic=r.level-(a?0:i.level),r.name=b(n&&n.name,""),r.visible=e===r.id||!0===o.visible,(r="function"==typeof t?t(r,o):r).children.forEach((t,e)=>{var i=p({},o);p(i,{index:e,siblings:r.children.length,visible:r.visible}),t=s(t,i),l.push(t),t.visible&&(d+=t.val)});var c=b(h.value,d);return r.visible=0<=c&&(0"treegrid"===t.type).forEach(function(t){let e=t.options||{},i=e.labels,s=t.uniqueNames,r=e.max,o=!t.treeGrid.mapOfPosToGridNode||t.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),a=0,n,h;if(o){if(n=t.series.reduce(function(e,i){return i.visible&&((i.options.data||[]).forEach(function(t){i.options.keys&&i.options.keys.length&&(t=i.pointClass.prototype.optionsToObject.call({series:i},t),i.pointClass.setGanttPointAliases(t)),g(t,!0)&&(t.seriesIndex=a,e.push(t))}),!0===s&&a++),e},[]),r&&n.lengthe.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),h(r,"afterBreaks",function(){"yAxis"===r.coll&&!r.staticScale&&r.chart.options.chart.height&&(r.isDirty=!0)}),i=m({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}},uniqueNames:!1},i,{reversed:!0})),t.apply(r,[e,i,s]),o&&(r.hasNames=!0,r.options.showLastLabel=!0)}function C(t){let e=this.options,i="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;var s;"treegrid"===this.type?(this.min=x(this.userMin,e.min,this.dataMin),this.max=x(this.userMax,e.max,this.dataMax),c(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i&&(s=i.getExtremes(),this.min=x(s.min,s.dataMin),this.max=x(s.max,s.dataMax),this.tickPositions=i.tickPositions),this.linkedParent=i):t.apply(this,Array.prototype.slice.call(arguments,1))}function A(t){let i=this;"treegrid"===this.type&&i.visible&&i.tickPositions.forEach(function(t){let e=i.ticks[t];e.label&&e.label.attachedTreeGridEvents&&(s(e.label.element),e.label.attachedTreeGridEvents=!1)}),t.apply(i,Array.prototype.slice.call(arguments,1))}class w{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),y(t,"generateTick",M),y(t,"init",S),y(t,"setTickInterval",C),y(t,"redraw",A),t.utils={getNode:a.getNode},l=l||s}return o.compose(e,t,s),r.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(r){let t=this.axis,o=t.chart;t.series.forEach(function(i){var s=i.options.data;if(r.id&&s){let t=o.get(r.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=r.collapsed,e.collapsed=r.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,r=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){e=+e;return!(e>=s&&e<=r)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}return class{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),y(t,"generateTick",M),y(t,"init",S),y(t,"setTickInterval",C),y(t,"redraw",A),t.utils={getNode:a.getNode},l=l||s}return o.compose(e,t,s),r.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(r){let t=this.axis,o=t.chart;t.series.forEach(function(i){var s=i.options.data;if(r.id&&s){let t=o.get(r.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=r.collapsed,e.collapsed=r.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,r=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){return!((e=+e)>=s&&e<=r)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}}),e(t,"Series/Gantt/GanttSeries.js",[t["Series/Gantt/GanttPoint.js"],t["Series/Gantt/GanttSeriesDefaults.js"],t["Gantt/Pathfinder.js"],t["Core/Series/SeriesRegistry.js"],t["Extensions/StaticScale.js"],t["Core/Axis/TreeGrid/TreeGridAxis.js"],t["Core/Utilities.js"]],function(t,e,r,i,o,a,s){let{series:n,seriesTypes:{xrange:h}}=i,{extend:l,isNumber:d,merge:c}=s;class p extends h{static compose(t,e,i,s){h.compose(t),e&&(o.compose(t,e),i)&&(r.compose(e,i.prototype.pointClass),s&&a.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,r=t.shapeArgs,o=t.plotY,a=t.selected&&"select",n=i.stacking&&!i.borderRadius,h=t.graphic,l;t.options.milestone?d(o)&&null!==t.y&&!1!==t.visible?(l=s.symbols.diamond(r.x||0,r.y||0,r.width||0,r.height||0),h?h[e]({d:l}):t.graphic=h=s.path(l).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,a)).shadow(i.shadow,null,n)):h&&(t.graphic=h.destroy()):super.drawPoint(t,e)}translatePoint(t){var e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}return p.defaultOptions=c(h.defaultOptions,e),l(p.prototype,{pointArrayMap:["start","end","y"],pointClass:t,setData:n.prototype.setData}),i.registerSeriesType("gantt",p),p}),e(t,"masters/modules/gantt.src.js",[t["Core/Globals.js"],t["Extensions/ArrowSymbols.js"],t["Gantt/Connection.js"],t["Extensions/CurrentDateIndication.js"],t["Core/Chart/GanttChart.js"],t["Stock/Navigator/Navigator.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Series/Gantt/GanttSeries.js"]],function(t,e,i,s,r,o,a,n,h){return t.Connection=t.Connection||i,t.GanttChart=t.GanttChart||r,t.Navigator=t.Navigator||o,t.RangeSelector=t.RangeSelector||a,t.Scrollbar=t.Scrollbar||n,t.ganttChart=t.GanttChart.ganttChart,e.compose(t.SVGRenderer),s.compose(t.Axis,t.PlotLineOrBand),h.compose(t.Axis,t.Chart,t.Series,t.Tick),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t}),e(t,"masters/highcharts-gantt.src.js",[t["masters/highcharts.src.js"]],function(t){return t.product="Highcharts Gantt",t}),(t["masters/highcharts-gantt.src.js"]._modules=t)["masters/highcharts-gantt.src.js"]}); \ No newline at end of file diff --git a/assets/js/external/highcharts/highcharts.min.js b/assets/js/external/highcharts/highcharts.min.js index 7d9baad..210ff4b 100644 --- a/assets/js/external/highcharts/highcharts.min.js +++ b/assets/js/external/highcharts/highcharts.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define("highcharts/highcharts",function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(r){"use strict";var t={};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),r&&"function"==typeof CustomEvent&&r.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}return e(t,"Core/Globals.js",[],function(){var t,i=t={SVG_NS:"http://www.w3.org/2000/svg",product:"Highcharts",version:"11.4.7"};return i.win=void 0!==r?r:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&parseInt(i.userAgent.split("Firefox/")[1],10)<4,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;var e;return i.isMS||(e=Object.defineProperty({},"passive",{get:function(){t=!0}}),i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))),t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,t}),e(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){let i,{charts:e,doc:a,win:h}=n;function l(t,e,i,s){var r=e?"Highcharts error":"Highcharts warning";let o=f(t=32===t?r+": Deprecated member":t),a=o?r+` #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let i="";o&&(a+="?"),C(s,function(t,e){i+=` - - ${e}: `+t,o&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=i}w(n,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);h.console&&-1===l.messages.indexOf(a)&&console.warn(a)}),l.messages.push(a)}function d(t,e){return parseInt(t,e||10)}function c(t){return"string"==typeof t}function p(t){t=Object.prototype.toString.call(t);return"[object Array]"===t||"[object Array Iterator]"===t}function u(t,e){return!(!t||"object"!=typeof t||e&&p(t))}function o(t){return u(t)&&"number"==typeof t.nodeType}function g(t){var e=t&&t.constructor;return!(!u(t,!0)||o(t)||!e||!e.name||"Object"===e.name)}function f(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&-1/0{m(t)?i.setAttribute(e,t):r?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?o(e,t):C(t,o),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function b(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,o)&&o.preventDefault()})}t&&!o.defaultPrevented&&t.call(s,o)}C({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var r=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t,o=(Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={}),r.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(s),o[e].sort((t,e)=>t.order-e.order),function(){M(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:v,defined:m,destroyObjectProperties:function(i,s,r){C(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&r||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,r,o,a){let n=i?r:t;C(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let o=h.getComputedStyle(s,void 0);return o&&(r=o.getPropertyValue(t),b(e,"opacity"!==t)&&(r=d(r))),r},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return k(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:C,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:b,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:M,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var r=t.length;for(e=0;e{try{var e="shortOffset,"+(o.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:o.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),r=-36e5*(i+s/60);if(n(r))return r}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return u.defaultOptions.lang&&u.defaultOptions.lang.invalidDate||"";i=v(i,"%Y-%m-%d %H:%M:%S");let r=this,e=new this.Date(s),o=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=u.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return g(b({a:p?p[a]:c[a].substr(0,3),A:c[a],d:f(n),e:f(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:f(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:f(o),k:o,I:f(o%12||12),l:o%12||12,M:f(this.get("Minutes",e)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:f(this.get("Seconds",e)),L:f(Math.floor(s%1e3),3)},u.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(r,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=r(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let r,o,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),u=t.unitRange,g=t.count||1;if(s=v(s,1),y(e)){h.set("Milliseconds",p,u>=S.second?0:g*Math.floor(h.get("Milliseconds",p)/g)),u>=S.second&&h.set("Seconds",p,u>=S.minute?0:g*Math.floor(h.get("Seconds",p)/g)),u>=S.minute&&h.set("Minutes",p,u>=S.hour?0:g*Math.floor(h.get("Minutes",p)/g)),u>=S.hour&&h.set("Hours",p,u>=S.day?0:g*Math.floor(h.get("Hours",p)/g)),u>=S.day&&h.set("Date",p,u>=S.month?1:Math.max(1,g*Math.floor(h.get("Date",p)/g))),u>=S.month&&(h.set("Month",p,u>=S.year?0:g*Math.floor(h.get("Month",p)/g)),o=h.get("FullYear",p)),u>=S.year&&(o-=o%g,h.set("FullYear",p,o)),u===S.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*S.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(r=1;tt){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=e["isTouchDevice"],{fireEvent:a,merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:r,merge:o,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,r,o=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(o&&o!==l)return new o(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(r=l.parsers[s]).regex.exec(t))&&(i=r.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&r(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=o(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(r(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(o),!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[o,o];function g(t,e){for(;t.length{t=h(t.options.animation);o=p(e)&&n(e.defer)?s.defer:Math.max(o,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(o=0),{defer:Math.max(0,o-a),duration:Math.min(o,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:f}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:r,css:u,error:g,isFunction:i,isString:o,objectEach:f,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(s){return f(s,(e,t)=>{let i=!0;-1===m.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?o(e)&&m.allowedReferences.some(t=>0===e.indexOf(t)):i)||(g(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),o(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let r;var o=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=m.bypassHTMLFiltering;if(o)if("#text"===o)r=a;else if(-1!==m.allowedTags.indexOf(o)||n){let t="svg"!==o&&l.namespaceURI||c,e=d.doc.createElementNS(t,o),i=s.attributes||{};f(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:m.filterUserAttributes(i)),s.style&&u(e,s.style),a&&e.appendChild(a),h(s.children||[],e),r=e}else g(33,!1,void 0,{"Invalid tagName in config":o});r&&l.appendChild(r),e=r}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=r("div");t.innerHTML=e,i={body:t}}let o=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var r=t.attributes;if(r){let e={};[].forEach.call(r,t=>{"data-style"===t.name?s.style=m.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{o(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>o(t,s)),s}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=h,m.bypassHTMLFiltering=!1,m}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:b,defaultTime:v}=t,{extend:r,getNestedProperty:S,isArray:o,isNumber:u,isObject:a,pick:k,pInt:g}=e,C={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!o(i)&&i.map((t,e)=>M(s.body,r(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function M(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,u=/\.(\d)/,g=b.lang,f=c&&c.time||v,m=c&&c.numberFormatter||w,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:S(t,d))},r,o,a=0,n;for(;null!==(r=e.exec(t));){var h,l=i.exec(r[1]),y=(l&&(r=l,n=!0),o&&o.isBlock||(o={ctx:d,expression:r[1],find:r[0],isBlock:"#"===r[1].charAt(0),start:r.index,startInner:r.index+r[0].length,length:r[0].length}),r[1].split(" ")[0].replace("#","")),y=(C[y]&&(o.isBlock&&y===o.fn&&a++,o.fn||(o.fn=y)),"else"===r[1]);if(o.isBlock&&o.fn&&(r[1]==="/"+o.fn||y)?a?y||a--:(h=o.startInner,h=t.substr(h,r.index-h),void 0===o.body?(o.body=h,o.startInner=r.index+r[0].length):o.elseBody=h,o.find+=h+r[0],y||(s.push(o),o=void 0)):o.isBlock||s.push(o),l&&!o?.isBlock)break}return s.forEach(i=>{let s,r,{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(r=C[h].length;r--;)t.unshift(x(e[r+1]));s=C[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=M(s?o:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(u)||["","-1"])[1],10),null!==s&&(s=m(s,l,g.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(k(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>t;)f=e[c=Math.floor(p)],S(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(k(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:v(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=b(m-f.size*f.align,0,s-f.size);for(c=e.length,g=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(o[c].pos=t.pos+e,void 0!==r&&Math.abs(o[c].pos-o[c].target)>r?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||s)-.1*s,o.reducedLen>.1*s&&i(o,s,r),!0):(e+=o[c].size,c++,!1)))}),k(o,a),o}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,m,i,e){let{animate:o,animObject:a,stop:d}=t,{deg2rad:R,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:r,attr:c,createElement:p,crisp:u,css:x,defined:y,erase:g,extend:b,fireEvent:v,isArray:S,isFunction:k,isObject:f,isString:C,merge:M,objectEach:w,pick:A,pInt:T,pushUnique:P,replaceNested:L,syncTimeout:O,uniqueKey:E}=e;class D{_defaultGetter(t){let e=A(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||C(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),A(i,l[p],l)),p=t.align,u=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(r+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(r),"bottom"===u?n=1:"middle"===u&&(n=2),n&&(o+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(A(e,this.renderer.globalAnimation,!0)),r=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),O(()=>{this.element&&o(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let r=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(r.style.fill)):t).split(" "),o=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"}),r.querySelector("textPath")||r),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(r.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let r=this["element"],o=D.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,r):(w(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==o.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,r)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=E()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),b(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,i=u(i,e),s=u(s,e);return b(t,{x:i,y:s,width:u(r,e)-i,height:u(o,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,l,d,c,p,u,g=[],f;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,l=t.stops,p=i.radialReference,S(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!y(a.gradientUnits)&&(n=a,a=M(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),w(a,function(t,e){"id"!==e&&g.push(e,t)}),w(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=E();let e=h[g]=s.createElement(o).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(r=m.parse(t[1])).get("rgb"),r.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let i=this.styles,s={},r=this.element,o,a=!i;if(i&&w(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?b(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),b(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let e=M(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(r,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*A(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,r="SPAN"===t.nodeName&&i.parentGroup||void 0,o,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=A(e,this.rotation,0),f=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",h.rootFontSize,f,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=o&&!t?c[o]:i)||i.polygon){if(u||h.forExport){try{r=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},k(r)&&r("none"),i=n.getBBox?b({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},k(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},`+Math.round(s)]||s);e={bBox:i=g?this.getRotatedBox(i,g):i};v(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===d||0[t-t*g,t*f]),M=i+d*(r-m)+v+C+c*y,w=M+m,A=w-o*y,T=A-m,P=s+c-d*x-S+k+c*b,L=P+x,O=L-o*b,E=O-x,D=Math.min(M,w,A,T),j=Math.min(P,L,O,E),I=Math.max(M,w,A,T)-D,B=Math.max(P,L,O,E)-j;return{x:D,y:j,width:I,height:B,polygon:[[M,P],[w,L],[A,O],[T,E]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=r(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(C(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=M(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;D.symbolCustomAttribs.forEach(function(t){i[t]=A(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=L(A(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+A(r,e.getAttribute("x"),0)+" "+A(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+A(a,1)+" "+A(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,u;if(y(t)?(o.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=r.childNodes).length-1;0<=u&&!d;u--)c=!y(l=(h=n[u]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!u?(r.insertBefore(o,n[u]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(r.insertBefore(o,n[u+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:o,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,r,o,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:r+this.bBox.x-n,y:o+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!o(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);o(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:v,isNumber:d,pick:S}=t;function r(g,f,m,x,y){let b=[];if(y){let t=y.start||0,e=S(y.r,m),i=S(y.r,x||m),s=2e-4/(y.borderRadius?1:Math.max(e,1)),r=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=u(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),u(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",u(e,{dy:o,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:o}=e,a=this.renderer.styledMode;if("b"===o||"strong"===o?a?s.class="highcharts-strong":r.fontWeight="bold":"i"!==o&&"em"!==o||(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===o){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===o&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==o&&"a"!==o&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,o,a,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,o?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=o?1:0,u=(t||o||"").length,g=u;if(l.rotation=0,a+(h=s(r.textContent.length))>e){for(;p<=u;)g=Math.ceil((p+u)/2),o&&(n=i(o,g)),h=s(g,n&&n.length-1),p===u?p=u+1:h>e?u=g-1:p=g;0===u?r.textContent="":t&&u===t.length-1||(r.textContent=n||i(t||o,g))}o&&o.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return o(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,r,l,o,a,n){let h,b=t["defaultOptions"],{charts:f,deg2rad:d,doc:m,isFirefox:c,isMS:v,isWebKit:p,noop:u,SVG_NS:g,symbolSizes:x,win:S}=i,{addEvent:k,attr:C,createElement:M,crisp:w,css:A,defined:T,destroyObjectProperties:P,extend:L,isArray:O,isNumber:E,isObject:D,isString:R,merge:j,pick:I,pInt:z,replaceNested:N,uniqueKey:W}=n;class B{constructor(t,e,i,s,r,o,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),C(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&C(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.7")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){A(t,{left:0,top:0}),h=t.getBoundingClientRect(),A(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=k(S,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&m.getElementsByTagName("base").length&&(T(h)||(t=W(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body),A(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=m.elementFromPoint(6,6),h="hitme"===(e&&e.id),m.body.removeChild(t)),h))return N(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=L({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},o,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0,g=(r=j(b.global.buttonTheme,r),c&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),f=r.style||{},m=(delete r.states,delete r.style,[y.filterUserAttributes(r)]),x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(j(m[0],y.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),k(d.element,v?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),k(d.element,v?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(m[t]),t=x[t],D(t)&&d.css(t))},d.attr(m[0]),c||(d.css(L({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=w(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=w(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return O(t)?e.d=t:D(t)&&L(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a,n=(D(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,r,o){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,L(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,C(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:I(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,o){function a(t){h.attr({href:e}),o.call(h,t)}let n={preserveAspectRatio:"none"},h=(E(t)&&(n.x=t),E(i)&&(n.y=i),E(s)&&(n.width=s),E(r)&&(n.height=r),this.createElement("image").attr(n));if(o){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;k(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let o,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof i&&(a=g.call(this.symbols,i||0,s||0,e||0,r||0,d)),o=this.path(a),l.styledMode||o.attr("fill","none"),L(o,{symbolName:u||void 0,x:i,y:s,width:e,height:r}),d&&L(o,d);else if(p){n=t.match(c)[1];let e=o=this.image(n);e.imgwidth=I(d&&d.width,x[n]&&x[n].width),e.imgheight=I(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:o,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&r&&o&&a&&n?(l=Math.min(r/a,o/n),C(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((r||0)-a*l)/2,((o||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),M("img",{onload:function(){let t=f[l.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),T(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),o=t.getAttribute(s);for(let t=0,e;tt.align())}}return L(B.prototype,{Element:r,SVG_NS:g,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:u}),s.registerRendererType("svg",B,!0),B}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:b,createElement:h,defined:v,extend:o,pInt:l,pushUnique:r}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){r(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=l(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),o(this.styles,t),b(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:r,renderer:o,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,u={left:0,center:.5,right:1}[l],g=t.whiteSpace;if(b(r,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===r.tagName){let t=[a,l,r.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(m=this.textPxLength||(b(r,{width:"",whiteSpace:g||"nowrap"}),r.offsetWidth),((f=d||0)>this.oldTextWidth||f{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||r);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(o,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:o}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(o(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(C,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:M,defined:w,destroyObjectProperties:i,extend:A,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:L}=e;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,r=e.categories,o=e.logarithmic,a=e.names,n=t.pos,h=L(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(r?L(r[n],a[n],n):n),b=(o&&P(y)&&(y=M(o.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:P(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y}),v=(T(this,"labelFormat",b),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),C.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),S=v.call(b,b),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;xg||e.autoRotation&&(h.styles||{}).width)&&(m=g)),m&&(this.shortenLabel?this.shortenLabel():(u.width=Math.floor(m)+"px",(i.style||{}).textOverflow||(u.textOverflow="ellipsis"),h.css(u)))}moveLabel(e,t){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===e?(i.movedLabel=s,o=!0,delete i.label):n(r.ticks,function(t){o||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,o=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),o||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,r=s.horiz,o=this.pos,a=L(this.tickmarkOffset,s.tickmarkOffset),o=this.getPosition(r,o,a,e),a=o.x,n=o.y,h=s.pos,l=h+s.len,r=r?a:n,a=(!s.chart.polar&&this.isNew&&(M(r)w(e,void 0,void 0,I(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);f(u,{xAxis:o,yAxis:M(o,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=I(e.opposite,this.opposite),this.side=I(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),r=i.labels,o=i.type,e=(this.userOptions=e,this.minPixelPadding=0,this.reversed=I(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===o||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=O(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,I(i.crosshair,z(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!O(this.reversed)&&(this.reversed=!0),this.labelRotation=j(r.rotation)?r.rotation:void 0,n(this,i),D(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=M(e,u[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=j(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=u.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(r)p=""+this.value;else if(o)p=s.dateFormat(o,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;D(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(o=>{if(o.reserveSpace()){let t=o.options,e,i=t.threshold,s,r;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=o.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),j(i)&&j(s)&&j(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,I(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+r,I(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=m([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,-1===(s=O(s)?s:this.options.uniqueNames&&i?e?i.indexOf(t.name):I(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let r=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(r.max=Math.max(r.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=r.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,r=!!s.categories,o=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(o||r||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=r?1:o?I(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!r||(t=t.is("xrange")?!o:o,h=Math.max(h,t&&C(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&r?1:t),o&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,D(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return j(t)&&j(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=j(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:f,softMin:m}=h,x=j(g)&&i[this.coll]?.[g],y=h.tickPixelInterval,b=h.maxPadding,v=h.minPadding,S=0,k,C=j(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,M,w,A,T;if(o||e||x||this.getTickAmount(),A=I(this.userMin,h.min),T=I(this.userMax,h.max),x?(k=(this.linkedParent=x).getExtremes(),this.min=I(k.min,k.dataMin),this.max=I(k.max,k.dataMax),h.type!==x.options.type&&E(11,!0,i)):(l&&O(d)&&j(s)&&j(r)&&(d<=r?(M=d,v=0):s<=d&&(w=d,b=0)),this.min=I(A,M,r),this.max=I(T,w,s)),j(this.max)&&j(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,I(r,this.min))<=0&&E(10,!0,i),this.min=L(n.log2lin(this.min),16),this.max=L(n.log2lin(this.max),16)),this.range&&j(r)&&(this.userMin=this.min=A=Math.max(r,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),j(this.min)&&j(this.max)&&(!j(this.userMin)&&j(m)&&mthis.max&&(this.max=T=f),e||this.axisPointRange||this.stacking?.usePercentage||x||!(S=this.max-this.min)||(!O(A)&&v&&(this.min-=S*v),!O(T)&&b&&(this.max+=S*b)),!j(this.userMin)&&j(u)&&(this.min=Math.max(this.min,u)),!j(this.userMax)&&j(p)&&(this.max=Math.min(this.max,p)),l&&j(r)&&j(s)&&(P=d||0,!O(A)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(O(h.min)?this.max=this.min:O(h.max)&&(this.min=this.max)),S=this.max-this.min),this.min!==this.max&&j(this.min)&&j(this.max)?x&&!C&&y===x.options.tickPixelInterval?this.tickInterval=C=x.tickInterval:this.tickInterval=I(C,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,e?1:S*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),D(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!C&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=I(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!C&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],E(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=B(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&j(this.min)&&j(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==o&&i(t)===s&&(r=!0,a.push(t))})}if(r&&s){a.forEach(t=>{t=t.getThresholdAlignment(o);j(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return r}getThresholdAlignment(t){if((!j(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),j(this.threshold)){let t=b((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!O(t.tickInterval)&&!i&&this.leno.push(L(o[o.length-1]+p)),f=()=>o.unshift(L(o[0]-p));if(j(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(u=a-1-u)),t.hasData()&&j(s)&&j(i)){var m=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(j(u)&&j(t.threshold)){for(;o[u]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?f:g)();if(p>8*t.tickInterval)break;p*=2}m()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),D(this,"setExtremes",r=f(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(T(I(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(T(I(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(I(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(I(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-e,this.len=Math.max(s?r:o,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?L(t.lin2log(this.min)):this.min,max:t?L(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&o!==1/0&&h&&(e=Math.ceil(h/r)),L(e*r)}let t=this.options.labels,s=t.padding||0,e=this.horiz,r=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=t.rotation,n=L(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=r,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(j(a)?p=[a]:og&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",m=i.length;!r&&m--;)(f=o[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=o[t],i=e&&e.label,s=a.width,r={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${r.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(o.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",o.gridZIndex),this.axisGroup=e("axis","",o.zIndex),this.labelGroup=e("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][r]:r,l=e.hasData(),d=s.title,c=s.labels,p=j(s.crossing),u=t.axisOffset,g=t.clipOffset,f=[-1,1,1,-1][r],m,x=0,y,b=0,v=0,S,k;var C;e.showAxis=m=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===r||2===r||{1:"left",3:"right"}[r]===e.labelAlign,I(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(o[t].getLabelSize(),v)}),e.staggerLines&&(v*=e.staggerLines),e.labelOffset=v*(e.opposite?-1:1)):A(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],b=O(y=d.offset)?0:I(d.margin,i?5:10))),e.renderLine(),e.offset=f*I(s.offset,u[r]?u[r]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},k=0===r?-e.labelMetrics().h:2===r?e.tickRotCorr.y:0,S=Math.abs(v)+b,v&&(S=(S-=k)+f*(i?I(c.y,e.tickRotCorr.y+f*c.distance):I(c.x,f*c.distance))),e.axisTitleMargin=I(y,S),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(o,a)),"colorAxis"!==n&&g&&(C=this.tickSize("tick"),u[r]=Math.max(u[r],(e.axisTitleMargin||0)+x+f*e.offset,S,a&&a.length&&C?C[0]+f*e.offset:0),C=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,g[h]=Math.max(g[h],C)),D(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],r=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],o={x:e?a+l:r+(n?this.width:0)+h+l,y:e?r+d-(n?this.height:0)+h:a+d};return D(this,"afterGetTitlePosition",{titlePosition:o}),o}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new S(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new S(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let s,r,o=this,a=o.chart,n=o.logarithmic,t=a.renderer,e=o.options,i=o.isLinked,h=o.tickPositions,l=o.axisTitle,d=o.ticks,c=o.minorTicks,p=o.alternateBands,u=e.stackLabels,g=e.alternateGridColor,f=e.crossing,m=o.tickmarkOffset,x=o.axisLine,y=o.showAxis,b=k(t.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[d,c,p].forEach(function(t){A(t,function(t){t.isActive=!1})}),j(f)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(f,!0);o.horiz&&(t=e.len-t),o.offset=i*t}}if(o.hasData()||i){let i=o.chart.hasRendered&&o.old&&j(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){o.renderTick(t,e,i)}),m&&(0===o.min||o.single)&&(d[-1]||(d[-1]=new S(o,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(t,e){r=void 0!==h[e+1]?h[e+1]+m:o.max-m,e%2==0&&th&&(!d||o<=l)&&void 0!==o&&c.push(o),o>l&&(a=!0),o=r}else{var p=this.lin2log(h),s=this.lin2log(l),r=d?t.getMinorTickInterval():i.tickInterval,o=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=u(n=g("auto"===r?null:r,this.minorAutoInterval,(s-p)*o/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:o,extend:s,isNumber:c}=t;{t=e=e||{};let r;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new r(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&r)for(s&&(d=n.toString()===r.toString(),l=0),h=0;h{f?.on(e,t=>{o[e].apply(this,[t])})}),this.eventsAdded=!0),!v&&f.d||!m?.length?f&&(m?(f.show(),f.animate({d:m})):f.d&&(f.hide(),g&&(this.label=g=g.destroy()))):f.attr({d:m}),u&&(C(u.text)||C(u.formatter))&&m?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,r.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=R,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:r,outside:u,pointer:e}=this,{inverted:o,plotLeft:a,plotTop:n,polar:h}=r,{plotX:l=0,plotY:d=0}=t,g={},f=o&&t.h||0,{height:c,width:m}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=t=>{var e="x"===t;return[t,e?m:c,e?i:s].concat(u?[e?y(i):b(s),e?x.left-p+y(l+a):x.top-p+b(d+n),0,e?m:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+r.plotWidth:n+r.plotHeight])},S=v("y"),k=v("x"),C,M=!!t.negative,w=(!h&&r.hoverSeries?.yAxis?.reversed&&(M=!M),!this.followPointer&&X(t.ttBelow,!h&&!o===M)),A=function(t,e,i,s,r,o,a){var n=u?("y"===t?b:y)(p):p,h=(i-s)/2,l=se?r:r+f)}},T=function(t,e,i,s,r){if(re-p)return!1;g[t]=r{!1!==A.apply(0,S)?!1!==T.apply(0,k)||C||(P(!0),L()):C?g.x=g.y=0:(P(!0),L())};return(o&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=X(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=h(!r.isHidden&&r.options.animation),a=r.followPointer||1<(r.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(o,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=k(o),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,u=a.styledMode,g={},f=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!S(o)&&o.series&&o.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var o=this.getAnchor(o,t),m=o[0],x=o[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(g=d.getLabelConfig()).points=i):g=d.getLabelConfig(),this.len=i.length;let s=H(c)?b(c,g,a):p.call(g,this),r=d.series;if(this.distance=X(r.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=m,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==r.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(f&&this.tt||{});n.style.width&&!u||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),u||t.attr({stroke:n.borderColor||d.color||r.color||"#666666"}),this.updatePosition({plotX:m,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:o[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}v(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:u,plotLeft:g,plotTop:f,scrollablePixelsY:r=0,scrollablePixelsX:o,styledMode:m},distance:x,options:y,options:{positioner:b},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},v=p.outside&&"number"!=typeof o?R.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},S=p.getLabel(),k=this.renderer||e.renderer,C=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),M=f+h,w,A=u-r;function T(t,e,i,s,r=!0){let o,a;return{x:a=i?(o=C?0:A,W(t-s/2,v.left,v.right-s-(p.outside?l:0))):(o=e-M,W(a=r?t-s-x:t+x,r?a:v.left,v.right)),y:o}}let P=(t=H(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(o,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:u,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:r,series:o}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=k.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,r)).attr(t).add(S)}return s.isActive=!0,s.attr({text:i}),m||s.css(y.style).attr({stroke:y.borderColor||e.color||o.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),r=s.width+i.strokeWidth();t&&(w=s.height,A+=w,C&&(M-=w));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:r=0,series:o}=h;var a,n;return i?(t=Math.max(g+s,g),e=f+u/2):({xAxis:a,yAxis:n}=o,t=a.pos+W(s,-x,a.len+x),o.shouldShowTooltip(0,n.pos-f+r,{ignoreX:!0})&&(e=n.pos+r)),{anchorX:t=W(t,v.left-x,v.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=b?b.call(p,r,l,h):T(n,a,t,r),o.push({align:b?0:void 0,anchorX:n,anchorY:a,boxWidth:r,point:h,rank:X(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return o},[]),L=(!b&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return G(t,{target:i,x:e})})),p.cleanSplit(),N(P,A),{left:l,right:l}),{container:O,outside:E,renderer:D}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tL.right&&(L.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+M,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(f(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),r&&(e.setState(),h(r,e),r.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),g(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),M(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,r=[],o={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),i.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),e=r.length;e--;)s[t=r[e]]&&o.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&o.plural.push(e)}),o}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=m()),this.resolveColor(),t.chart.pointCount++,M(this,"afterInit")}isValid(){return(w(this.x)||this.x instanceof Date)&&w(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(w(t)||null===t)o[s[0]]=t;else if(d(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"==a&&(o.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:r}=e,o=0,a=0;if(w(t)&&w(h))return n&&(o=s?s.pos:i.plotLeft,a=r?r.pos:i.plotTop),i.inverted&&s&&r?[r.len-h+a,s.len-t+o]:[t+o,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=A(this.options.colorIndex,a),this.color=A(this.options.color,s)}setNestedProperty(t,r,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?r:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=A(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=r||o?e.replace(RegExp(t+"}","g"),r+t+"}"+o):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let r,o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(e);var t=n&&o.hasMockGraphic,t=null===o.y?!t:t;n&&t&&(o.graphic=n.destroy(),delete o.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(o.graphic=n.destroy()),e?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=p(l.data[r],!0)||p(e,!0)?o.options:A(e,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=A(i,!0),!1===t?d():o.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=A(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=u(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(f(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=r(this,t,e))}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=k.plotOptions[i.type].marker&&i.options.marker,a=o&&!1===o.enabled,n=o&&o.states&&o.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=o&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===r.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=A(d.options.chart.animation,r.animation);let e=g.opacity;i.options.inactiveOtherPoints&&w(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,A(d.options.chart.animation,n.animation,o.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));var y=r.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(C({fill:this.color||i.color,"fill-opacity":y.opacity},S.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),M(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(o(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e){var i;let b=t["parse"],{charts:g,composed:s,isTouchDevice:o}=r,{addEvent:f,attr:a,css:n,extend:h,find:m,fireEvent:p,isNumber:l,isObject:v,objectEach:d,offset:c,pick:x,pushUnique:u,splat:y}=e;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],r.chartCount||(S.unbindDocumentMouseUp&&S.unbindDocumentMouseUp.forEach(t=>t()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:r}=this,{mouseDownX:o=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=r?1:i.plotHeight,s&&(e=h-o,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),!(10t.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));var o;e&&i.redraw(),s&&t&&(this.hasDragged&&(o=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...o},from:o})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:r,yAxis:o}=i.series,a=i.shapeArgs;if(r&&o){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:o.len+o.pos-e,chartY:r.len+r.pos-t}:{chartX:t+r.pos,chartY:e+o.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!o?t:this.findNearestKDPoint(l,r,o));return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=m(t.points,function(t){return t.x===c.x&&!t.isNull});v(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var r=s.pageX-e.left,o=s.pageY-e.top;return h(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),r.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(g[x(S.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){g[x(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:r}=i,o=[].map.call(e.touches||[],t=>i.normalize(t)),a=o.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(o),from:t(r),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=o}reset(e,t){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let r=this.chart,i=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=!!o&&o.shared,n=t||r.hoverPoint,h=n&&n.series||r.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),r.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!n.series)return;r.hoverPoints=c,(r.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(u?c:n,s)})}else p&&o&&!o.isHidden&&(t=o.getAnchor([{}],s),r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(r.container.ownerDocument,"mousemove",t=>g[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=r.hoverPoint)&&t.series[e.coll]===e?t:m(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(f(t,"mouseenter",this.onContainerMouseEnter.bind(this)),f(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=[]),S.unbindDocumentMouseUp.push(f(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(f(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(f(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),f(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=f(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),f(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(o){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),f(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=r.charts[x(S.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(S.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&16<=Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(i=S=S||{}).compose=function(t){u(s,"Core.Pointer")&&f(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},S}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:b,pick:v}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,v(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:o}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=r.renderer,p=s.group,u=a-Math.round(h*(i?.4:.3)),g={},f,m=o.marker,x=0;if(r.styledMode||(g["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?g.dashstyle=o.dashStyle:"square"!==o.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,u],["L",n-x,u]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),m&&!1!==m.enabled&&n){let t=Math.min(v(m.radius,d),d);0===l.indexOf("url")&&(m=b(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,u-t,2*t,2*t,y({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,r){let o=h.plotOptions||{};if(e=e||"",o[t]=c(o[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,r){class p extends a{}l(p.prototype,r),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,r=e.prototype;return r.type=t,r.pointClass||(r.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,o,a,d,c){let{animObject:p,setAnimation:u}=t,g=e["defaultOptions"],n=i["registerEventOptions"],{svg:f,win:m}=s,y=a["seriesTypes"],{arrayMax:C,arrayMin:M,clamp:w,correctFloat:A,crisp:x,defined:T,destroyObjectProperties:R,diffObjects:z,erase:b,error:P,extend:v,find:N,fireEvent:L,getClosestDistance:W,getNestedProperty:h,insertItem:S,isArray:O,isNumber:E,isString:G,merge:D,objectEach:k,pick:j,removeEvent:H,splat:X,syncTimeout:I}=c;class B{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(L(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,o=!1!==e.visible,o=(s.linkedSeries=[],s.bindAxes(),v(s,{name:e.name,state:"",visible:o,selected:!0===e.selected}),n(this,e),e.events);(o&&o.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),L(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;L(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),L(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=E(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},o||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(o?{}:{color:this.color,fillColor:this.fillColor}),L(this,"afterSetOptions",{options:c}),c}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||o.options.chart.colorCount;e||(T(r=j("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||g.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var o=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(o){o=this.chart.get(o);o instanceof l&&(i=o)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=N(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&E(a)?this.xData.indexOf(a,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&E(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,o=r.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||E(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==r.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||o&&o.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||o&&o.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=C(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=r.pointArrayMap,f=g&&g.length,m=n.keys,x,y,b,v=0,S=1,k;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,k=D(!0,e));var C=(e=k||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(b=h.options.chart.allowMutatingData&&!1!==s&&C&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):b)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=c&&c!(!O(t)||!m&&!E(t[0]));if(E(s)&&E(M))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],u=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,h=a.start,n=!0));t=W([r?p.map(r.log2lin):p],()=>e.requireSorting&&!g&&P(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,L(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g=x&&(S[f-o]||u)<=y,c&&p)if(m=g.length)for(;m--;)E(g[m])&&(r[b++]=g[m]);else r[b++]=g;var k={activeYData:r,dataMin:M(r),dataMax:C(r)};return L(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,L(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=j(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,o=(i=y?a-i:i)-s;r?.push(["L",e,Math.abs(o){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],v?a-t[1]:t[1],v?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=w(o.toPixels(j(t.value,e),!0)||0,0,a)}),f&&!this.showLine&&f.hide(),g&&g.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(m.reversed&&e.reverse(),t),o=0,a=0,n=m.len,h=x.len;v?(o=i,n=u):(a=i,h=u);var l=[["M",o,a],["L",n,a],["L",n,h],["L",o,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),u=i,y&&(c(d),g&&c(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=b.path(d),g&&(r=t.simpleClip=b.path(l))),f&&t.graph?.clip(s),g&&t.area?.clip(r)})}else this.visible&&(f&&f.show(),g&&g.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||H(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=p(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;L(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=I(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,L(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[o=Math.floor(a/2)],left:t(e.slice(0,o),i+1,s),right:t(e.slice(o+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let g=this,[f,m]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(g.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!g.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let o=i.point,a=g.kdAxisArray[s%r],n,h,l=o;p=o,u=(d=e)[f],c=p[f],u=T(u)&&T(c)?u-c:null,c=d[m],d=p[m],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((u&&u*u||0)+c*c)-d,p.distX=T(u)?Math.abs(u)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(o[a]||0)+(y&&o.marker?.radius||0),p=c<0?"left":"right",u=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,r))[x]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(f?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),L(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=j(e,!0);var g={series:this},f=(this.pointClass.prototype.applyOptions.apply(g,[t]),g.x);if(a=u.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[f]=g.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==r&&L(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(a||{series:r},"splice",[t,1]),a&&a.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,o=r.data,a=o[t],n=r.points,h=r.chart;u(i,h),e=j(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),j(t,!0)&&o.redraw(e)}!1!==i?L(r,"remove",null,a):a()}update(t,e){L(this,"update",{options:t=z(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=y[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||r.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),f=(u=u||o,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&v(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=D(r,{index:(void 0===r.index?i:r).index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[u].prototype);else{var m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;v(i,y[u].prototype),m?i.hcEvents=m:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=o,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),L(this,"afterUpdate"),j(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&L(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&L(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=j(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=j(a[e].opacity,l)),r&&!r.dashstyle&&E(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&o&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!o:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),L(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),L(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return B.defaultOptions=o,B.types=a.seriesTypes,B.registerType=a.registerSeriesType,v(B.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=B}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,u,g,s,r,o){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],f=r["format"],{addEvent:m,createElement:x,css:y,defined:b,discardElement:v,find:S,fireEvent:k,isNumber:C,merge:M,pick:w,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:L}=o;class O{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=w(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=M(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=w(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(M(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,w(e,!0)&&i.redraw(),k(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:r,marker:o}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(M(h?this.itemStyle:t)),c?.attr(a({stroke:r||n.color})),p&&p.attr(a(o&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}k(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},e[b(e.translateY)?"animate":"attr"](h,void 0,()=>{k(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&v(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,r=this.group&&this.group.alignAttr,o=this.clipHeight||this.legendHeight,a=this.titleHeight;r&&(s=r.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:r.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*S?v.height:S))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?w(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&w(e.showInLegend,!b(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),k(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let r=this.chart,o=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!b(i[e])&&(r[l[e]]=Math.max(r[l[e]],r.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*o[e%2?"x":"y"]+w(o.margin,12)+s[e]+(r.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,r,o;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=S(s?t.points:t.points.slice(0).reverse(),function(t){return C(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-a.plotTop,r=t.visible?(e?e.plotY:t.yAxis.height)+(o-.3*i):o+t.yAxis.height,n.push({target:r,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},C(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0b&&!1!==c.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=t,f.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=g.length;(!r||i-g[r-1]>m&&(x||i)!==g[r-1])&&(g.push(x||i),r++),y.pageIx=r-1,x&&((f[e-1].legendItem||{}).pageIx=r-1),e===f.length-1&&i+s-g[r-1]>m&&i>g[r-1]&&(g.push(i),y.pageIx=r),i!==x&&(x=i)}),S||(S=s.clipRect=o.clipRect(0,l-2,9999,0),s.contentGroup.clip(S)),e(m),v||(this.nav=v=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(v),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(v),this.down=o.symbol("triangle-down",0,0,u,u).add(v),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=b):v&&(e(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>r?r:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===r?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),L(()=>{k(this,"afterScroll",{currentPage:l})},d(w(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},o=s.chart.renderer.boxWrapper,a=i instanceof g,n=i instanceof u,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,r.symbol]:[r.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&o.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(M(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),o.removeClass(h),i.setState()}).on("click",function(t){o.removeClass(h),k(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&k(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),m(e.checkbox,"click",function(t){t=t.target;k(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=O=O||{}).compose=function(t){A(h,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},O}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,z,a,N,W,G,H,u,r,c,X){let{animate:n,animObject:F,setAnimation:f}=t,{defaultOptions:h,defaultTime:Y}=e,U=i["numberFormat"],g=z["registerEventOptions"],{charts:p,doc:m,marginNames:l,svg:V,win:o}=a,d=G["seriesTypes"],{addEvent:x,attr:y,createElement:b,css:v,defined:M,diffObjects:S,discardElement:q,erase:_,error:k,extend:w,find:C,fireEvent:A,getStyle:T,isArray:Z,isNumber:P,isObject:K,isString:L,merge:O,objectEach:E,pick:D,pInt:$,relativeLength:j,removeEvent:I,splat:B,syncTimeout:J,uniqueKey:Q}=r;class R{static chart(t,e,i){return new R(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(L(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:D(t.zoomType,e.type),key:D(t.zoomKey,e.key),pinchType:D(t.pinchType,e.pinchType),singleTouch:D(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:O(e.resetButton,t.resetZoomButton)}}init(i,s){A(this,"init",{args:arguments},function(){var t=O(h,i),e=t.chart;this.userOptions=w({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new u(i.time):a.time,this.numberFormatter=e.numberFormatter||U,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,g(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),A(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],r=(s||k(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],r=this.options[t]=B(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?B(this.userOptions[t]).slice():[];if(this.hasRendered&&(r.splice(i),o.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(g.isInsidePlot=!1)),!i.ignoreY&&g.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+u:a+u)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(g.isInsidePlot=!1)),A(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){A(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):o&&(o.labelFormatter||o.labelFormat)&&(u=!0)),t.isDirtyData&&A(t,"updatedData")}),u&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){A(t,"afterSetExtremes",w(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),A(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),A(this,"redraw"),A(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let r=C(this.axes,s)||C(this.series,s);for(let t=0;!r&&t(t.getPointsCollection().forEach(t=>{D(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=O(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),e&&!r&&((r=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||r.css(w("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=r)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",r="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var o;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,o=Math.round(e.getBBox(i.useHTML).height),e.align(w({y:"bottom"===s?t:r+t,height:o},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+o):"bottom"===s&&(a[2]=Math.ceil(a[2]+o))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,A(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0}}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox();this.chartWidth=Math.max(0,e||i.width||600),this.chartHeight=Math.max(0,j(t,this.chartWidth)||(1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(o,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,f(i,s);var i=r.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:v)(s.container,{width:t+o+"px",height:e+a+"px"},i),s.setChartSize(!0),r.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,A(s,"resize"),setTimeout(()=>{s&&A(s,"endResize")},F(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,r;let{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),A(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){A(this,"resetMargins");let r=this,o=r.options.chart,t=o.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=o[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){r[i][e]=D(o[i+t],s[e])})}),l.forEach(function(t,e){r[t]=D(r.margin[e],r.spacing[e])}),r.axisOffset=[0,0,0,0],r.clipOffset=[e,e,e,e],r.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,S,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),r?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(b||m["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=b),m.attr(S).shadow(t.shadow)),m[k]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](u),r||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,A(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,r=this,o=r.options.chart,a=r.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[o.type],s=o[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);r[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(L(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=D(e.options.visible,t.options.visible,e.visible))}}),A(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(var l of(this.setTitle(),A(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){o=d.tickLength,l.createGroups();let t=new X(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),o=e&&D(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):o){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||1(h?1:1.1),n=g/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=O(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(o.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,r=i.container,o=r&&r.parentNode;for(A(i,"destroy"),i.renderer.forExport?_(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),I(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),r&&(r.innerHTML=c.emptyHTML,I(r),o&&q(r)),E(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),Z(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),A(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),A(this,"load"),A(this,"render"),M(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),A(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),v(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:r,selection:o,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:u,len:g,minPointOffset:f=0,options:m,reversed:x}=p,y=u?"width":"height",b=u?"x":"y",v=D(a[y],p.len),y=D(i[y],p.len),S=Math.abs(v)<10?1:v/y,y=(i[b]||0)+y/2-p.pos,b=y-((a[b]??p.pos)+v/2-p.pos)/S,v=x&&!h||!x&&h?-1:1;if(r||!(y<0||y>p.len)){let t=p.toValue(b,!0)+(o?0:f*v),e=p.toValue(b+g/S,!0)-(!o&&f*v||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==S&&!r&&"yAxis"===p.coll&&!i){for(var k of p.series){k=k.getExtremes(k.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(k.dataMin)&&P(k.dataMax)&&(i.dataMin=Math.min(k.dataMin,i.dataMin),i.dataMax=Math.max(k.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:g,max:f}=w(p.getExtremes(),i||{}),v=x??m.min,x=y??m.max,y=e-t,C=p.categories?0:Math.min(y,x-v),v=v-C*(M(m.min)?0:m.minPadding),x=x+C*(M(m.max)?0:m.maxPadding),C=p.allowZoomOutside||1==S||"zoom"!==n&&1m&&(e=m,1<=S&&(t=e-y)),(r||p.series.length&&(t!==g||e!==f)&&t>=v&&e<=m)&&(o?o[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(r?void 0:t,r?void 0:e,!1,!1,{move:b,trigger:n,scale:S}),!r&&(t>v||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return w(R.prototype,{callbacks:[],collectionsWithInit:{xAxis:[R.prototype.addAxis,[!0]],yAxis:[R.prototype.addAxis,[!1]],series:[R.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),R}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let w=t["stop"],s=e["composed"],{addEvent:u,createElement:g,css:A,defined:T,merge:f,pushUnique:r}=i;function o(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){r(s,this.compose)&&(u(t,"afterInit",a),u(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),u(e,"render",o),u(i,"show",a))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=f(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=f(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,r=!1)),T(r)&&!e.skipAxes))for(var c of t.axes)c.horiz===r&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),r=t.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),A(i.renderTo,{overflow:"visible"}),u(i,"afterShowResetZoom",o),u(i,"afterApplyDrilldown",o),u(i,"afterLayOutTitles",o),u(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=o+p,x=a+u,y=(e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),w(t.container),A(n,{width:m+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),A(s,{width:o+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*g,s.scrollTop=u*f),d-r[0]-1),b=l-r[3]-1,v=d+h+r[2]+1,S=l+c+r[1]+1,k=l+c-p,C=d+h-u,M=[["M",0,0]];p?M=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",k,y],["L",o,y],["L",o,v],["L",k,v],["Z"]]:u&&(M=[["M",b,0],["L",b,d-1],["L",S,d-1],["L",S,0],["Z"],["M",b,C],["L",b,a],["L",S,a],["L",S,C],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:M})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let o=t["format"],g=e["series"],{destroyObjectProperties:s,fireEvent:f,isNumber:m,pick:x}=i;return class{constructor(t,e,i,s,r){var o=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,r=t?o(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:r,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,f(this,"afterRender")}setOffset(t,e,r,o,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:r,boxTop:o,defaultX:i,xAxis:s}),u=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:r,y:o}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=r,p.y-=o,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+r,h.alignAttr.y+a.y+o))?i:!1)&&g.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=m(h.x)&&m(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}f(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(r,d.translate(this.x))+o,p=Math.abs(l-e.toPixels(n||m(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,A,s){let a=t["getDeferredAnimation"],{prototype:r}=i["series"],{addEvent:o,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:L,isNumber:l,objectEach:d,pick:O}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,O(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function u(){this.stacking||(this.stacking=new b(this))}function g(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function f(){let o,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,r;for(;e--;)i=h[e],o=a.getStackIndicator(o,i,a.index,t),(r=(s=n[t]?.[i])?.points[o.key||""])&&l.call(a,r,s,e)})}function m(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return{compose:function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(o(t,"init",u),o(t,"destroy",p),s.getStacks=c,r.getStackIndicator=g,r.modifyStacks=f,r.percentStacker=m,r.setGroupedPoints=x,r.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:m,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,r=s?"animate":"attr",o=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},o?i.dashstyle=o:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[r](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],u=[],g,f=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&t&&(f=4-f),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,r=t.plotY,o=n[e-1],a=t.isNull||"number"!=typeof r;(t.leftCliff||o&&o.rightCliff)&&!l&&(g=!0),g=a&&!m(h)&&0{let i={},s=t.fillColor||n.fillColor,r=t.area,o=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:a.xMap,r.animate({d:a})):(i.zIndex=0,(r=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[o](i),r.startX=a.xMap,r.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],r=p&&x[s.x].points[m],o=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||o?(n=(o?r[0]:r[1])+a,h=r[0]+a,l=!!o):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(f.push({plotX:c,plotY:null===n?b:u.getThreshold(n),isNull:l,isCliff:!0}),g.push({plotX:c,plotY:null===h?b:u.getThreshold(h),doCurve:!1}))}let c,s,r,t=S.prototype.getGraphPath,e=this.options,p=e.stacking,u=this.yAxis,g=[],f=[],m=this.index,x=u.stacking.stacks[this.stackKey],y=e.threshold,b=Math.round(u.getThreshold(e.threshold)),o=k(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=v.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,v}getStackPoints(e){let d=this,s=[],c=[],r=this.xAxis,p=this.yAxis,u=p.stacking.stacks[this.stackKey],g={},f=p.series,m=f.length,x=p.options.reversedStacks?1:-1,y=f.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(o,a){let e=0,n,h;if(g[o]&&!g[o].isNull)s.push(g[o]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=u[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,r=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof o.x){let e=t[o.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),r=t.length}}}),s=this.xAxis.reversed?r-1-s:s;var n=(r-1)*a.paddedWidth+e;t=(o.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,u=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(u.borderWidth,t?0:1),g=c.xAxis,f=c.yAxis,m=u.threshold,x=P(u.minPointLength,5),y=c.getColumnMetrics(),b=y.width,v=c.pointXOffset=y.offset,S=c.dataMin,k=c.dataMax,C=c.translatedThreshold=f.getThreshold(m),M=c.barW=Math.max(b,1+2*e);u.pointPadding&&(M=Math.ceil(M)),r.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,C),i=999+Math.abs(e),s=t.plotX||0,r=w(t.plotY,-i,f.len+i),o,a=Math.min(r,e),n=Math.max(r,e)-a,h=b,l=s+v,d=M;x&&Math.abs(n)x?e-x:C-(o?x:0)),A(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-b)/2)),u.centerInCategory&&!u.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[w(f.len+f.pos-p.plotLeft-r,f.pos-p.plotLeft,f.len+f.pos-p.plotLeft),g.len+g.pos-p.plotTop-l-d/2,n]:[g.left-p.plotLeft+l+d/2,w(r+f.pos-p.plotTop,f.pos-p.plotTop,f.len+f.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?C:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[r]||i[r]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[o]||i[o]||this[o]||0,u=P(t&&t.opacity,i.opacity,1),g=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&f(l).brighten(a.brightness).get()||l,d=a[r]||d,p=a[o]||p,c=a.dashStyle||c,u=P(a.opacity,u)),{fill:l,stroke:d,"stroke-width":p,opacity:u});return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let o,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,r=i&&n.pointCountt?.enabled)}function a(t,e,i,s,r){let{chart:o,enabledDataSorting:a}=this,n=this.isCartesian&&o.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&o.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===E(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||E(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();var f,m,x,y,b;u&&g&&(f=e.getBBox(),m=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=v({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),v(i,{width:f.width,height:f.height}),b=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,r,c,b),e.align(S(i,{width:m.width,height:m.height}),!1,s,!1),e.alignAttr.x+=x*(m.width-f.width),e.alignAttr.y+=y*(m.height-f.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(f.width-m.width)/2,y:e.alignAttr.y+(f.height-m.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,f,s,r):E(i.crop,!0)&&({x:t,y:b}=e.alignAttr,u=o.isInsidePlot(t,b,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+f.width-1,b+f.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[r?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})),r&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let v,S=(t=t||this.points,this),k=S.chart,C=S.options,M=k.renderer,{backgroundColor:e,plotBackgroundColor:i}=k.options.chart,w=M.getContrast(L(i)&&i||L(e)&&e||"#000000"),s=g(S),{animation:r,defer:o}=s[0],a=o?n(k,r,S):{defer:0,duration:0};P(this,"drawDataLabels"),S.hasDataLabels?.()&&(v=this.initDataLabels(a),t.forEach(y=>{let b=y.dataLabels||[],t=(h(u(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(f=x.operator,m=y[x.property],x=x.value,">"===f&&x="===f&&x<=m||"<="===f&&m<=x||"=="===f&&m==x||"==="===f&&m===x||"!="===f&&m!=x||"!=="===f&&m!==x)),{backgroundColor:s,borderColor:r,distance:o,style:a={}}=t,n,h,l,d,c={},p=b[e],u=!p,g;var f,m,x;i&&(h=E(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?A(h,n,k):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,k.styledMode||(a.color=E(t.color,a.color,L(S.color)?S.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(g=s),y.contrastColor=M.getContrast("auto"!==g&&g||y.color||S.color),a.color=g||!T(o)&&t.inside||D(o||0)<0||C.stacking?y.contrastColor:w):delete y.contrastColor,C.cursor&&(a.cursor=C.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},k.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===r?y.color:r,c["stroke-width"]=t.borderWidth),O(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,u=!0),i&&T(l)&&(p?c.text=l:(p=M.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),k.styledMode||p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(v),S.alignDataLabel(y,p,t,void 0,u),p.isActive=!0,b[e]&&b[e]!==p&&b[e].destroy(),b[e]=p))}),b.length);for(;t--;)b[t]&&b[t].isActive?b[t].isActive=!1:(b[t]?.destroy(),b.splice(t,1));y.dataLabel=b[0],y.dataLabels=b})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&0<=g?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&0<=f?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!o,t.align(e,void 0,r)),x}function u(e,i){let t=[],s;if(r(e)&&!r(i))t=e.map(function(t){return S(t,i)});else if(r(i)&&!r(e))t=i.map(function(t){return S(e,t)});else if(r(e)||r(i)){if(r(e)&&r(i))for(s=Math.max(e.length,i.length);s--;)t[s]=S(e[s],i[s])}else t=S(e,i);return t}function g(t){var e=t.chart.options.plotOptions;return h(u(u(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function f(t,e,i,s,r){var o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?r.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var r;let o=t["composed"],c=i["series"],{merge:p,pick:u,pushUnique:a}=s;return(r||(r={})).compose=function(t){e.compose(c),a(o,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},r;function n(t,e,i,s,r){var o=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=u(t.below,t.plotY>u(this.translatedThreshold,a)),d=u(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,r,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:u,y:g}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",u,g]];return(p?f<=u&&f>=s.x:f>=u&&f<=s.x)&&m.push(["L",f,g]),m.push(["L",s.x,s.y],["L",r.x,r.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:b,merge:p,pick:u}=h;class g extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}b(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),b=f.center,v=b[2]/2,n=b[1],h=[[],[]],S=[0,0,0,0],k=f.dataLabelPositioners,l,C,M,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=b[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[r.half].push(r),!w(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,r;t&&(f.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(g&&w(i)&&0m-o&&0===u&&(t=Math.round(h+C-m+o),S[1]=Math.max(t,S[1])),l-M/2<0?S[0]=Math.max(Math.round(-l+M/2),S[0]):l+M/2>x&&(S[2]=Math.max(Math.round(l+M/2-x),S[2])),s.sideOverflow=t}}})}))}),0!==u(S)&&!this.verifyDataLabelOverflow(S)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=f),r+=f),m(g,{brBoxHeight:r,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,r={}){let o=M(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(r=C(c,c-u),f[0]-=r,m[0]+=r,x[1]=k[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u,g,f,m,x,y,b,v,S,k,C,M,w,A,T,P,L,O,E,D,j,I,B){return t.AST=o,t.Axis=p,t.Chart=k,t.Color=I,t.DataLabel=O,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||E,t.PlotLineOrBand=f,t.Point=y,t.Pointer=b,t.RendererRegistry=n,t.Series=A,t.SeriesRegistry=T,t.StackItem=w,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=B,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=k.chart,t.color=I.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),O.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),E.compose(t.Chart),L.compose(t.Series.types.pie),f.compose(t.Axis),b.compose(t.Chart),j.compose(t.Chart),C.compose(t.Axis,t.Chart,t.Series),M.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),(t["masters/highcharts.src.js"]._modules=t)["masters/highcharts.src.js"]}); \ No newline at end of file +!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define("highcharts/highcharts",function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(r){"use strict";var t={};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),r&&"function"==typeof CustomEvent&&r.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}return e(t,"Core/Globals.js",[],function(){var t,i=t={SVG_NS:"http://www.w3.org/2000/svg",product:"Highcharts",version:"11.4.8"};return i.win=void 0!==r?r:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&parseInt(i.userAgent.split("Firefox/")[1],10)<4,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;var e;return i.isMS||(e=Object.defineProperty({},"passive",{get:function(){t=!0}}),i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))),t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,t}),e(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){let i,{charts:e,doc:a,win:h}=n;function l(t,e,i,s){var r=e?"Highcharts error":"Highcharts warning";let o=f(t=32===t?r+": Deprecated member":t),a=o?r+` #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let i="";o&&(a+="?"),C(s,function(t,e){i+=` + - ${e}: `+t,o&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=i}w(n,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);h.console&&-1===l.messages.indexOf(a)&&console.warn(a)}),l.messages.push(a)}function d(t,e){return parseInt(t,e||10)}function c(t){return"string"==typeof t}function p(t){t=Object.prototype.toString.call(t);return"[object Array]"===t||"[object Array Iterator]"===t}function u(t,e){return!(!t||"object"!=typeof t||e&&p(t))}function o(t){return u(t)&&"number"==typeof t.nodeType}function g(t){var e=t&&t.constructor;return!(!u(t,!0)||o(t)||!e||!e.name||"Object"===e.name)}function f(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&-1/0{m(t)?i.setAttribute(e,t):r?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?o(e,t):C(t,o),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function b(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,o)&&o.preventDefault()})}t&&!o.defaultPrevented&&t.call(s,o)}C({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var r=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t,o=(Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={}),r.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(s),o[e].sort((t,e)=>t.order-e.order),function(){M(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:v,defined:m,destroyObjectProperties:function(i,s,r){C(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&r||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,r,o,a){let n=i?r:t;C(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let o=h.getComputedStyle(s,void 0);return o&&(r=o.getPropertyValue(t),b(e,"opacity"!==t)&&(r=d(r))),r},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return k(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:C,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:b,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:M,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var r=t.length;for(e=0;e{try{var e="shortOffset,"+(o.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:o.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),r=-36e5*(i+s/60);if(n(r))return r}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return u.defaultOptions.lang&&u.defaultOptions.lang.invalidDate||"";i=v(i,"%Y-%m-%d %H:%M:%S");let r=this,e=new this.Date(s),o=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=u.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return g(b({a:p?p[a]:c[a].substr(0,3),A:c[a],d:f(n),e:f(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:f(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:f(o),k:o,I:f(o%12||12),l:o%12||12,M:f(this.get("Minutes",e)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:f(this.get("Seconds",e)),L:f(Math.floor(s%1e3),3)},u.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(r,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=r(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let r,o,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),u=t.unitRange,g=t.count||1;if(s=v(s,1),y(e)){h.set("Milliseconds",p,u>=S.second?0:g*Math.floor(h.get("Milliseconds",p)/g)),u>=S.second&&h.set("Seconds",p,u>=S.minute?0:g*Math.floor(h.get("Seconds",p)/g)),u>=S.minute&&h.set("Minutes",p,u>=S.hour?0:g*Math.floor(h.get("Minutes",p)/g)),u>=S.hour&&h.set("Hours",p,u>=S.day?0:g*Math.floor(h.get("Hours",p)/g)),u>=S.day&&h.set("Date",p,u>=S.month?1:Math.max(1,g*Math.floor(h.get("Date",p)/g))),u>=S.month&&(h.set("Month",p,u>=S.year?0:g*Math.floor(h.get("Month",p)/g)),o=h.get("FullYear",p)),u>=S.year&&(o-=o%g,h.set("FullYear",p,o)),u===S.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*S.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(r=1;tt){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=e["isTouchDevice"],{fireEvent:a,merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:r,merge:o,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,r,o=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(o&&o!==l)return new o(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(r=l.parsers[s]).regex.exec(t))&&(i=r.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&r(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=o(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(r(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(o),!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[o,o];function g(t,e){for(;t.length{t=h(t.options.animation);o=p(e)&&n(e.defer)?s.defer:Math.max(o,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(o=0),{defer:Math.max(0,o-a),duration:Math.min(o,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:f}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:r,css:u,error:g,isFunction:i,isString:o,objectEach:f,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(s){return f(s,(e,t)=>{let i=!0;-1===m.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?o(e)&&m.allowedReferences.some(t=>0===e.indexOf(t)):i)||(g(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),o(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let r;var o=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=m.bypassHTMLFiltering;if(o)if("#text"===o)r=a;else if(-1!==m.allowedTags.indexOf(o)||n){let t="svg"!==o&&l.namespaceURI||c,e=d.doc.createElementNS(t,o),i=s.attributes||{};f(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:m.filterUserAttributes(i)),s.style&&u(e,s.style),a&&e.appendChild(a),h(s.children||[],e),r=e}else g(33,!1,void 0,{"Invalid tagName in config":o});r&&l.appendChild(r),e=r}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=r("div");t.innerHTML=e,i={body:t}}let o=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var r=t.attributes;if(r){let e={};[].forEach.call(r,t=>{"data-style"===t.name?s.style=m.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{o(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>o(t,s)),s}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=h,m.bypassHTMLFiltering=!1,m}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:b,defaultTime:v}=t,{extend:r,getNestedProperty:S,isArray:o,isNumber:u,isObject:a,pick:k,pInt:g}=e,C={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!o(i)&&i.map((t,e)=>M(s.body,r(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function M(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,u=/\.(\d)/,g=b.lang,f=c&&c.time||v,m=c&&c.numberFormatter||w,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:S(t,d))},r,o,a=0,n;for(;null!==(r=e.exec(t));){var h,l=i.exec(r[1]),y=(l&&(r=l,n=!0),o&&o.isBlock||(o={ctx:d,expression:r[1],find:r[0],isBlock:"#"===r[1].charAt(0),start:r.index,startInner:r.index+r[0].length,length:r[0].length}),r[1].split(" ")[0].replace("#","")),y=(C[y]&&(o.isBlock&&y===o.fn&&a++,o.fn||(o.fn=y)),"else"===r[1]);if(o.isBlock&&o.fn&&(r[1]==="/"+o.fn||y)?a?y||a--:(h=o.startInner,h=t.substr(h,r.index-h),void 0===o.body?(o.body=h,o.startInner=r.index+r[0].length):o.elseBody=h,o.find+=h+r[0],y||(s.push(o),o=void 0)):o.isBlock||s.push(o),l&&!o?.isBlock)break}return s.forEach(i=>{let s,r,{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(r=C[h].length;r--;)t.unshift(x(e[r+1]));s=C[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=M(s?o:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(u)||["","-1"])[1],10),null!==s&&(s=m(s,l,g.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(k(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>t;)f=e[c=Math.floor(p)],S(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(k(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:v(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=b(m-f.size*f.align,0,s-f.size);for(c=e.length,g=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(o[c].pos=t.pos+e,void 0!==r&&Math.abs(o[c].pos-o[c].target)>r?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||s)-.1*s,o.reducedLen>.1*s&&i(o,s,r),!0):(e+=o[c].size,c++,!1)))}),k(o,a),o}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,m,i,e){let{animate:o,animObject:a,stop:d}=t,{deg2rad:R,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:r,attr:c,createElement:p,crisp:u,css:x,defined:y,erase:g,extend:b,fireEvent:v,isArray:S,isFunction:k,isObject:f,isString:C,merge:M,objectEach:w,pick:A,pInt:T,pushUnique:P,replaceNested:L,syncTimeout:O,uniqueKey:E}=e;class D{_defaultGetter(t){let e=A(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||C(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),A(i,l[p],l)),p=t.align,u=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(r+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(r),"bottom"===u?n=1:"middle"===u&&(n=2),n&&(o+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(A(e,this.renderer.globalAnimation,!0)),r=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),O(()=>{this.element&&o(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let r=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(r.style.fill)):t).split(" "),o=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"}),r.querySelector("textPath")||r),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(r.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let r=this["element"],o=D.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,r):(w(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==o.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,r)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=E()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),b(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,i=u(i,e),s=u(s,e);return b(t,{x:i,y:s,width:u(r,e)-i,height:u(o,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,l,d,c,p,u,g=[],f;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,l=t.stops,p=i.radialReference,S(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!y(a.gradientUnits)&&(n=a,a=M(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),w(a,function(t,e){"id"!==e&&g.push(e,t)}),w(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=E();let e=h[g]=s.createElement(o).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(r=m.parse(t[1])).get("rgb"),r.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let i=this.styles,s={},r=this.element,o,a=!i;if(i&&w(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?b(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),b(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let e=M(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(r,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*A(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,r="SPAN"===t.nodeName&&i.parentGroup||void 0,o,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=A(e,this.rotation,0),f=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",h.rootFontSize,f,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=o&&!t?c[o]:i)||i.polygon){if(u||h.forExport){try{r=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},k(r)&&r("none"),i=n.getBBox?b({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},k(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},`+Math.round(s)]||s);e={bBox:i=g?this.getRotatedBox(i,g):i};v(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===d||0[t-t*g,t*f]),M=i+d*(r-m)+v+C+c*y,w=M+m,A=w-o*y,T=A-m,P=s+c-d*x-S+k+c*b,L=P+x,O=L-o*b,E=O-x,D=Math.min(M,w,A,T),j=Math.min(P,L,O,E),I=Math.max(M,w,A,T)-D,B=Math.max(P,L,O,E)-j;return{x:D,y:j,width:I,height:B,polygon:[[M,P],[w,L],[A,O],[T,E]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=r(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(C(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=M(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;D.symbolCustomAttribs.forEach(function(t){i[t]=A(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=L(A(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+A(r,e.getAttribute("x"),0)+" "+A(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+A(a,1)+" "+A(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,u;if(y(t)?(o.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=r.childNodes).length-1;0<=u&&!d;u--)c=!y(l=(h=n[u]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!u?(r.insertBefore(o,n[u]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(r.insertBefore(o,n[u+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:o,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,r,o,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:r+this.bBox.x-n,y:o+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!o(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);o(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:v,isNumber:d,pick:S}=t;function r(g,f,m,x,y){let b=[];if(y){let t=y.start||0,e=S(y.r,m),i=S(y.r,x||m),s=2e-4/(y.borderRadius?1:Math.max(e,1)),r=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=u(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),u(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",u(e,{dy:o,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:o}=e,a=this.renderer.styledMode;if("b"===o||"strong"===o?a?s.class="highcharts-strong":r.fontWeight="bold":"i"!==o&&"em"!==o||(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===o){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===o&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==o&&"a"!==o&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,o,a,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,o?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=o?1:0,u=(t||o||"").length,g=u;if(l.rotation=0,a+(h=s(r.textContent.length))>e){for(;p<=u;)g=Math.ceil((p+u)/2),o&&(n=i(o,g)),h=s(g,n&&n.length-1),p===u?p=u+1:h>e?u=g-1:p=g;0===u?r.textContent="":t&&u===t.length-1||(r.textContent=n||i(t||o,g))}o&&o.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return o(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,r,l,o,a,n){let h,b=t["defaultOptions"],{charts:f,deg2rad:d,doc:m,isFirefox:c,isMS:v,isWebKit:p,noop:u,SVG_NS:g,symbolSizes:x,win:S}=i,{addEvent:k,attr:C,createElement:M,crisp:w,css:A,defined:T,destroyObjectProperties:P,extend:L,isArray:O,isNumber:E,isObject:D,isString:R,merge:j,pick:I,pInt:z,replaceNested:N,uniqueKey:W}=n;class B{constructor(t,e,i,s,r,o,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),C(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&C(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){A(t,{left:0,top:0}),h=t.getBoundingClientRect(),A(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=k(S,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&m.getElementsByTagName("base").length&&(T(h)||(t=W(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body),A(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=m.elementFromPoint(6,6),h="hitme"===(e&&e.id),m.body.removeChild(t)),h))return N(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=L({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},o,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0,g=(r=j(b.global.buttonTheme,r),c&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),f=r.style||{},m=(delete r.states,delete r.style,[y.filterUserAttributes(r)]),x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(j(m[0],y.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),k(d.element,v?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),k(d.element,v?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(m[t]),t=x[t],D(t)&&d.css(t))},d.attr(m[0]),c||(d.css(L({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=w(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=w(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return O(t)?e.d=t:D(t)&&L(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a,n=(D(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,r,o){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,L(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,C(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:I(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,o){function a(t){h.attr({href:e}),o.call(h,t)}let n={preserveAspectRatio:"none"},h=(E(t)&&(n.x=t),E(i)&&(n.y=i),E(s)&&(n.width=s),E(r)&&(n.height=r),this.createElement("image").attr(n));if(o){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;k(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let o,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof i&&(a=g.call(this.symbols,i||0,s||0,e||0,r||0,d)),o=this.path(a),l.styledMode||o.attr("fill","none"),L(o,{symbolName:u||void 0,x:i,y:s,width:e,height:r}),d&&L(o,d);else if(p){n=t.match(c)[1];let e=o=this.image(n);e.imgwidth=I(d&&d.width,x[n]&&x[n].width),e.imgheight=I(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:o,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&r&&o&&a&&n?(l=Math.min(r/a,o/n),C(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((r||0)-a*l)/2,((o||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,e.symbolUrl=t,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),M("img",{onload:function(){let t=f[l.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),T(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),o=t.getAttribute(s);for(let t=0,e;tt.align())}}return L(B.prototype,{Element:r,SVG_NS:g,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:u}),s.registerRendererType("svg",B,!0),B}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:b,createElement:h,defined:v,extend:o,pInt:l,pushUnique:r}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){r(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=l(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),o(this.styles,t),b(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:r,renderer:o,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,u={left:0,center:.5,right:1}[l],g=t.whiteSpace;if(b(r,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===r.tagName){let t=[a,l,r.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(m=this.textPxLength||(b(r,{width:"",whiteSpace:g||"nowrap"}),r.offsetWidth),((f=d||0)>this.oldTextWidth||f{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||r);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(o,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:o}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(o(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(C,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:M,defined:w,destroyObjectProperties:i,extend:A,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:L}=e;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,r=e.categories,o=e.logarithmic,a=e.names,n=t.pos,h=L(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(r?L(r[n],a[n],n):n),b=(o&&P(y)&&(y=M(o.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:P(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y}),v=(T(this,"labelFormat",b),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),C.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),S=v.call(b,b),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;xg||e.autoRotation&&(h.styles||{}).width)&&(m=g)),m&&(this.shortenLabel?this.shortenLabel():(u.width=Math.floor(m)+"px",(i.style||{}).textOverflow||(u.textOverflow="ellipsis"),h.css(u)))}moveLabel(e,t){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===e?(i.movedLabel=s,o=!0,delete i.label):n(r.ticks,function(t){o||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,o=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),o||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,r=s.horiz,o=this.pos,a=L(this.tickmarkOffset,s.tickmarkOffset),o=this.getPosition(r,o,a,e),a=o.x,n=o.y,h=s.pos,l=h+s.len,r=r?a:n,a=(!s.chart.polar&&this.isNew&&(M(r)w(e,void 0,void 0,I(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);f(u,{xAxis:o,yAxis:M(o,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=I(e.opposite,this.opposite),this.side=I(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),r=i.labels,e=(this.type??(this.type=i.type||"linear"),this.uniqueNames??(this.uniqueNames=i.uniqueNames??!0),D(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=I(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===this.type||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=O(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,I(i.crosshair,z(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!O(this.reversed)&&(this.reversed=!0),this.labelRotation=j(r.rotation)?r.rotation:void 0,n(this,i),D(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=M(e,u[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=j(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=u.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(r)p=""+this.value;else if(o)p=s.dateFormat(o,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;D(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(o=>{if(o.reserveSpace()){let t=o.options,e,i=t.threshold,s,r;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=o.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),j(i)&&j(s)&&j(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,I(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+r,I(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=m([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,-1===(s=O(s)?s:this.uniqueNames&&i?e?i.indexOf(t.name):I(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let r=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(r.max=Math.max(r.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=r.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,r=!!s.categories,o=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(o||r||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=r?1:o?I(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!r||(t=t.is("xrange")?!o:o,h=Math.max(h,t&&C(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&r?1:t),o&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,D(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return j(t)&&j(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=j(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:f,softMin:m}=h,x=j(g)&&i[this.coll]?.[g],y=h.tickPixelInterval,b=h.maxPadding,v=h.minPadding,S=0,k,C=j(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,M,w,A,T;if(o||e||x||this.getTickAmount(),A=I(this.userMin,h.min),T=I(this.userMax,h.max),x?(k=(this.linkedParent=x).getExtremes(),this.min=I(k.min,k.dataMin),this.max=I(k.max,k.dataMax),this.type!==x.type&&E(11,!0,i)):(l&&O(d)&&j(s)&&j(r)&&(d<=r?(M=d,v=0):s<=d&&(w=d,b=0)),this.min=I(A,M,r),this.max=I(T,w,s)),j(this.max)&&j(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,I(r,this.min))<=0&&E(10,!0,i),this.min=L(n.log2lin(this.min),16),this.max=L(n.log2lin(this.max),16)),this.range&&j(r)&&(this.userMin=this.min=A=Math.max(r,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),j(this.min)&&j(this.max)&&(!j(this.userMin)&&j(m)&&mthis.max&&(this.max=T=f),e||this.axisPointRange||this.stacking?.usePercentage||x||!(S=this.max-this.min)||(!O(A)&&v&&(this.min-=S*v),!O(T)&&b&&(this.max+=S*b)),!j(this.userMin)&&j(u)&&(this.min=Math.max(this.min,u)),!j(this.userMax)&&j(p)&&(this.max=Math.min(this.max,p)),l&&j(r)&&j(s)&&(P=d||0,!O(A)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(O(h.min)?this.max=this.min:O(h.max)&&(this.min=this.max)),S=this.max-this.min),this.min!==this.max&&j(this.min)&&j(this.max)?x&&!C&&y===x.options.tickPixelInterval?this.tickInterval=C=x.tickInterval:this.tickInterval=I(C,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,e?1:S*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),D(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!C&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=I(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!C&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],E(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=B(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&j(this.min)&&j(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==o&&i(t)===s&&(r=!0,a.push(t))})}if(r&&s){a.forEach(t=>{t=t.getThresholdAlignment(o);j(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return r}getThresholdAlignment(t){if((!j(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),j(this.threshold)){let t=b((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!O(t.tickInterval)&&!i&&this.leno.push(L(o[o.length-1]+p)),f=()=>o.unshift(L(o[0]-p));if(j(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(u=a-1-u)),t.hasData()&&j(s)&&j(i)){var m=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(j(u)&&j(t.threshold)){for(;o[u]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?f:g)();if(p>8*t.tickInterval)break;p*=2}m()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),D(this,"setExtremes",r=f(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(T(I(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(T(I(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(I(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(I(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-e,this.len=Math.max(s?r:o,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?L(t.lin2log(this.min)):this.min,max:t?L(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&o!==1/0&&h&&(e=Math.ceil(h/r)),L(e*r)}let t=this.options.labels,s=t.padding||0,e=this.horiz,r=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=t.rotation,n=L(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=r,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(j(a)?p=[a]:og&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",m=i.length;!r&&m--;)(f=o[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=o[t],i=e&&e.label,s=a.width,r={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${r.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(o.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",o.gridZIndex),this.axisGroup=e("axis","",o.zIndex),this.labelGroup=e("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][r]:r,l=e.hasData(),d=s.title,c=s.labels,p=j(s.crossing),u=t.axisOffset,g=t.clipOffset,f=[-1,1,1,-1][r],m,x=0,y,b=0,v=0,S,k;var C;e.showAxis=m=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===r||2===r||{1:"left",3:"right"}[r]===e.labelAlign,I(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(o[t].getLabelSize(),v)}),e.staggerLines&&(v*=e.staggerLines),e.labelOffset=v*(e.opposite?-1:1)):A(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],b=O(y=d.offset)?0:I(d.margin,i?5:10))),e.renderLine(),e.offset=f*I(s.offset,u[r]?u[r]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},k=0===r?-e.labelMetrics().h:2===r?e.tickRotCorr.y:0,S=Math.abs(v)+b,v&&(S=(S-=k)+f*(i?I(c.y,e.tickRotCorr.y+f*c.distance):I(c.x,f*c.distance))),e.axisTitleMargin=I(y,S),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(o,a)),"colorAxis"!==n&&g&&(C=this.tickSize("tick"),u[r]=Math.max(u[r],(e.axisTitleMargin||0)+x+f*e.offset,S,a&&a.length&&C?C[0]+f*e.offset:0),C=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,g[h]=Math.max(g[h],C)),D(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],r=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],o={x:e?a+l:r+(n?this.width:0)+h+l,y:e?r+d-(n?this.height:0)+h:a+d};return D(this,"afterGetTitlePosition",{titlePosition:o}),o}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new S(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new S(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let s,r,o=this,a=o.chart,n=o.logarithmic,t=a.renderer,e=o.options,i=o.isLinked,h=o.tickPositions,l=o.axisTitle,d=o.ticks,c=o.minorTicks,p=o.alternateBands,u=e.stackLabels,g=e.alternateGridColor,f=e.crossing,m=o.tickmarkOffset,x=o.axisLine,y=o.showAxis,b=k(t.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[d,c,p].forEach(function(t){A(t,function(t){t.isActive=!1})}),j(f)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(f,!0);o.horiz&&(t=e.len-t),o.offset=i*t}}if(o.hasData()||i){let i=o.chart.hasRendered&&o.old&&j(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){o.renderTick(t,e,i)}),m&&(0===o.min||o.single)&&(d[-1]||(d[-1]=new S(o,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(t,e){r=void 0!==h[e+1]?h[e+1]+m:o.max-m,e%2==0&&th&&(!d||o<=l)&&void 0!==o&&c.push(o),o>l&&(a=!0),o=r}else{var p=this.lin2log(h),s=this.lin2log(l),r=d?t.getMinorTickInterval():i.tickInterval,o=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=u(n=g("auto"===r?null:r,this.minorAutoInterval,(s-p)*o/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:o,extend:s,isNumber:c}=t;{t=e=e||{};let r;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new r(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&r)for(s&&(d=n.toString()===r.toString(),l=0),h=0;h{let t=[];for(var e of this.axes)for(var{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),i.compose(o,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){M(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:r,events:o,zIndex:a=0}=e,n={},h=t.chart.renderer,l=e.to,d=e.from,c=e.value,p=e.borderWidth,u=e.label,{label:g,svgElem:f}=this,m=[],x,y=C(d)&&C(l),b=C(c),v=!f,S={class:"highcharts-plot-"+(y?"band ":"line ")+(e.className||"")},k=y?"bands":"lines";if(t.chart.styledMode||(b?(S.stroke=r||"#999999",S["stroke-width"]=T(e.width,1),e.dashStyle&&(S.dashstyle=e.dashStyle)):y&&(S.fill=r||"#e6e9ff",p&&(S.stroke=e.borderColor,S["stroke-width"]=p))),k+="-"+(n.zIndex=a),(x=t.plotLinesAndBandsGroups[k])||(t.plotLinesAndBandsGroups[k]=x=h.g("plot-"+k).attr(n).add()),f||(this.svgElem=f=h.path().attr(S).add(x)),C(c))m=t.getPlotLinePath({value:s?.log2lin(c)??c,lineWidth:f.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!C(d)||!C(l))return;m=t.getPlotBandPath(s?.log2lin(d)??d,s?.log2lin(l)??l,e)}return!this.eventsAdded&&o&&(A(o,(t,e)=>{f?.on(e,t=>{o[e].apply(this,[t])})}),this.eventsAdded=!0),!v&&f.d||!m?.length?f&&(m?(f.show(),f.animate({d:m})):f.d&&(f.hide(),g&&(this.label=g=g.destroy()))):f.attr({d:m}),u&&(C(u.text)||C(u.formatter))&&m?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,r.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=R,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:r,outside:u,pointer:e}=this,{inverted:o,plotLeft:a,plotTop:n,polar:h}=r,{plotX:l=0,plotY:d=0}=t,g={},f=o&&t.h||0,{height:c,width:m}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=t=>{var e="x"===t;return[t,e?m:c,e?i:s].concat(u?[e?y(i):b(s),e?x.left-p+y(l+a):x.top-p+b(d+n),0,e?m:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+r.plotWidth:n+r.plotHeight])},S=v("y"),k=v("x"),C,M=!!t.negative,w=(!h&&r.hoverSeries?.yAxis?.reversed&&(M=!M),!this.followPointer&&X(t.ttBelow,!h&&!o===M)),A=function(t,e,i,s,r,o,a){var n=u?("y"===t?b:y)(p):p,h=(i-s)/2,l=se?r:r+f)}},T=function(t,e,i,s,r){if(re-p)return!1;g[t]=r{!1!==A.apply(0,S)?!1!==T.apply(0,k)||C||(P(!0),L()):C?g.x=g.y=0:(P(!0),L())};return(o&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=X(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=h(!r.isHidden&&r.options.animation),a=r.followPointer||1<(r.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(o,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=k(o),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,u=a.styledMode,g={},f=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!S(o)&&o.series&&o.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var o=this.getAnchor(o,t),m=o[0],x=o[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(g=d.getLabelConfig()).points=i):g=d.getLabelConfig(),this.len=i.length;let s=H(c)?b(c,g,a):p.call(g,this),r=d.series;if(this.distance=X(r.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=m,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==r.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(f&&this.tt||{});n.style.width&&!u||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),this.outside&&t.attr({x:W(t.x||0,0,this.getPlayingField().width-(t.width||0))}),u||t.attr({stroke:n.borderColor||d.color||r.color||"#666666"}),this.updatePosition({plotX:m,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:o[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}v(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:u,plotLeft:g,plotTop:f,scrollablePixelsY:r=0,scrollablePixelsX:o,styledMode:m},distance:x,options:y,options:{positioner:b},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},v=p.outside&&"number"!=typeof o?R.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},S=p.getLabel(),k=this.renderer||e.renderer,C=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),M=f+h,w,A=u-r;function T(t,e,i,s,r=!0){let o,a;return{x:a=i?(o=C?0:A,W(t-s/2,v.left,v.right-s-(p.outside?l:0))):(o=e-M,W(a=r?t-s-x:t+x,r?a:v.left,v.right)),y:o}}let P=(t=H(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(o,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:u,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:r,series:o}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=k.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,r)).attr(t).add(S)}return s.isActive=!0,s.attr({text:i}),m||s.css(y.style).attr({stroke:y.borderColor||e.color||o.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),r=s.width+i.strokeWidth();t&&(w=s.height,A+=w,C&&(M-=w));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:r=0,series:o}=h;var a,n;return i?(t=Math.max(g+s,g),e=f+u/2):({xAxis:a,yAxis:n}=o,t=a.pos+W(s,-x,a.len+x),o.shouldShowTooltip(0,n.pos-f+r,{ignoreX:!0})&&(e=n.pos+r)),{anchorX:t=W(t,v.left-x,v.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=b?b.call(p,r,l,h):T(n,a,t,r),o.push({align:b?0:void 0,anchorX:n,anchorY:a,boxWidth:r,point:h,rank:X(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return o},[]),L=(!b&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return G(t,{target:i,x:e})})),p.cleanSplit(),N(P,A),{left:l,right:l}),{container:O,outside:E,renderer:D}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tL.right&&(L.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+M,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(f(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),r&&(e.setState(),h(r,e),r.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),g(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),M(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,r=[],o={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),i.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),e=r.length;e--;)s[t=r[e]]&&o.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&o.plural.push(e)}),o}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=m()),this.resolveColor(),t.chart.pointCount++,M(this,"afterInit")}isValid(){return(w(this.x)||this.x instanceof Date)&&w(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(w(t)||null===t)o[s[0]]=t;else if(d(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"==a&&(o.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:r}=e,o=0,a=0;if(w(t)&&w(h))return n&&(o=s?s.pos:i.plotLeft,a=r?r.pos:i.plotTop),i.inverted&&s&&r?[r.len-h+a,s.len-t+o]:[t+o,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=A(this.options.colorIndex,a),this.color=A(this.options.color,s)}setNestedProperty(t,r,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?r:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=A(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=r||o?e.replace(RegExp(t+"}","g"),r+t+"}"+o):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let r,o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(e);var t=n&&o.hasMockGraphic,t=null===o.y?!t:t;n&&t&&(o.graphic=n.destroy(),delete o.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(o.graphic=n.destroy()),e?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=p(l.data[r],!0)||p(e,!0)?o.options:A(e,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=A(i,!0),!1===t?d():o.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=A(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=u(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(f(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=r(this,t,e))}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=k.plotOptions[i.type].marker&&i.options.marker,a=o&&!1===o.enabled,n=o&&o.states&&o.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=o&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===r.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=A(d.options.chart.animation,r.animation);let e=g.opacity;i.options.inactiveOtherPoints&&w(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,A(d.options.chart.animation,n.animation,o.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));var y=r.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(C({fill:this.color||i.color,"fill-opacity":y.opacity},S.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),M(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(o(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e){var i;let b=t["parse"],{charts:g,composed:s,isTouchDevice:o}=r,{addEvent:f,attr:a,css:n,extend:h,find:m,fireEvent:p,isNumber:l,isObject:v,objectEach:d,offset:c,pick:x,pushUnique:u,splat:y}=e;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],r.chartCount||(S.unbindDocumentMouseUp&&S.unbindDocumentMouseUp.forEach(t=>t()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:r}=this,{mouseDownX:o=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=r?1:i.plotHeight,s&&(e=h-o,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),!(10t.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));var o;e&&i.redraw(),s&&t&&(this.hasDragged&&(o=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...o},from:o})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:r,yAxis:o}=i.series,a=i.shapeArgs;if(r&&o){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:o.len+o.pos-e,chartY:r.len+r.pos-t}:{chartX:t+r.pos,chartY:e+o.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!o?t:this.findNearestKDPoint(l,r,o));return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=m(t.points,function(t){return t.x===c.x&&!t.isNull});v(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var r=s.pageX-e.left,o=s.pageY-e.top;return h(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),r.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(g[x(S.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){g[x(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:r}=i,o=[].map.call(e.touches||[],t=>i.normalize(t)),a=o.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(o),from:t(r),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=o}reset(e,t){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let r=this.chart,i=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=!!o&&o.shared,n=t||r.hoverPoint,h=n&&n.series||r.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),r.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!n.series)return;r.hoverPoints=c,(r.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(u?c:n,s)})}else p&&o&&!o.isHidden&&(t=o.getAnchor([{}],s),r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(r.container.ownerDocument,"mousemove",t=>g[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=r.hoverPoint)&&t.series[e.coll]===e?t:m(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(f(t,"mouseenter",this.onContainerMouseEnter.bind(this)),f(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=[]),S.unbindDocumentMouseUp.push(f(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(f(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(f(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),f(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=f(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),f(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(o){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),f(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=r.charts[x(S.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(S.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&16<=Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(i=S=S||{}).compose=function(t){u(s,"Core.Pointer")&&f(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},S}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:b,pick:v}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,v(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:o}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=r.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},f,m=o.marker,x=0;if(r.styledMode||(g["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?g.dashstyle=o.dashStyle:"square"!==o.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,u],["L",n-x,u]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),m&&!1!==m.enabled&&n){let t=Math.min(v(m.radius,d),d);0===l.indexOf("url")&&(m=b(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,u-t,2*t,2*t,y({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,r){let o=h.plotOptions||{};if(e=e||"",o[t]=c(o[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,r){class p extends a{}l(p.prototype,r),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,r=e.prototype;return r.type=t,r.pointClass||(r.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,o,a,d,c){let{animObject:p,setAnimation:u}=t,g=e["defaultOptions"],n=i["registerEventOptions"],{svg:f,win:m}=s,y=a["seriesTypes"],{arrayMax:C,arrayMin:M,clamp:w,correctFloat:A,crisp:x,defined:T,destroyObjectProperties:R,diffObjects:z,erase:b,error:P,extend:v,find:N,fireEvent:L,getClosestDistance:W,getNestedProperty:h,insertItem:S,isArray:O,isNumber:E,isString:G,merge:D,objectEach:k,pick:j,removeEvent:H,splat:X,syncTimeout:I}=c;class B{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(L(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,o=!1!==e.visible,o=(s.linkedSeries=[],s.bindAxes(),v(s,{name:e.name,state:"",visible:o,selected:!0===e.selected}),n(this,e),e.events);(o&&o.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),L(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;L(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),L(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=E(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},o||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(o?{}:{color:this.color,fillColor:this.fillColor}),L(this,"afterSetOptions",{options:c}),c}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||o.options.chart.colorCount;e||(T(r=j("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||g.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var o=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(o){o=this.chart.get(o);o instanceof l&&(i=o)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=N(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&E(a)?this.xData.indexOf(a,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&E(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,o=r.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||E(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==r.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||o&&o.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||o&&o.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=C(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=r.pointArrayMap,f=g&&g.length,m=n.keys,x,y,b,v=0,S=1,k;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,k=D(!0,e));var C=(e=k||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(b=h.options.chart.allowMutatingData&&!1!==s&&C&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):b)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=c&&c!(!O(t)||!m&&!E(t[0]));if(E(s)&&E(M))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],u=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,h=a.start,n=!0));t=W([r?p.map(r.log2lin):p],()=>e.requireSorting&&!g&&P(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,L(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g=x&&(S[f-o]||u)<=y,c&&p)if(m=g.length)for(;m--;)E(g[m])&&(r[b++]=g[m]);else r[b++]=g;var k={activeYData:r,dataMin:M(r),dataMax:C(r)};return L(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,L(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=j(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,o=(i=y?a-i:i)-s;r?.push(["L",e,Math.abs(o){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],v?a-t[1]:t[1],v?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=w(o.toPixels(j(t.value,e),!0)||0,0,a)}),f&&!this.showLine&&f.hide(),g&&g.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(m.reversed&&e.reverse(),t),o=0,a=0,n=m.len,h=x.len;v?(o=i,n=u):(a=i,h=u);var l=[["M",o,a],["L",n,a],["L",n,h],["L",o,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),u=i,y&&(c(d),g&&c(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=b.path(d),g&&(r=t.simpleClip=b.path(l))),f&&t.graph?.clip(s),g&&t.area?.clip(r)})}else this.visible&&(f&&f.show(),g&&g.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||H(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=p(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;L(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=I(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,L(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[o=Math.floor(a/2)],left:t(e.slice(0,o),i+1,s),right:t(e.slice(o+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let g=this,[f,m]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(g.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!g.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let o=i.point,a=g.kdAxisArray[s%r],n,h,l=o;p=o,u=(d=e)[f],c=p[f],u=T(u)&&T(c)?u-c:null,c=d[m],d=p[m],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((u&&u*u||0)+c*c)-d,p.distX=T(u)?Math.abs(u)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(o[a]||0)+(y&&o.marker?.radius||0),p=c<0?"left":"right",u=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,r))[x]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(f?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),L(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=j(e,!0);var g={series:this},f=(this.pointClass.prototype.applyOptions.apply(g,[t]),g.x);if(a=u.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[f]=g.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==r&&L(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(a||{series:r},"splice",[t,1]),a&&a.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,o=r.data,a=o[t],n=r.points,h=r.chart;u(i,h),e=j(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),j(t,!0)&&o.redraw(e)}!1!==i?L(r,"remove",null,a):a()}update(t,e){L(this,"update",{options:t=z(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=y[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||r.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),f=(u=u||o,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&v(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=D(r,{index:(void 0===r.index?i:r).index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[u].prototype);else{var m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;v(i,y[u].prototype),m?i.hcEvents=m:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=o,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),L(this,"afterUpdate"),j(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&L(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&L(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=j(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=j(a[e].opacity,l)),r&&!r.dashstyle&&E(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&o&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!o:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),L(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),L(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return B.defaultOptions=o,B.types=a.seriesTypes,B.registerType=a.registerSeriesType,v(B.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=B}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,u,g,s,r,o){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],f=r["format"],{addEvent:m,createElement:x,css:y,defined:b,discardElement:v,find:S,fireEvent:k,isNumber:C,merge:M,pick:w,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:L}=o;class O{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=w(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=M(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=w(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(M(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,w(e,!0)&&i.redraw(),k(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:r,marker:o}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(M(h?this.itemStyle:t)),c?.attr(a({stroke:r||n.color})),p&&p.attr(a(o&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}k(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},e[b(e.translateY)?"animate":"attr"](h,void 0,()=>{k(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&v(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,r=this.group&&this.group.alignAttr,o=this.clipHeight||this.legendHeight,a=this.titleHeight;r&&(s=r.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:r.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*S?v.height:S))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?w(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&w(e.showInLegend,!b(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),k(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let r=this.chart,o=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!b(i[e])&&(r[l[e]]=Math.max(r[l[e]],r.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*o[e%2?"x":"y"]+w(o.margin,12)+s[e]+(r.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,r,o;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=S(s?t.points:t.points.slice(0).reverse(),function(t){return C(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-a.plotTop,r=t.visible?(e?e.plotY:t.yAxis.height)+(o-.3*i):o+t.yAxis.height,n.push({target:r,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},C(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0b&&!1!==c.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=t,f.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=g.length;(!r||i-g[r-1]>m&&(x||i)!==g[r-1])&&(g.push(x||i),r++),y.pageIx=r-1,x&&((f[e-1].legendItem||{}).pageIx=r-1),e===f.length-1&&i+s-g[r-1]>m&&i>g[r-1]&&(g.push(i),y.pageIx=r),i!==x&&(x=i)}),S||(S=s.clipRect=o.clipRect(0,l-2,9999,0),s.contentGroup.clip(S)),e(m),v||(this.nav=v=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(v),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(v),this.down=o.symbol("triangle-down",0,0,u,u).add(v),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=b):v&&(e(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>r?r:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===r?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),L(()=>{k(this,"afterScroll",{currentPage:l})},d(w(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},o=s.chart.renderer.boxWrapper,a=i instanceof g,n=i instanceof u,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,r.symbol]:[r.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&o.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(M(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),o.removeClass(h),i.setState()}).on("click",function(t){o.removeClass(h),k(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&k(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),m(e.checkbox,"click",function(t){t=t.target;k(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=O=O||{}).compose=function(t){A(h,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},O}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,z,a,N,W,G,H,u,r,c,X){let{animate:n,animObject:F,setAnimation:f}=t,{defaultOptions:h,defaultTime:Y}=e,U=i["numberFormat"],g=z["registerEventOptions"],{charts:p,doc:m,marginNames:l,svg:V,win:o}=a,d=G["seriesTypes"],{addEvent:x,attr:y,createElement:b,css:v,defined:M,diffObjects:S,discardElement:q,erase:_,error:k,extend:w,find:C,fireEvent:A,getStyle:T,isArray:Z,isNumber:P,isObject:K,isString:L,merge:O,objectEach:E,pick:D,pInt:$,relativeLength:j,removeEvent:I,splat:B,syncTimeout:J,uniqueKey:Q}=r;class R{static chart(t,e,i){return new R(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(L(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:D(t.zoomType,e.type),key:D(t.zoomKey,e.key),pinchType:D(t.pinchType,e.pinchType),singleTouch:D(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:O(e.resetButton,t.resetZoomButton)}}init(i,s){A(this,"init",{args:arguments},function(){var t=O(h,i),e=t.chart;this.userOptions=w({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new u(i.time):a.time,this.numberFormatter=e.numberFormatter||U,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,g(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),A(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],r=(s||k(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],r=this.options[t]=B(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?B(this.userOptions[t]).slice():[];if(this.hasRendered&&(r.splice(i),o.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(g.isInsidePlot=!1)),!i.ignoreY&&g.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+u:a+u)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(g.isInsidePlot=!1)),A(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){A(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):o&&(o.labelFormatter||o.labelFormat)&&(u=!0)),t.isDirtyData&&A(t,"updatedData")}),u&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){A(t,"afterSetExtremes",w(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),A(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),A(this,"redraw"),A(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let r=C(this.axes,s)||C(this.series,s);for(let t=0;!r&&t(t.getPointsCollection().forEach(t=>{D(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=O(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),e&&!r&&((r=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||r.css(w("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=r)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",r="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var o;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,o=Math.round(e.getBBox(i.useHTML).height),e.align(w({y:"bottom"===s?t:r+t,height:o},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+o):"bottom"===s&&(a[2]=Math.ceil(a[2]+o))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,A(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{var e;if(t!==this.container)return e=t.style.display,t.style.display="none",[t,e]}),e={width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox(),s=1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(o,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,f(i,s);var i=r.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:v)(s.container,{width:t+o+"px",height:e+a+"px"},i),s.setChartSize(!0),r.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,A(s,"resize"),setTimeout(()=>{s&&A(s,"endResize")},F(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,r;let{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),A(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){A(this,"resetMargins");let r=this,o=r.options.chart,t=o.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=o[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){r[i][e]=D(o[i+t],s[e])})}),l.forEach(function(t,e){r[t]=D(r.margin[e],r.spacing[e])}),r.axisOffset=[0,0,0,0],r.clipOffset=[e,e,e,e],r.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,S,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),r?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(b||m["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=b),m.attr(S).shadow(t.shadow)),m[k]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](u),r||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,A(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,r=this,o=r.options.chart,a=r.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[o.type],s=o[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);r[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(L(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=D(e.options.visible,t.options.visible,e.visible))}}),A(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(var l of(this.setTitle(),A(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){o=d.tickLength,l.createGroups();let t=new X(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),o=e&&D(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):o){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||1(h?1:1.1),n=g/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=O(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(o.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,r=i.container,o=r&&r.parentNode;for(A(i,"destroy"),i.renderer.forExport?_(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),I(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),r&&(r.innerHTML=c.emptyHTML,I(r),o&&q(r)),E(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),Z(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),A(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),A(this,"load"),A(this,"render"),M(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),A(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),v(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:r,selection:o,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:u,len:g,minPointOffset:f=0,options:m,reversed:x}=p,y=u?"width":"height",b=u?"x":"y",v=D(a[y],p.len),y=D(i[y],p.len),S=Math.abs(v)<10?1:v/y,y=(i[b]||0)+y/2-p.pos,b=y-((a[b]??p.pos)+v/2-p.pos)/S,v=x&&!h||!x&&h?-1:1;if(r||!(y<0||y>p.len)){let t=p.toValue(b,!0)+(o||p.isOrdinal?0:f*v),e=p.toValue(b+g/S,!0)-(!o&&!p.isOrdinal&&f*v||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==S&&!r&&"yAxis"===p.coll&&!i){for(var k of p.series){k=k.getExtremes(k.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(k.dataMin)&&P(k.dataMax)&&(i.dataMin=Math.min(k.dataMin,i.dataMin),i.dataMax=Math.max(k.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:g,max:f}=w(p.getExtremes(),i||{}),v=x??m.min,x=y??m.max,y=e-t,C=p.categories?0:Math.min(y,x-v),v=v-C*(M(m.min)?0:m.minPadding),x=x+C*(M(m.max)?0:m.maxPadding),C=p.allowZoomOutside||1==S||"zoom"!==n&&1m&&(e=m,1<=S&&(t=e-y)),(r||p.series.length&&(t!==g||e!==f)&&t>=v&&e<=m)&&(o?o[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(r?void 0:t,r?void 0:e,!1,!1,{move:b,trigger:n,scale:S}),!r&&(t>v||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return w(R.prototype,{callbacks:[],collectionsWithInit:{xAxis:[R.prototype.addAxis,[!0]],yAxis:[R.prototype.addAxis,[!1]],series:[R.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),R}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let w=t["stop"],s=e["composed"],{addEvent:u,createElement:g,css:A,defined:T,merge:f,pushUnique:r}=i;function o(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){r(s,this.compose)&&(u(t,"afterInit",a),u(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),u(e,"render",o),u(i,"show",a))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=f(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=f(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,r=!1)),T(r)&&!e.skipAxes))for(var c of t.axes)c.horiz===r&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),r=t.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),A(i.renderTo,{overflow:"visible"}),u(i,"afterShowResetZoom",o),u(i,"afterApplyDrilldown",o),u(i,"afterLayOutTitles",o),u(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=o+p,x=a+u,y=(e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),w(t.container),A(n,{width:m+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),A(s,{width:o+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*g,s.scrollTop=u*f),d-r[0]-1),b=l-r[3]-1,v=d+h+r[2]+1,S=l+c+r[1]+1,k=l+c-p,C=d+h-u,M=[["M",0,0]];p?M=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",k,y],["L",o,y],["L",o,v],["L",k,v],["Z"]]:u&&(M=[["M",b,0],["L",b,d-1],["L",S,d-1],["L",S,0],["Z"],["M",b,C],["L",b,a],["L",S,a],["L",S,C],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:M})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let o=t["format"],g=e["series"],{destroyObjectProperties:s,fireEvent:f,isNumber:m,pick:x}=i;return class{constructor(t,e,i,s,r){var o=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,r=t?o(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:r,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,f(this,"afterRender")}setOffset(t,e,r,o,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:r,boxTop:o,defaultX:i,xAxis:s}),u=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:r,y:o}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=r,p.y-=o,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+r,h.alignAttr.y+a.y+o))?i:!1)&&g.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=m(h.x)&&m(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}f(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(r,d.translate(this.x))+o,p=Math.abs(l-e.toPixels(n||m(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,A,s){let a=t["getDeferredAnimation"],{prototype:r}=i["series"],{addEvent:o,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:L,isNumber:l,objectEach:d,pick:O}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,O(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function u(){this.stacking||(this.stacking=new b(this))}function g(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function f(){let o,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,r;for(;e--;)i=h[e],o=a.getStackIndicator(o,i,a.index,t),(r=(s=n[t]?.[i])?.points[o.key||""])&&l.call(a,r,s,e)})}function m(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return{compose:function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(o(t,"init",u),o(t,"destroy",p),s.getStacks=c,r.getStackIndicator=g,r.modifyStacks=f,r.percentStacker=m,r.setGroupedPoints=x,r.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:m,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,r=s?"animate":"attr",o=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},o?i.dashstyle=o:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[r](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],u=[],g,f=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&t&&(f=4-f),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,r=t.plotY,o=n[e-1],a=t.isNull||"number"!=typeof r;(t.leftCliff||o&&o.rightCliff)&&!l&&(g=!0),g=a&&!m(h)&&0{let i={},s=t.fillColor||n.fillColor,r=t.area,o=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:a.xMap,r.animate({d:a})):(i.zIndex=0,(r=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[o](i),r.startX=a.xMap,r.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],r=p&&x[s.x].points[m],o=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||o?(n=(o?r[0]:r[1])+a,h=r[0]+a,l=!!o):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(f.push({plotX:c,plotY:null===n?b:u.getThreshold(n),isNull:l,isCliff:!0}),g.push({plotX:c,plotY:null===h?b:u.getThreshold(h),doCurve:!1}))}let c,s,r,t=S.prototype.getGraphPath,e=this.options,p=e.stacking,u=this.yAxis,g=[],f=[],m=this.index,x=u.stacking.stacks[this.stackKey],y=e.threshold,b=Math.round(u.getThreshold(e.threshold)),o=k(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=v.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,v}getStackPoints(e){let d=this,s=[],c=[],r=this.xAxis,p=this.yAxis,u=p.stacking.stacks[this.stackKey],g={},f=p.series,m=f.length,x=p.options.reversedStacks?1:-1,y=f.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(o,a){let e=0,n,h;if(g[o]&&!g[o].isNull)s.push(g[o]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=u[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,r=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof o.x){let e=t[o.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),r=t.length}}}),s=this.xAxis.reversed?r-1-s:s;var n=(r-1)*a.paddedWidth+e;t=(o.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,u=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(u.borderWidth,t?0:1),g=c.xAxis,f=c.yAxis,m=u.threshold,x=P(u.minPointLength,5),y=c.getColumnMetrics(),b=y.width,v=c.pointXOffset=y.offset,S=c.dataMin,k=c.dataMax,C=c.translatedThreshold=f.getThreshold(m),M=c.barW=Math.max(b,1+2*e);u.pointPadding&&(M=Math.ceil(M)),r.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,C),i=999+Math.abs(e),s=t.plotX||0,r=w(t.plotY,-i,f.len+i),o,a=Math.min(r,e),n=Math.max(r,e)-a,h=b,l=s+v,d=M;x&&Math.abs(n)x?e-x:C-(o?x:0)),A(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-b)/2)),u.centerInCategory&&!u.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[w(f.len+f.pos-p.plotLeft-r,f.pos-p.plotLeft,f.len+f.pos-p.plotLeft),g.len+g.pos-p.plotTop-l-d/2,n]:[g.left-p.plotLeft+l+d/2,w(r+f.pos-p.plotTop,f.pos-p.plotTop,f.len+f.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?C:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[r]||i[r]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[o]||i[o]||this[o]||0,u=P(t&&t.opacity,i.opacity,1),g=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&f(l).brighten(a.brightness).get()||l,d=a[r]||d,p=a[o]||p,c=a.dashStyle||c,u=P(a.opacity,u)),{fill:l,stroke:d,"stroke-width":p,opacity:u});return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let o,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,r=i&&n.pointCountt?.enabled)}function a(t,e,i,s,r){let{chart:o,enabledDataSorting:a}=this,n=this.isCartesian&&o.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&o.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===E(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||E(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();var f,m,x,y,b;u&&g&&(f=e.getBBox(),m=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=v({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),v(i,{width:f.width,height:f.height}),b=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,r,c,b),e.align(S(i,{width:m.width,height:m.height}),!1,s,!1),e.alignAttr.x+=x*(m.width-f.width),e.alignAttr.y+=y*(m.height-f.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(f.width-m.width)/2,y:e.alignAttr.y+(f.height-m.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,f,s,r):E(i.crop,!0)&&({x:t,y:b}=e.alignAttr,u=o.isInsidePlot(t,b,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+f.width-1,b+f.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[r?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})),r&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let v,S=(t=t||this.points,this),k=S.chart,C=S.options,M=k.renderer,{backgroundColor:e,plotBackgroundColor:i}=k.options.chart,w=M.getContrast(L(i)&&i||L(e)&&e||"#000000"),s=g(S),{animation:r,defer:o}=s[0],a=o?n(k,r,S):{defer:0,duration:0};P(this,"drawDataLabels"),S.hasDataLabels?.()&&(v=this.initDataLabels(a),t.forEach(y=>{let b=y.dataLabels||[],t=(h(u(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(f=x.operator,m=y[x.property],x=x.value,">"===f&&x="===f&&x<=m||"<="===f&&m<=x||"=="===f&&m==x||"==="===f&&m===x||"!="===f&&m!=x||"!=="===f&&m!==x)),{backgroundColor:s,borderColor:r,distance:o,style:a={}}=t,n,h,l,d,c={},p=b[e],u=!p,g;var f,m,x;i&&(h=E(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?A(h,n,k):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,k.styledMode||(a.color=E(t.color,a.color,L(S.color)?S.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(g=s),y.contrastColor=M.getContrast("auto"!==g&&g||y.color||S.color),a.color=g||!T(o)&&t.inside||D(o||0)<0||C.stacking?y.contrastColor:w):delete y.contrastColor,C.cursor&&(a.cursor=C.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},k.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===r?y.color:r,c["stroke-width"]=t.borderWidth),O(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,u=!0),i&&T(l)&&(p?c.text=l:(p=M.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),k.styledMode?a.width&&p.css({width:a.width,textOverflow:a.textOverflow}):p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(v),S.alignDataLabel(y,p,t,void 0,u),p.isActive=!0,b[e]&&b[e]!==p&&b[e].destroy(),b[e]=p))}),b.length);for(;t--;)b[t]&&b[t].isActive?b[t].isActive=!1:(b[t]?.destroy(),b.splice(t,1));y.dataLabel=b[0],y.dataLabels=b})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&0<=g?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&0<=f?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!o,t.align(e,void 0,r)),x}function u(e,i){let t=[],s;if(r(e)&&!r(i))t=e.map(function(t){return S(t,i)});else if(r(i)&&!r(e))t=i.map(function(t){return S(e,t)});else if(r(e)||r(i)){if(r(e)&&r(i))for(s=Math.max(e.length,i.length);s--;)t[s]=S(e[s],i[s])}else t=S(e,i);return t}function g(t){var e=t.chart.options.plotOptions;return h(u(u(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function f(t,e,i,s,r){var o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?r.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var r;let o=t["composed"],c=i["series"],{merge:p,pick:u,pushUnique:a}=s;return(r||(r={})).compose=function(t){e.compose(c),a(o,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},r;function n(t,e,i,s,r){var o=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=u(t.below,t.plotY>u(this.translatedThreshold,a)),d=u(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,r,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:u,y:g}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",u,g]];return(p?f<=u&&f>=s.x:f>=u&&f<=s.x)&&m.push(["L",f,g]),m.push(["L",s.x,s.y],["L",r.x,r.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:b,merge:p,pick:u}=h;class g extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}b(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),b=f.center,v=b[2]/2,n=b[1],h=[[],[]],S=[0,0,0,0],k=f.dataLabelPositioners,l,C,M,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=b[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[r.half].push(r),!w(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,r;t&&(f.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(g&&w(i)&&0m-o&&0===u&&(t=Math.round(h+C-m+o),S[1]=Math.max(t,S[1])),l-M/2<0?S[0]=Math.max(Math.round(-l+M/2),S[0]):l+M/2>x&&(S[2]=Math.max(Math.round(l+M/2-x),S[2])),s.sideOverflow=t}}})}))}),0!==u(S)&&!this.verifyDataLabelOverflow(S)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=f),r+=f),m(g,{brBoxHeight:r,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,r={}){let o=M(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(r=C(c,c-u),f[0]-=r,m[0]+=r,x[1]=k[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u,g,f,m,x,y,b,v,S,k,C,M,w,A,T,P,L,O,E,D,j,I,B){return t.AST=o,t.Axis=p,t.Chart=k,t.Color=I,t.DataLabel=O,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||E,t.PlotLineOrBand=f,t.Point=y,t.Pointer=b,t.RendererRegistry=n,t.Series=A,t.SeriesRegistry=T,t.StackItem=w,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=B,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=k.chart,t.color=I.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),O.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),E.compose(t.Chart),L.compose(t.Series.types.pie),f.compose(t.Chart,t.Axis),b.compose(t.Chart),j.compose(t.Chart),C.compose(t.Axis,t.Chart,t.Series),M.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),(t["masters/highcharts.src.js"]._modules=t)["masters/highcharts.src.js"]}); \ No newline at end of file diff --git a/assets/js/external/highcharts/highmaps.min.js b/assets/js/external/highcharts/highmaps.min.js index 4d78d5f..23ccf4c 100644 --- a/assets/js/external/highcharts/highmaps.min.js +++ b/assets/js/external/highcharts/highmaps.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define("highcharts/highmaps",function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(r){"use strict";var t={};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),r&&"function"==typeof CustomEvent&&r.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}return e(t,"Core/Globals.js",[],function(){var t,i=t={SVG_NS:"http://www.w3.org/2000/svg",product:"Highcharts",version:"11.4.7"};return i.win=void 0!==r?r:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&parseInt(i.userAgent.split("Firefox/")[1],10)<4,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;var e;return i.isMS||(e=Object.defineProperty({},"passive",{get:function(){t=!0}}),i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))),t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,t}),e(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){let i,{charts:e,doc:a,win:h}=n;function l(t,e,i,s){var r=e?"Highcharts error":"Highcharts warning";let o=m(t=32===t?r+": Deprecated member":t),a=o?r+` #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let i="";o&&(a+="?"),S(s,function(t,e){i+=` - - ${e}: `+t,o&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=i}w(n,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);h.console&&-1===l.messages.indexOf(a)&&console.warn(a)}),l.messages.push(a)}function d(t,e){return parseInt(t,e||10)}function c(t){return"string"==typeof t}function p(t){t=Object.prototype.toString.call(t);return"[object Array]"===t||"[object Array Iterator]"===t}function u(t,e){return!(!t||"object"!=typeof t||e&&p(t))}function o(t){return u(t)&&"number"==typeof t.nodeType}function g(t){var e=t&&t.constructor;return!(!u(t,!0)||o(t)||!e||!e.name||"Object"===e.name)}function m(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&-1/0{f(t)?i.setAttribute(e,t):r?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?o(e,t):S(t,o),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function b(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,o)&&o.preventDefault()})}t&&!o.defaultPrevented&&t.call(s,o)}S({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var r=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t,o=(Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={}),r.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(s),o[e].sort((t,e)=>t.order-e.order),function(){k(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:v,defined:f,destroyObjectProperties:function(i,s,r){S(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&r||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,r,o,a){let n=i?r:t;S(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let o=h.getComputedStyle(s,void 0);return o&&(r=o.getPropertyValue(t),b(e,"opacity"!==t)&&(r=d(r))),r},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return C(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:S,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:b,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:k,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var r=t.length;for(e=0;e{try{var e="shortOffset,"+(o.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:o.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),r=-36e5*(i+s/60);if(n(r))return r}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return u.defaultOptions.lang&&u.defaultOptions.lang.invalidDate||"";i=v(i,"%Y-%m-%d %H:%M:%S");let r=this,e=new this.Date(s),o=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=u.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return g(b({a:p?p[a]:c[a].substr(0,3),A:c[a],d:m(n),e:m(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:m(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:m(o),k:o,I:m(o%12||12),l:o%12||12,M:m(this.get("Minutes",e)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:m(this.get("Seconds",e)),L:m(Math.floor(s%1e3),3)},u.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(r,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=r(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let r,o,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),u=t.unitRange,g=t.count||1;if(s=v(s,1),y(e)){h.set("Milliseconds",p,u>=M.second?0:g*Math.floor(h.get("Milliseconds",p)/g)),u>=M.second&&h.set("Seconds",p,u>=M.minute?0:g*Math.floor(h.get("Seconds",p)/g)),u>=M.minute&&h.set("Minutes",p,u>=M.hour?0:g*Math.floor(h.get("Minutes",p)/g)),u>=M.hour&&h.set("Hours",p,u>=M.day?0:g*Math.floor(h.get("Hours",p)/g)),u>=M.day&&h.set("Date",p,u>=M.month?1:Math.max(1,g*Math.floor(h.get("Date",p)/g))),u>=M.month&&(h.set("Month",p,u>=M.year?0:g*Math.floor(h.get("Month",p)/g)),o=h.get("FullYear",p)),u>=M.year&&(o-=o%g,h.set("FullYear",p,o)),u===M.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*M.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(r=1;tt){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=e["isTouchDevice"],{fireEvent:a,merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:r,merge:o,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,r,o=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(o&&o!==l)return new o(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(r=l.parsers[s]).regex.exec(t))&&(i=r.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&r(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=o(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(r(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(o),!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[o,o];function g(t,e){for(;t.length{t=h(t.options.animation);o=p(e)&&n(e.defer)?s.defer:Math.max(o,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(o=0),{defer:Math.max(0,o-a),duration:Math.min(o,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:m}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:r,css:u,error:g,isFunction:i,isString:o,objectEach:m,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class f{static filterUserAttributes(s){return m(s,(e,t)=>{let i=!0;-1===f.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?o(e)&&f.allowedReferences.some(t=>0===e.indexOf(t)):i)||(g(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),o(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=f.emptyHTML,e&&new f(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let r;var o=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=f.bypassHTMLFiltering;if(o)if("#text"===o)r=a;else if(-1!==f.allowedTags.indexOf(o)||n){let t="svg"!==o&&l.namespaceURI||c,e=d.doc.createElementNS(t,o),i=s.attributes||{};m(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:f.filterUserAttributes(i)),s.style&&u(e,s.style),a&&e.appendChild(a),h(s.children||[],e),r=e}else g(33,!1,void 0,{"Invalid tagName in config":o});r&&l.appendChild(r),e=r}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=r("div");t.innerHTML=e,i={body:t}}let o=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var r=t.attributes;if(r){let e={};[].forEach.call(r,t=>{"data-style"===t.name?s.style=f.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{o(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>o(t,s)),s}}return f.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],f.allowedReferences=["https://","http://","mailto:","/","../","./","#"],f.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],f.emptyHTML=h,f.bypassHTMLFiltering=!1,f}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:b,defaultTime:v}=t,{extend:r,getNestedProperty:M,isArray:o,isNumber:u,isObject:a,pick:C,pInt:g}=e,S={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!o(i)&&i.map((t,e)=>k(s.body,r(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function k(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,u=/\.(\d)/,g=b.lang,m=c&&c.time||v,f=c&&c.numberFormatter||w,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:M(t,d))},r,o,a=0,n;for(;null!==(r=e.exec(t));){var h,l=i.exec(r[1]),y=(l&&(r=l,n=!0),o&&o.isBlock||(o={ctx:d,expression:r[1],find:r[0],isBlock:"#"===r[1].charAt(0),start:r.index,startInner:r.index+r[0].length,length:r[0].length}),r[1].split(" ")[0].replace("#","")),y=(S[y]&&(o.isBlock&&y===o.fn&&a++,o.fn||(o.fn=y)),"else"===r[1]);if(o.isBlock&&o.fn&&(r[1]==="/"+o.fn||y)?a?y||a--:(h=o.startInner,h=t.substr(h,r.index-h),void 0===o.body?(o.body=h,o.startInner=r.index+r[0].length):o.elseBody=h,o.find+=h+r[0],y||(s.push(o),o=void 0)):o.isBlock||s.push(o),l&&!o?.isBlock)break}return s.forEach(i=>{let s,r,{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(r=S[h].length;r--;)t.unshift(x(e[r+1]));s=S[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=k(s?o:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(u)||["","-1"])[1],10),null!==s&&(s=f(s,l,g.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,m,f,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(C(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>t;)m=e[c=Math.floor(p)],M(l,c)&&(x-=m.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(C(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:v(t.align,.5)}));g;){for(c=e.length;c--;)m=e[c],f=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=b(f-m.size*m.align,0,s-m.size);for(c=e.length,g=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(o[c].pos=t.pos+e,void 0!==r&&Math.abs(o[c].pos-o[c].target)>r?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||s)-.1*s,o.reducedLen>.1*s&&i(o,s,r),!0):(e+=o[c].size,c++,!1)))}),C(o,a),o}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,f,i,e){let{animate:o,animObject:a,stop:d}=t,{deg2rad:z,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:r,attr:c,createElement:p,crisp:u,css:x,defined:y,erase:g,extend:b,fireEvent:v,isArray:M,isFunction:C,isObject:m,isString:S,merge:k,objectEach:w,pick:A,pInt:T,pushUnique:P,replaceNested:L,syncTimeout:j,uniqueKey:O}=e;class E{_defaultGetter(t){let e=A(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||S(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),A(i,l[p],l)),p=t.align,u=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(r+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(r),"bottom"===u?n=1:"middle"===u&&(n=2),n&&(o+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(A(e,this.renderer.globalAnimation,!0)),r=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),j(()=>{this.element&&o(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let r=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(r.style.fill)):t).split(" "),o=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"}),r.querySelector("textPath")||r),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(r.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let r=this["element"],o=E.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,r):(w(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==o.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,r)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=O()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),b(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,i=u(i,e),s=u(s,e);return b(t,{x:i,y:s,width:u(r,e)-i,height:u(o,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,l,d,c,p,u,g=[],m;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,l=t.stops,p=i.radialReference,M(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!y(a.gradientUnits)&&(n=a,a=k(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),w(a,function(t,e){"id"!==e&&g.push(e,t)}),w(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=O();let e=h[g]=s.createElement(o).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(r=f.parse(t[1])).get("rgb"),r.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}m="url("+s.url+"#"+u+")",i.setAttribute(e,m),i.gradient=g,t.toString=function(){return m}}})}css(t){let i=this.styles,s={},r=this.element,o,a=!i;if(i&&w(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?b(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),b(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let e=k(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(r,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*A(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,r="SPAN"===t.nodeName&&i.parentGroup||void 0,o,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=A(e,this.rotation,0),m=h.styledMode?n&&E.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",h.rootFontSize,m,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=o&&!t?c[o]:i)||i.polygon){if(u||h.forExport){try{r=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},C(r)&&r("none"),i=n.getBBox?b({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},C(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${m||""},`+Math.round(s)]||s);e={bBox:i=g?this.getRotatedBox(i,g):i};v(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===d||0[t-t*g,t*m]),k=i+d*(r-f)+v+S+c*y,w=k+f,A=w-o*y,T=A-f,P=s+c-d*x-M+C+c*b,L=P+x,j=L-o*b,O=j-x,E=Math.min(k,w,A,T),D=Math.min(P,L,j,O),B=Math.max(k,w,A,T)-E,I=Math.max(P,L,j,O)-D;return{x:E,y:D,width:B,height:I,polygon:[[k,P],[w,L],[A,j],[T,O]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=r(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(S(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=k(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},m(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;E.symbolCustomAttribs.forEach(function(t){i[t]=A(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=L(A(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+A(r,e.getAttribute("x"),0)+" "+A(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+A(a,1)+" "+A(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,u;if(y(t)?(o.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=r.childNodes).length-1;0<=u&&!d;u--)c=!y(l=(h=n[u]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!u?(r.insertBefore(o,n[u]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(r.insertBefore(o,n[u+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return E.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],E.prototype.strokeSetter=E.prototype.fillSetter,E.prototype.yGetter=E.prototype.xGetter,E.prototype.matrixSetter=E.prototype.rotationOriginXSetter=E.prototype.rotationOriginYSetter=E.prototype.rotationSetter=E.prototype.scaleXSetter=E.prototype.scaleYSetter=E.prototype.translateXSetter=E.prototype.translateYSetter=E.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},E}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:o,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,r,o,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:r+this.bBox.x-n,y:o+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!o(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);o(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:v,isNumber:d,pick:M}=t;function r(g,m,f,x,y){let b=[];if(y){let t=y.start||0,e=M(y.r,f),i=M(y.r,x||f),s=2e-4/(y.borderRadius?1:Math.max(e,1)),r=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=u(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),u(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",u(e,{dy:o,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:o}=e,a=this.renderer.styledMode;if("b"===o||"strong"===o?a?s.class="highcharts-strong":r.fontWeight="bold":"i"!==o&&"em"!==o||(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===o){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===o&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==o&&"a"!==o&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,o,a,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,o?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=o?1:0,u=(t||o||"").length,g=u;if(l.rotation=0,a+(h=s(r.textContent.length))>e){for(;p<=u;)g=Math.ceil((p+u)/2),o&&(n=i(o,g)),h=s(g,n&&n.length-1),p===u?p=u+1:h>e?u=g-1:p=g;0===u?r.textContent="":t&&u===t.length-1||(r.textContent=n||i(t||o,g))}o&&o.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return o(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,r,l,o,a,n){let h,b=t["defaultOptions"],{charts:m,deg2rad:d,doc:f,isFirefox:c,isMS:v,isWebKit:p,noop:u,SVG_NS:g,symbolSizes:x,win:M}=i,{addEvent:C,attr:S,createElement:k,crisp:w,css:A,defined:T,destroyObjectProperties:P,extend:L,isArray:j,isNumber:O,isObject:E,isString:z,merge:D,pick:B,pInt:R,replaceNested:N,uniqueKey:G}=n;class I{constructor(t,e,i,s,r,o,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),S(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&S(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 11.4.7")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){A(t,{left:0,top:0}),h=t.getBoundingClientRect(),A(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=C(M,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&f.getElementsByTagName("base").length&&(T(h)||(t=G(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(f.body),A(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=f.elementFromPoint(6,6),h="hitme"===(e&&e.id),f.body.removeChild(t)),h))return N(M.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=L({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=D({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},o,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0,g=(r=D(b.global.buttonTheme,r),c&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),m=r.style||{},f=(delete r.states,delete r.style,[y.filterUserAttributes(r)]),x=[m];return c||["hover","select","disabled"].forEach((t,e)=>{f.push(D(f[0],y.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(f[e+1].style),delete f[e+1].style}),C(d.element,v?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),C(d.element,v?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(f[t]),t=x[t],E(t)&&d.css(t))},d.attr(f[0]),c||(d.css(L({cursor:"default"},m)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=w(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=w(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return j(t)?e.d=t:E(t)&&L(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=E(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a,n=(E(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,r,o){let a=E(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,L(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,S(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,o){function a(t){h.attr({href:e}),o.call(h,t)}let n={preserveAspectRatio:"none"},h=(O(t)&&(n.x=t),O(i)&&(n.y=i),O(s)&&(n.width=s),O(r)&&(n.height=r),this.createElement("image").attr(n));if(o){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new M.Image;C(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let o,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof i&&(a=g.call(this.symbols,i||0,s||0,e||0,r||0,d)),o=this.path(a),l.styledMode||o.attr("fill","none"),L(o,{symbolName:u||void 0,x:i,y:s,width:e,height:r}),d&&L(o,d);else if(p){n=t.match(c)[1];let e=o=this.image(n);e.imgwidth=B(d&&d.width,x[n]&&x[n].width),e.imgheight=B(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:o,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&r&&o&&a&&n?(l=Math.min(r/a,o/n),S(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((r||0)-a*l)/2,((o||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),k("img",{onload:function(){let t=m[l.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),T(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),o=t.getAttribute(s);for(let t=0,e;tt.align())}}return L(I.prototype,{Element:r,SVG_NS:g,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:u}),s.registerRendererType("svg",I,!0),I}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:b,createElement:h,defined:v,extend:o,pInt:l,pushUnique:r}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){r(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=l(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),o(this.styles,t),b(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:r,renderer:o,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,u={left:0,center:.5,right:1}[l],g=t.whiteSpace;if(b(r,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===r.tagName){let t=[a,l,r.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(f=this.textPxLength||(b(r,{width:"",whiteSpace:g||"nowrap"}),r.offsetWidth),((m=d||0)>this.oldTextWidth||m{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||r);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(o,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:o}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(o(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(S,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:k,defined:w,destroyObjectProperties:i,extend:A,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:L}=e;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,r=e.categories,o=e.logarithmic,a=e.names,n=t.pos,h=L(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,m,f,x,y=this.parameters.category||(r?L(r[n],a[n],n):n),b=(o&&P(y)&&(y=k(o.lin2log(y))),e.dateTime&&(u?m=(f=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:P(y)&&(m=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:m,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y}),v=(T(this,"labelFormat",b),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),S.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),M=v.call(b,b),C=f&&f.list;C?t.shortenLabel=function(){for(x=0;xg||e.autoRotation&&(h.styles||{}).width)&&(f=g)),f&&(this.shortenLabel?this.shortenLabel():(u.width=Math.floor(f)+"px",(i.style||{}).textOverflow||(u.textOverflow="ellipsis"),h.css(u)))}moveLabel(e,t){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===e?(i.movedLabel=s,o=!0,delete i.label):n(r.ticks,function(t){o||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,o=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),o||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,r=s.horiz,o=this.pos,a=L(this.tickmarkOffset,s.tickmarkOffset),o=this.getPosition(r,o,a,e),a=o.x,n=o.y,h=s.pos,l=h+s.len,r=r?a:n,a=(!s.chart.polar&&this.isNew&&(k(r)w(e,void 0,void 0,B(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);m(u,{xAxis:o,yAxis:k(o,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,E(this,"init",{userOptions:e}),this.opposite=B(e.opposite,this.opposite),this.side=B(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),r=i.labels,o=i.type,e=(this.userOptions=e,this.minPixelPadding=0,this.reversed=B(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===o||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=j(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,B(i.crosshair,R(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!j(this.reversed)&&(this.reversed=!0),this.labelRotation=D(r.rotation)?r.rotation:void 0,n(this,i),E(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=k(e,u[this.coll],t),E(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=D(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=u.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(r)p=""+this.value;else if(o)p=s.dateFormat(o,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;E(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(o=>{if(o.reserveSpace()){let t=o.options,e,i=t.threshold,s,r;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=o.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),D(i)&&D(s)&&D(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,B(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+r,B(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=f([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,-1===(s=j(s)?s:this.options.uniqueNames&&i?e?i.indexOf(t.name):B(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let r=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(r.max=Math.max(r.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=r.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,r=!!s.categories,o=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(o||r||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=r?1:o?B(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!r||(t=t.is("xrange")?!o:o,h=Math.max(h,t&&S(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&r?1:t),o&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,E(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return D(t)&&D(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=D(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:m,softMin:f}=h,x=D(g)&&i[this.coll]?.[g],y=h.tickPixelInterval,b=h.maxPadding,v=h.minPadding,M=0,C,S=D(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,k,w,A,T;if(o||e||x||this.getTickAmount(),A=B(this.userMin,h.min),T=B(this.userMax,h.max),x?(C=(this.linkedParent=x).getExtremes(),this.min=B(C.min,C.dataMin),this.max=B(C.max,C.dataMax),h.type!==x.options.type&&O(11,!0,i)):(l&&j(d)&&D(s)&&D(r)&&(d<=r?(k=d,v=0):s<=d&&(w=d,b=0)),this.min=B(A,k,r),this.max=B(T,w,s)),D(this.max)&&D(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,B(r,this.min))<=0&&O(10,!0,i),this.min=L(n.log2lin(this.min),16),this.max=L(n.log2lin(this.max),16)),this.range&&D(r)&&(this.userMin=this.min=A=Math.max(r,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),E(this,"foundExtremes"),this.adjustForMinRange(),D(this.min)&&D(this.max)&&(!D(this.userMin)&&D(f)&&fthis.max&&(this.max=T=m),e||this.axisPointRange||this.stacking?.usePercentage||x||!(M=this.max-this.min)||(!j(A)&&v&&(this.min-=M*v),!j(T)&&b&&(this.max+=M*b)),!D(this.userMin)&&D(u)&&(this.min=Math.max(this.min,u)),!D(this.userMax)&&D(p)&&(this.max=Math.min(this.max,p)),l&&D(r)&&D(s)&&(P=d||0,!j(A)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(j(h.min)?this.max=this.min:j(h.max)&&(this.min=this.max)),M=this.max-this.min),this.min!==this.max&&D(this.min)&&D(this.max)?x&&!S&&y===x.options.tickPixelInterval?this.tickInterval=S=x.tickInterval:this.tickInterval=B(S,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),E(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),E(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=B(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=I(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&D(this.min)&&D(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),E(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(E(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==o&&i(t)===s&&(r=!0,a.push(t))})}if(r&&s){a.forEach(t=>{t=t.getThresholdAlignment(o);D(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return r}getThresholdAlignment(t){if((!D(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),D(this.threshold)){let t=b((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!j(t.tickInterval)&&!i&&this.leno.push(L(o[o.length-1]+p)),m=()=>o.unshift(L(o[0]-p));if(D(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(u=a-1-u)),t.hasData()&&D(s)&&D(i)){var f=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(D(u)&&D(t.threshold)){for(;o[u]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?m:g)();if(p>8*t.tickInterval)break;p*=2}f()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,E(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),E(this,"setExtremes",r=m(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(T(B(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(T(B(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(B(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(B(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-e,this.len=Math.max(s?r:o,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?L(t.lin2log(this.min)):this.min,max:t?L(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&o!==1/0&&h&&(e=Math.ceil(h/r)),L(e*r)}let t=this.options.labels,s=t.padding||0,e=this.horiz,r=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=t.rotation,n=L(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=r,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(D(a)?p=[a]:og&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",f=i.length;!r&&f--;)(m=o[i[f]].label)&&("ellipsis"===m.styles.textOverflow?m.css({textOverflow:"clip"}):m.textPxLength>n&&m.css({width:n+"px"}),m.getBBox().height>this.len/i.length-(d.h-d.f)&&(m.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=o[t],i=e&&e.label,s=a.width,r={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${r.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(o.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",o.gridZIndex),this.axisGroup=e("axis","",o.zIndex),this.labelGroup=e("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][r]:r,l=e.hasData(),d=s.title,c=s.labels,p=D(s.crossing),u=t.axisOffset,g=t.clipOffset,m=[-1,1,1,-1][r],f,x=0,y,b=0,v=0,M,C;var S;e.showAxis=f=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===r||2===r||{1:"left",3:"right"}[r]===e.labelAlign,B(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(o[t].getLabelSize(),v)}),e.staggerLines&&(v*=e.staggerLines),e.labelOffset=v*(e.opposite?-1:1)):A(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(f),f&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],b=j(y=d.offset)?0:B(d.margin,i?5:10))),e.renderLine(),e.offset=m*B(s.offset,u[r]?u[r]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},C=0===r?-e.labelMetrics().h:2===r?e.tickRotCorr.y:0,M=Math.abs(v)+b,v&&(M=(M-=C)+m*(i?B(c.y,e.tickRotCorr.y+m*c.distance):B(c.x,m*c.distance))),e.axisTitleMargin=B(y,M),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(o,a)),"colorAxis"!==n&&g&&(S=this.tickSize("tick"),u[r]=Math.max(u[r],(e.axisTitleMargin||0)+x+m*e.offset,M,a&&a.length&&S?S[0]+m*e.offset:0),S=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,g[h]=Math.max(g[h],S)),E(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],r=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],o={x:e?a+l:r+(n?this.width:0)+h+l,y:e?r+d-(n?this.height:0)+h:a+d};return E(this,"afterGetTitlePosition",{titlePosition:o}),o}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new M(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new M(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let s,r,o=this,a=o.chart,n=o.logarithmic,t=a.renderer,e=o.options,i=o.isLinked,h=o.tickPositions,l=o.axisTitle,d=o.ticks,c=o.minorTicks,p=o.alternateBands,u=e.stackLabels,g=e.alternateGridColor,m=e.crossing,f=o.tickmarkOffset,x=o.axisLine,y=o.showAxis,b=C(t.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[d,c,p].forEach(function(t){A(t,function(t){t.isActive=!1})}),D(m)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(m,!0);o.horiz&&(t=e.len-t),o.offset=i*t}}if(o.hasData()||i){let i=o.chart.hasRendered&&o.old&&D(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){o.renderTick(t,e,i)}),f&&(0===o.min||o.single)&&(d[-1]||(d[-1]=new M(o,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(t,e){r=void 0!==h[e+1]?h[e+1]+f:o.max-f,e%2==0&&th&&(!d||o<=l)&&void 0!==o&&c.push(o),o>l&&(a=!0),o=r}else{var p=this.lin2log(h),s=this.lin2log(l),r=d?t.getMinorTickInterval():i.tickInterval,o=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=u(n=g("auto"===r?null:r,this.minorAutoInterval,(s-p)*o/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:o,extend:s,isNumber:c}=t;{t=e=e||{};let r;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new r(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&r)for(s&&(d=n.toString()===r.toString(),l=0),h=0;h{m?.on(e,t=>{o[e].apply(this,[t])})}),this.eventsAdded=!0),!v&&m.d||!f?.length?m&&(f?(m.show(),m.animate({d:f})):m.d&&(m.hide(),g&&(this.label=g=g.destroy()))):m.attr({d:f}),u&&(S(u.text)||S(u.formatter))&&f?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,r.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=z,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:r,outside:u,pointer:e}=this,{inverted:o,plotLeft:a,plotTop:n,polar:h}=r,{plotX:l=0,plotY:d=0}=t,g={},m=o&&t.h||0,{height:c,width:f}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=t=>{var e="x"===t;return[t,e?f:c,e?i:s].concat(u?[e?y(i):b(s),e?x.left-p+y(l+a):x.top-p+b(d+n),0,e?f:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+r.plotWidth:n+r.plotHeight])},M=v("y"),C=v("x"),S,k=!!t.negative,w=(!h&&r.hoverSeries?.yAxis?.reversed&&(k=!k),!this.followPointer&&H(t.ttBelow,!h&&!o===k)),A=function(t,e,i,s,r,o,a){var n=u?("y"===t?b:y)(p):p,h=(i-s)/2,l=se?r:r+m)}},T=function(t,e,i,s,r){if(re-p)return!1;g[t]=r{!1!==A.apply(0,M)?!1!==T.apply(0,C)||S||(P(!0),L()):S?g.x=g.y=0:(P(!0),L())};return(o&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=H(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=h(!r.isHidden&&r.options.animation),a=r.followPointer||1<(r.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(o,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=C(o),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,u=a.styledMode,g={},m=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!M(o)&&o.series&&o.series.noSharedTooltip),m=m&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var o=this.getAnchor(o,t),f=o[0],x=o[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(g=d.getLabelConfig()).points=i):g=d.getLabelConfig(),this.len=i.length;let s=X(c)?b(c,g,a):p.call(g,this),r=d.series;if(this.distance=H(r.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=f,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==r.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(m&&this.tt||{});n.style.width&&!u||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),u||t.attr({stroke:n.borderColor||d.color||r.color||"#666666"}),this.updatePosition({plotX:f,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:o[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}v(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:u,plotLeft:g,plotTop:m,scrollablePixelsY:r=0,scrollablePixelsX:o,styledMode:f},distance:x,options:y,options:{positioner:b},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},v=p.outside&&"number"!=typeof o?z.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},M=p.getLabel(),C=this.renderer||e.renderer,S=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),k=m+h,w,A=u-r;function T(t,e,i,s,r=!0){let o,a;return{x:a=i?(o=S?0:A,G(t-s/2,v.left,v.right-s-(p.outside?l:0))):(o=e-k,G(a=r?t-s-x:t+x,r?a:v.left,v.right)),y:o}}let P=(t=X(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(o,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:u,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:r,series:o}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};f||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=C.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,r)).attr(t).add(M)}return s.isActive=!0,s.attr({text:i}),f||s.css(y.style).attr({stroke:y.borderColor||e.color||o.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),r=s.width+i.strokeWidth();t&&(w=s.height,A+=w,S&&(k-=w));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:r=0,series:o}=h;var a,n;return i?(t=Math.max(g+s,g),e=m+u/2):({xAxis:a,yAxis:n}=o,t=a.pos+G(s,-x,a.len+x),o.shouldShowTooltip(0,n.pos-m+r,{ignoreX:!0})&&(e=n.pos+r)),{anchorX:t=G(t,v.left-x,v.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=b?b.call(p,r,l,h):T(n,a,t,r),o.push({align:b?0:void 0,anchorX:n,anchorY:a,boxWidth:r,point:h,rank:H(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return o},[]),L=(!b&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return W(t,{target:i,x:e})})),p.cleanSplit(),N(P,A),{left:l,right:l}),{container:j,outside:O,renderer:E}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tL.right&&(L.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+k,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(m(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),r&&(e.setState(),h(r,e),r.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),g(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),k(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,r=[],o={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),i.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),e=r.length;e--;)s[t=r[e]]&&o.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&o.plural.push(e)}),o}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=f()),this.resolveColor(),t.chart.pointCount++,k(this,"afterInit")}isValid(){return(w(this.x)||this.x instanceof Date)&&w(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(w(t)||null===t)o[s[0]]=t;else if(d(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"==a&&(o.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:r}=e,o=0,a=0;if(w(t)&&w(h))return n&&(o=s?s.pos:i.plotLeft,a=r?r.pos:i.plotTop),i.inverted&&s&&r?[r.len-h+a,s.len-t+o]:[t+o,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=A(this.options.colorIndex,a),this.color=A(this.options.color,s)}setNestedProperty(t,r,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?r:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=A(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=r||o?e.replace(RegExp(t+"}","g"),r+t+"}"+o):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let r,o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(e);var t=n&&o.hasMockGraphic,t=null===o.y?!t:t;n&&t&&(o.graphic=n.destroy(),delete o.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(o.graphic=n.destroy()),e?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=p(l.data[r],!0)||p(e,!0)?o.options:A(e,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=A(i,!0),!1===t?d():o.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=A(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=u(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(m(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=r(this,t,e))}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=C.plotOptions[i.type].marker&&i.options.marker,a=o&&!1===o.enabled,n=o&&o.states&&o.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=o&&i.markerAttribs,p=i.halo,u,g,m,f=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===r.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),m=A(d.options.chart.animation,r.animation);let e=g.opacity;i.options.inactiveOtherPoints&&w(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},m),t.connector&&t.connector.animate({opacity:e},m))}),this.graphic.animate(g,m)}u&&this.graphic.animate(u,A(d.options.chart.animation,n.animation,o.animation)),f&&f.hide()}else t&&n&&(x=l.symbol||i.symbol,f&&f.currentSymbol!==x&&(f=f.destroy()),u&&(f?f[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=f=d.renderer.symbol(x,u.x,u.y,u.width,u.height).add(i.markerGroup),f.currentSymbol=x)),!d.styledMode&&f&&"inactive"!==this.state&&f.attr(i.pointAttribs(this,t))),f&&(f[t&&this.isInside?"show":"hide"](),f.element.point=this,f.addClass(this.getClassName(),!0));var y=r.halo,b=this.graphic||f,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(S({fill:this.color||i.color,"fill-opacity":y.opacity},M.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),k(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(o(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e){var i;let b=t["parse"],{charts:g,composed:s,isTouchDevice:o}=r,{addEvent:m,attr:a,css:n,extend:h,find:f,fireEvent:p,isNumber:l,isObject:v,objectEach:d,offset:c,pick:x,pushUnique:u,splat:y}=e;class M{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],r.chartCount||(M.unbindDocumentMouseUp&&M.unbindDocumentMouseUp.forEach(t=>t()),M.unbindDocumentTouchEnd&&(M.unbindDocumentTouchEnd=M.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:r}=this,{mouseDownX:o=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=r?1:i.plotHeight,s&&(e=h-o,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),!(10t.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));var o;e&&i.redraw(),s&&t&&(this.hasDragged&&(o=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...o},from:o})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:r,yAxis:o}=i.series,a=i.shapeArgs;if(r&&o){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:o.len+o.pos-e,chartY:r.len+r.pos-t}:{chartX:t+r.pos,chartY:e+o.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!o?t:this.findNearestKDPoint(l,r,o));return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=f(t.points,function(t){return t.x===c.x&&!t.isNull});v(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var r=s.pageX-e.left,o=s.pageY-e.top;return h(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),r.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(g[x(M.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){g[x(M.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:r}=i,o=[].map.call(e.touches||[],t=>i.normalize(t)),a=o.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(o),from:t(r),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=o}reset(e,t){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let r=this.chart,i=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=!!o&&o.shared,n=t||r.hoverPoint,h=n&&n.series||r.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),r.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!n.series)return;r.hoverPoints=c,(r.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(u?c:n,s)})}else p&&o&&!o.isHidden&&(t=o.getAnchor([{}],s),r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=m(r.container.ownerDocument,"mousemove",t=>g[M.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=r.hoverPoint)&&t.series[e.coll]===e?t:f(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(m(t,"mouseenter",this.onContainerMouseEnter.bind(this)),m(t,"mouseleave",this.onContainerMouseLeave.bind(this))),M.unbindDocumentMouseUp||(M.unbindDocumentMouseUp=[]),M.unbindDocumentMouseUp.push(m(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(m(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(m(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),m(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),M.unbindDocumentTouchEnd||(M.unbindDocumentTouchEnd=m(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),m(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(o){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),m(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=r.charts[x(M.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(M.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&16<=Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(i=M=M||{}).compose=function(t){u(s,"Core.Pointer")&&m(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},M}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:b,pick:v}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,v(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:o}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=r.renderer,p=s.group,u=a-Math.round(h*(i?.4:.3)),g={},m,f=o.marker,x=0;if(r.styledMode||(g["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?g.dashstyle=o.dashStyle:"square"!==o.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,u],["L",n-x,u]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),f&&!1!==f.enabled&&n){let t=Math.min(v(f.radius,d),d);0===l.indexOf("url")&&(f=b(f,{width:h,height:h}),t=0),s.symbol=m=c.symbol(l,n/2-t,u-t,2*t,2*t,y({context:"legend"},f)).addClass("highcharts-point").add(p),m.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,r){let o=h.plotOptions||{};if(e=e||"",o[t]=c(o[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,r){class p extends a{}l(p.prototype,r),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,r=e.prototype;return r.type=t,r.pointClass||(r.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,o,a,d,c){let{animObject:p,setAnimation:u}=t,g=e["defaultOptions"],n=i["registerEventOptions"],{svg:m,win:f}=s,y=a["seriesTypes"],{arrayMax:S,arrayMin:k,clamp:w,correctFloat:A,crisp:x,defined:T,destroyObjectProperties:z,diffObjects:R,erase:b,error:P,extend:v,find:N,fireEvent:L,getClosestDistance:G,getNestedProperty:h,insertItem:M,isArray:j,isNumber:O,isString:W,merge:E,objectEach:C,pick:D,removeEvent:X,splat:H,syncTimeout:B}=c;class I{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(L(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,o=!1!==e.visible,o=(s.linkedSeries=[],s.bindAxes(),v(s,{name:e.name,state:"",visible:o,selected:!0===e.selected}),n(this,e),e.events);(o&&o.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=D(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",M(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),L(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;L(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(D(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(M(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),L(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=O(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},o||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(o?{}:{color:this.color,fillColor:this.fillColor}),L(this,"afterSetOptions",{options:c}),c}getName(){return D(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||o.options.chart.colorCount;e||(T(r=D("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||g.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var o=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(o){o=this.chart.get(o);o instanceof l&&(i=o)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=N(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&O(a)?this.xData.indexOf(a,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&O(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,o=r.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||O(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==r.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||o&&o.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||o&&o.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=S(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=r.pointArrayMap,m=g&&g.length,f=n.keys,x,y,b,v=0,M=1,C;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,C=E(!0,e));var S=(e=C||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(b=h.options.chart.allowMutatingData&&!1!==s&&S&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):b)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=c&&c!(!j(t)||!f&&!O(t[0]));if(O(s)&&O(k))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],u=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,h=a.start,n=!0));t=G([r?p.map(r.log2lin):p],()=>e.requireSorting&&!g&&P(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,L(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,m=this.data;if(!m&&!n){let t=[];t.length=e.length,m=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g=x&&(M[m-o]||u)<=y,c&&p)if(f=g.length)for(;f--;)O(g[f])&&(r[b++]=g[f]);else r[b++]=g;var C={activeYData:r,dataMin:k(r),dataMax:S(r)};return L(this,"afterGetExtremes",{dataExtremes:C}),C}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,L(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=D(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,o=(i=y?a-i:i)-s;r?.push(["L",e,Math.abs(o){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],v?a-t[1]:t[1],v?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=w(o.toPixels(D(t.value,e),!0)||0,0,a)}),m&&!this.showLine&&m.hide(),g&&g.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(f.reversed&&e.reverse(),t),o=0,a=0,n=f.len,h=x.len;v?(o=i,n=u):(a=i,h=u);var l=[["M",o,a],["L",n,a],["L",n,h],["L",o,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),u=i,y&&(c(d),g&&c(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=b.path(d),g&&(r=t.simpleClip=b.path(l))),m&&t.graph?.clip(s),g&&t.area?.clip(r)})}else this.visible&&(m&&m.show(),g&&g.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||X(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=p(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;L(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,L(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[o=Math.floor(a/2)],left:t(e.slice(0,o),i+1,s),right:t(e.slice(o+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let g=this,[m,f]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(g.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!g.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let o=i.point,a=g.kdAxisArray[s%r],n,h,l=o;p=o,u=(d=e)[m],c=p[m],u=T(u)&&T(c)?u-c:null,c=d[f],d=p[f],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((u&&u*u||0)+c*c)-d,p.distX=T(u)?Math.abs(u)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(o[a]||0)+(y&&o.marker?.radius||0),p=c<0?"left":"right",u=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,r))[x]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(m?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),L(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=D(e,!0);var g={series:this},m=(this.pointClass.prototype.applyOptions.apply(g,[t]),g.x);if(a=u.length,this.requireSorting&&mm;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[m]=g.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==r&&L(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(a||{series:r},"splice",[t,1]),a&&a.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,o=r.data,a=o[t],n=r.points,h=r.chart;u(i,h),e=D(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),D(t,!0)&&o.redraw(e)}!1!==i?L(r,"remove",null,a):a()}update(t,e){L(this,"update",{options:t=R(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=y[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||r.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),m=(u=u||o,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&v(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=E(r,{index:(void 0===r.index?i:r).index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[u]){if(m=u!==i.type,i.remove(!1,!1,!1,!0),m)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[u].prototype);else{var f=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;v(i,y[u].prototype),f?i.hcEvents=f:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=o,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),L(this,"afterUpdate"),D(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=D(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==D(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&L(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&L(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=D(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=D(a[e].opacity,l)),r&&!r.dashstyle&&O(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&o&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!o:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),L(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),L(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return I.defaultOptions=o,I.types=a.seriesTypes,I.registerType=a.registerSeriesType,v(I.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=I}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,u,g,s,r,o){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],m=r["format"],{addEvent:f,createElement:x,css:y,defined:b,discardElement:v,find:M,fireEvent:C,isNumber:S,merge:k,pick:w,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:L}=o;class j{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),f(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),f(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=w(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=k(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=w(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(k(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,w(e,!0)&&i.redraw(),C(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:r,marker:o}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(k(h?this.itemStyle:t)),c?.attr(a({stroke:r||n.color})),p&&p.attr(a(o&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}C(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},e[b(e.translateY)?"animate":"attr"](h,void 0,()=>{C(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&v(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,r=this.group&&this.group.alignAttr,o=this.clipHeight||this.legendHeight,a=this.titleHeight;r&&(s=r.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:r.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*M?v.height:M))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?w(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&w(e.showInLegend,!b(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),C(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let r=this.chart,o=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!b(i[e])&&(r[l[e]]=Math.max(r[l[e]],r.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*o[e%2?"x":"y"]+w(o.margin,12)+s[e]+(r.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,r,o;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=M(s?t.points:t.points.slice(0).reverse(),function(t){return S(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-a.plotTop,r=t.visible?(e?e.plotY:t.yAxis.height)+(o-.3*i):o+t.yAxis.height,n.push({target:r,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},S(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0b&&!1!==c.enabled?(this.clipHeight=f=Math.max(b-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=t,m.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=g.length;(!r||i-g[r-1]>f&&(x||i)!==g[r-1])&&(g.push(x||i),r++),y.pageIx=r-1,x&&((m[e-1].legendItem||{}).pageIx=r-1),e===m.length-1&&i+s-g[r-1]>f&&i>g[r-1]&&(g.push(i),y.pageIx=r),i!==x&&(x=i)}),M||(M=s.clipRect=o.clipRect(0,l-2,9999,0),s.contentGroup.clip(M)),e(f),v||(this.nav=v=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(v),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(v),this.down=o.symbol("triangle-down",0,0,u,u).add(v),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=b):v&&(e(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>r?r:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===r?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),L(()=>{C(this,"afterScroll",{currentPage:l})},d(w(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},o=s.chart.renderer.boxWrapper,a=i instanceof g,n=i instanceof u,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,r.symbol]:[r.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&o.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(k(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),o.removeClass(h),i.setState()}).on("click",function(t){o.removeClass(h),C(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&C(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),f(e.checkbox,"click",function(t){t=t.target;C(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=j=j||{}).compose=function(t){A(h,"Core.Legend")&&f(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},j}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,R,a,N,G,W,X,u,r,c,H){let{animate:n,animObject:Y,setAnimation:m}=t,{defaultOptions:h,defaultTime:F}=e,U=i["numberFormat"],g=R["registerEventOptions"],{charts:p,doc:f,marginNames:l,svg:V,win:o}=a,d=W["seriesTypes"],{addEvent:x,attr:y,createElement:b,css:v,defined:k,diffObjects:M,discardElement:Z,erase:q,error:C,extend:w,find:S,fireEvent:A,getStyle:T,isArray:_,isNumber:P,isObject:K,isString:L,merge:j,objectEach:O,pick:E,pInt:$,relativeLength:D,removeEvent:B,splat:I,syncTimeout:J,uniqueKey:Q}=r;class z{static chart(t,e,i){return new z(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(L(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:E(t.zoomType,e.type),key:E(t.zoomKey,e.key),pinchType:E(t.pinchType,e.pinchType),singleTouch:E(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:j(e.resetButton,t.resetZoomButton)}}init(i,s){A(this,"init",{args:arguments},function(){var t=j(h,i),e=t.chart;this.userOptions=w({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new u(i.time):a.time,this.numberFormatter=e.numberFormatter||U,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,g(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),A(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],r=(s||C(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],r=this.options[t]=I(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?I(this.userOptions[t]).slice():[];if(this.hasRendered&&(r.splice(i),o.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(g.isInsidePlot=!1)),!i.ignoreY&&g.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+u:a+u)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(g.isInsidePlot=!1)),A(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){A(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):o&&(o.labelFormatter||o.labelFormat)&&(u=!0)),t.isDirtyData&&A(t,"updatedData")}),u&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){A(t,"afterSetExtremes",w(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),A(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),A(this,"redraw"),A(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let r=S(this.axes,s)||S(this.series,s);for(let t=0;!r&&t(t.getPointsCollection().forEach(t=>{E(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=j(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),e&&!r&&((r=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||r.css(w("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=r)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",r="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var o;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,o=Math.round(e.getBBox(i.useHTML).height),e.align(w({y:"bottom"===s?t:r+t,height:o},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+o):"bottom"===s&&(a[2]=Math.ceil(a[2]+o))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,A(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0}}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox();this.chartWidth=Math.max(0,e||i.width||600),this.chartHeight=Math.max(0,D(t,this.chartWidth)||(1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(o,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,m(i,s);var i=r.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:v)(s.container,{width:t+o+"px",height:e+a+"px"},i),s.setChartSize(!0),r.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,A(s,"resize"),setTimeout(()=>{s&&A(s,"endResize")},Y(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,r;let{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),A(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){A(this,"resetMargins");let r=this,o=r.options.chart,t=o.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=o[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){r[i][e]=E(o[i+t],s[e])})}),l.forEach(function(t,e){r[t]=E(r.margin[e],r.spacing[e])}),r.axisOffset=[0,0,0,0],r.clipOffset=[e,e,e,e],r.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,m=this.clipBox,f=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,M,C="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),C="attr"),r?b=v=f.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),M={fill:a||"none"},(b||f["stroke-width"])&&(M.stroke=t.borderColor,M["stroke-width"]=b),f.attr(M).shadow(t.shadow)),f[C]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),C="animate",x||(C="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[C](u),r||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),C="animate",y||(C="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[C](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,A(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,r=this,o=r.options.chart,a=r.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[o.type],s=o[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);r[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(L(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=E(e.options.visible,t.options.visible,e.visible))}}),A(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(var l of(this.setTitle(),A(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){o=d.tickLength,l.createGroups();let t=new H(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),o=e&&E(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):o){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||1(h?1:1.1),n=g/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=j(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(o.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,r=i.container,o=r&&r.parentNode;for(A(i,"destroy"),i.renderer.forExport?q(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),B(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),r&&(r.innerHTML=c.emptyHTML,B(r),o&&Z(r)),O(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),_(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),A(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),A(this,"load"),A(this,"render"),k(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),A(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),v(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:r,selection:o,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:u,len:g,minPointOffset:m=0,options:f,reversed:x}=p,y=u?"width":"height",b=u?"x":"y",v=E(a[y],p.len),y=E(i[y],p.len),M=Math.abs(v)<10?1:v/y,y=(i[b]||0)+y/2-p.pos,b=y-((a[b]??p.pos)+v/2-p.pos)/M,v=x&&!h||!x&&h?-1:1;if(r||!(y<0||y>p.len)){let t=p.toValue(b,!0)+(o?0:m*v),e=p.toValue(b+g/M,!0)-(!o&&m*v||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==M&&!r&&"yAxis"===p.coll&&!i){for(var C of p.series){C=C.getExtremes(C.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(C.dataMin)&&P(C.dataMax)&&(i.dataMin=Math.min(C.dataMin,i.dataMin),i.dataMax=Math.max(C.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:g,max:m}=w(p.getExtremes(),i||{}),v=x??f.min,x=y??f.max,y=e-t,S=p.categories?0:Math.min(y,x-v),v=v-S*(k(f.min)?0:f.minPadding),x=x+S*(k(f.max)?0:f.maxPadding),S=p.allowZoomOutside||1==M||"zoom"!==n&&1f&&(e=f,1<=M&&(t=e-y)),(r||p.series.length&&(t!==g||e!==m)&&t>=v&&e<=f)&&(o?o[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(r?void 0:t,r?void 0:e,!1,!1,{move:b,trigger:n,scale:M}),!r&&(t>v||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return w(z.prototype,{callbacks:[],collectionsWithInit:{xAxis:[z.prototype.addAxis,[!0]],yAxis:[z.prototype.addAxis,[!1]],series:[z.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),z}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let w=t["stop"],s=e["composed"],{addEvent:u,createElement:g,css:A,defined:T,merge:m,pushUnique:r}=i;function o(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){r(s,this.compose)&&(u(t,"afterInit",a),u(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),u(e,"render",o),u(i,"show",a))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=m(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=m(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,r=!1)),T(r)&&!e.skipAxes))for(var c of t.axes)c.horiz===r&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),r=t.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),A(i.renderTo,{overflow:"visible"}),u(i,"afterShowResetZoom",o),u(i,"afterApplyDrilldown",o),u(i,"afterLayOutTitles",o),u(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:m=0}=t.options.chart.scrollablePlotArea||{},f=o+p,x=a+u,y=(e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),w(t.container),A(n,{width:f+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:f,height:x,viewBox:[0,0,f,x].join(" ")}),t.chartBackground?.attr({width:f,height:x}),A(s,{width:o+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*g,s.scrollTop=u*m),d-r[0]-1),b=l-r[3]-1,v=d+h+r[2]+1,M=l+c+r[1]+1,C=l+c-p,S=d+h-u,k=[["M",0,0]];p?k=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",C,y],["L",o,y],["L",o,v],["L",C,v],["Z"]]:u&&(k=[["M",b,0],["L",b,d-1],["L",M,d-1],["L",M,0],["Z"],["M",b,S],["L",b,a],["L",M,a],["L",M,S],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:k})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let o=t["format"],g=e["series"],{destroyObjectProperties:s,fireEvent:m,isNumber:f,pick:x}=i;return class{constructor(t,e,i,s,r){var o=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,r=t?o(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:r,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,m(this,"afterRender")}setOffset(t,e,r,o,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:r,boxTop:o,defaultX:i,xAxis:s}),u=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:r,y:o}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=r,p.y-=o,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+r,h.alignAttr.y+a.y+o))?i:!1)&&g.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=f(h.x)&&f(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}m(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(r,d.translate(this.x))+o,p=Math.abs(l-e.toPixels(n||f(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,A,s){let a=t["getDeferredAnimation"],{prototype:r}=i["series"],{addEvent:o,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:L,isNumber:l,objectEach:d,pick:j}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,j(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function u(){this.stacking||(this.stacking=new b(this))}function g(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function m(){let o,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,r;for(;e--;)i=h[e],o=a.getStackIndicator(o,i,a.index,t),(r=(s=n[t]?.[i])?.points[o.key||""])&&l.call(a,r,s,e)})}function f(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return{compose:function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(o(t,"init",u),o(t,"destroy",p),s.getStacks=c,r.getStackIndicator=g,r.modifyStacks=m,r.percentStacker=f,r.setGroupedPoints=x,r.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:f,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,r=s?"animate":"attr",o=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},o?i.dashstyle=o:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[r](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],u=[],g,m=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(m={right:1,center:2}[m]||m&&3)&&t&&(m=4-m),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,r=t.plotY,o=n[e-1],a=t.isNull||"number"!=typeof r;(t.leftCliff||o&&o.rightCliff)&&!l&&(g=!0),g=a&&!f(h)&&0{let i={},s=t.fillColor||n.fillColor,r=t.area,o=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:a.xMap,r.animate({d:a})):(i.zIndex=0,(r=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[o](i),r.startX=a.xMap,r.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],r=p&&x[s.x].points[f],o=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||o?(n=(o?r[0]:r[1])+a,h=r[0]+a,l=!!o):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(m.push({plotX:c,plotY:null===n?b:u.getThreshold(n),isNull:l,isCliff:!0}),g.push({plotX:c,plotY:null===h?b:u.getThreshold(h),doCurve:!1}))}let c,s,r,t=M.prototype.getGraphPath,e=this.options,p=e.stacking,u=this.yAxis,g=[],m=[],f=this.index,x=u.stacking.stacks[this.stackKey],y=e.threshold,b=Math.round(u.getThreshold(e.threshold)),o=C(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=v.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,v}getStackPoints(e){let d=this,s=[],c=[],r=this.xAxis,p=this.yAxis,u=p.stacking.stacks[this.stackKey],g={},m=p.series,f=m.length,x=p.options.reversedStacks?1:-1,y=m.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(o,a){let e=0,n,h;if(g[o]&&!g[o].isNull)s.push(g[o]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=u[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,r=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof o.x){let e=t[o.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),r=t.length}}}),s=this.xAxis.reversed?r-1-s:s;var n=(r-1)*a.paddedWidth+e;t=(o.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,u=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(u.borderWidth,t?0:1),g=c.xAxis,m=c.yAxis,f=u.threshold,x=P(u.minPointLength,5),y=c.getColumnMetrics(),b=y.width,v=c.pointXOffset=y.offset,M=c.dataMin,C=c.dataMax,S=c.translatedThreshold=m.getThreshold(f),k=c.barW=Math.max(b,1+2*e);u.pointPadding&&(k=Math.ceil(k)),r.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,S),i=999+Math.abs(e),s=t.plotX||0,r=w(t.plotY,-i,m.len+i),o,a=Math.min(r,e),n=Math.max(r,e)-a,h=b,l=s+v,d=k;x&&Math.abs(n)x?e-x:S-(o?x:0)),A(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-b)/2)),u.centerInCategory&&!u.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[w(m.len+m.pos-p.plotLeft-r,m.pos-p.plotLeft,m.len+m.pos-p.plotLeft),g.len+g.pos-p.plotTop-l-d/2,n]:[g.left-p.plotLeft+l+d/2,w(r+m.pos-p.plotTop,m.pos-p.plotTop,m.len+m.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?S:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[r]||i[r]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[o]||i[o]||this[o]||0,u=P(t&&t.opacity,i.opacity,1),g=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=f(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&m(l).brighten(a.brightness).get()||l,d=a[r]||d,p=a[o]||p,c=a.dashStyle||c,u=P(a.opacity,u)),{fill:l,stroke:d,"stroke-width":p,opacity:u});return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let o,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,r=i&&n.pointCountt?.enabled)}function a(t,e,i,s,r){let{chart:o,enabledDataSorting:a}=this,n=this.isCartesian&&o.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&o.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===O(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||O(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();var m,f,x,y,b;u&&g&&(m=e.getBBox(),f=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=v({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),v(i,{width:m.width,height:m.height}),b=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,r,c,b),e.align(M(i,{width:f.width,height:f.height}),!1,s,!1),e.alignAttr.x+=x*(f.width-m.width),e.alignAttr.y+=y*(f.height-m.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(m.width-f.width)/2,y:e.alignAttr.y+(m.height-f.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,m,s,r):O(i.crop,!0)&&({x:t,y:b}=e.alignAttr,u=o.isInsidePlot(t,b,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+m.width-1,b+m.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[r?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})),r&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let v,M=(t=t||this.points,this),C=M.chart,S=M.options,k=C.renderer,{backgroundColor:e,plotBackgroundColor:i}=C.options.chart,w=k.getContrast(L(i)&&i||L(e)&&e||"#000000"),s=g(M),{animation:r,defer:o}=s[0],a=o?n(C,r,M):{defer:0,duration:0};P(this,"drawDataLabels"),M.hasDataLabels?.()&&(v=this.initDataLabels(a),t.forEach(y=>{let b=y.dataLabels||[],t=(h(u(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(m=x.operator,f=y[x.property],x=x.value,">"===m&&x="===m&&x<=f||"<="===m&&f<=x||"=="===m&&f==x||"==="===m&&f===x||"!="===m&&f!=x||"!=="===m&&f!==x)),{backgroundColor:s,borderColor:r,distance:o,style:a={}}=t,n,h,l,d,c={},p=b[e],u=!p,g;var m,f,x;i&&(h=O(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?A(h,n,C):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,C.styledMode||(a.color=O(t.color,a.color,L(M.color)?M.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(g=s),y.contrastColor=k.getContrast("auto"!==g&&g||y.color||M.color),a.color=g||!T(o)&&t.inside||E(o||0)<0||S.stacking?y.contrastColor:w):delete y.contrastColor,S.cursor&&(a.cursor=S.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},C.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===r?y.color:r,c["stroke-width"]=t.borderWidth),j(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,u=!0),i&&T(l)&&(p?c.text=l:(p=k.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),C.styledMode||p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(v),M.alignDataLabel(y,p,t,void 0,u),p.isActive=!0,b[e]&&b[e]!==p&&b[e].destroy(),b[e]=p))}),b.length);for(;t--;)b[t]&&b[t].isActive?b[t].isActive=!1:(b[t]?.destroy(),b.splice(t,1));y.dataLabel=b[0],y.dataLabels=b})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:m=0}=e,f,x;return(f=(i.x||0)+l+c)<0&&("right"===n&&0<=g?(e.align="left",e.inside=!0):g-=f,x=!0),(f=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-f,x=!0),(f=i.y+l+u)<0&&("bottom"===h&&0<=m?(e.verticalAlign="top",e.inside=!0):m-=f,x=!0),(f=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&m<=0?(e.verticalAlign="bottom",e.inside=!0):m+=a.plotHeight-f,x=!0),x&&(e.x=g,e.y=m,t.placed=!o,t.align(e,void 0,r)),x}function u(e,i){let t=[],s;if(r(e)&&!r(i))t=e.map(function(t){return M(t,i)});else if(r(i)&&!r(e))t=i.map(function(t){return M(e,t)});else if(r(e)||r(i)){if(r(e)&&r(i))for(s=Math.max(e.length,i.length);s--;)t[s]=M(e[s],i[s])}else t=M(e,i);return t}function g(t){var e=t.chart.options.plotOptions;return h(u(u(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function m(t,e,i,s,r){var o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?r.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var r;let o=t["composed"],c=i["series"],{merge:p,pick:u,pushUnique:a}=s;return(r||(r={})).compose=function(t){e.compose(c),a(o,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},r;function n(t,e,i,s,r){var o=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=u(t.below,t.plotY>u(this.translatedThreshold,a)),d=u(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:m,isNumber:f,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,r,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),f(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:u,y:g}=t,m=s.x;m=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let f=[["M",u,g]];return(p?m<=u&&m>=s.x:m>=u&&m<=s.x)&&f.push(["L",m,g]),f.push(["L",s.x,s.y],["L",r.x,r.y]),f}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:b,merge:p,pick:u}=h;class g extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),m.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,m.tooltipPos=[t[0]+.7*p,t[1]+.7*u],m.half=c<-Math.PI/2||c>Math.PI/2?1:0,m.angle=c}b(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function m(){let m=this,t=m.points,a=m.chart,f=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),b=m.center,v=b[2]/2,n=b[1],h=[[],[]],M=[0,0,0,0],C=m.dataLabelPositioners,l,S,k,d=0;m.visible&&m.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(m),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=b[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[r.half].push(r),!w(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,r;t&&(m.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(g&&w(i)&&0f-o&&0===u&&(t=Math.round(h+S-f+o),M[1]=Math.max(t,M[1])),l-k/2<0?M[0]=Math.max(Math.round(-l+k/2),M[0]):l+k/2>x&&(M[2]=Math.max(Math.round(l+k/2-x),M[2])),s.sideOverflow=t}}})}))}),0!==u(M)&&!this.verifyDataLabelOverflow(M)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var m=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=m),r+=m),f(g,{brBoxHeight:r,brBoxY:s,r:m})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,r={}){let o=k(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(r=S(c,c-u),m[0]-=r,f[0]+=r,x[1]=C[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u,g,m,f,x,y,b,v,M,C,S,k,w,A,T,P,L,j,O,E,D,B,I){return t.AST=o,t.Axis=p,t.Chart=C,t.Color=B,t.DataLabel=j,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=M,t.OverlappingDataLabels=t.OverlappingDataLabels||O,t.PlotLineOrBand=m,t.Point=y,t.Pointer=b,t.RendererRegistry=n,t.Series=A,t.SeriesRegistry=T,t.StackItem=w,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=f,t.Time=I,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=C.chart,t.color=B.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,E.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),j.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),O.compose(t.Chart),L.compose(t.Series.types.pie),m.compose(t.Axis),b.compose(t.Chart),D.compose(t.Chart),S.compose(t.Axis,t.Chart,t.Series),k.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Core/Axis/Color/ColorAxisComposition.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(t,e){var i;let s=t["parse"],{addEvent:l,extend:d,merge:c,pick:p,splat:r}=e;{t=i=i||{};let h;function u(){let t=this["userOptions"];this.colorAxis=[],t.colorAxis&&(t.colorAxis=r(t.colorAxis),t.colorAxis.map(t=>new h(this,t)))}function g(e){let t=this.chart.colorAxis||[],i=t=>{t=e.allItems.indexOf(t);-1!==t&&(this.destroyItem(e.allItems[t]),e.allItems.splice(t,1))},s=[],r,o;for(t.forEach(function(t){(r=t.options)&&r.showInLegend&&(r.dataClasses&&r.visible?s=s.concat(t.getDataClassLegendSymbols()):r.visible&&s.push(t),t.series.forEach(function(t){t.options.showInLegend&&!r.dataClasses||("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),o=s.length;o--;)e.allItems.unshift(s[o])}function m(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function f(e){this.chart.colorAxis?.forEach(t=>{t.update({},e.redraw)})}function x(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function y(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function b(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function v(){let i=this,t=this.getPointsCollection(),s=this.options.nullColor,r=this.colorAxis,o=this.colorKey;t.forEach(t=>{var e=t.getNestedProperty(o),e=t.options.color||(t.isNull||null===t.value?s:r&&void 0!==e?r.toColor(e,t):t.color||i.color);e&&t.color!==e&&(t.color=e,"point"===i.options.legendType&&t.legendItem&&t.legendItem.label&&i.chart.legend.colorizeItem(t,t.visible))})}function M(){this.elem.attr("fill",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}function C(){this.elem.attr("stroke",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}t.compose=function(t,e,s,i,r){let o=e.prototype,a=s.prototype,n=r.prototype;if(!o.collectionsWithUpdate.includes("colorAxis")){h=t,o.collectionsWithUpdate.push("colorAxis"),o.collectionsWithInit.colorAxis=[o.addColorAxis],l(e,"afterGetAxes",u);{s=e;let i=s.prototype.createAxis;s.prototype.createAxis=function(t,e){if("colorAxis"!==t)return i.apply(this,arguments);t=new h(this,c(e.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),p(e.redraw,!0)&&this.redraw(e.animation),t}}a.fillSetter=M,a.strokeSetter=C,l(i,"afterGetAllItems",g),l(i,"afterColorizeItem",m),l(i,"afterUpdate",f),d(n,{optionalAxis:"colorAxis",translateColors:v}),d(n.pointClass.prototype,{setVisible:b}),l(r,"afterTranslate",x,{order:1}),l(r,"bindAxes",y)}},t.pointSetVisible=b}return i}),e(t,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),e(t,"Core/Axis/Color/ColorAxisLike.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(t,e){let d=t["parse"],c=e["merge"];return t={initDataClasses:function(t){let i=this.chart,e=this.legendItem=this.legendItem||{},s=this.options,r=t.dataClasses||[],o,a,n=i.options.chart.colorCount,h=0,l;this.dataClasses=a=[],e.labels=[];for(let t=0,e=r.length;t=s)&&(void 0===r||t<=r)){o=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=l.length;n--&&!(i>l[n][0]););s=l[n]||l[n+1],i=1-((r=l[n+1]||s)[0]-i)/(r[0]-s[0]||1),o=s.color.tweenTo(r.color,i)}return o}},t}),e(t,"Core/Axis/Color/ColorAxis.js",[t["Core/Axis/Axis.js"],t["Core/Axis/Color/ColorAxisComposition.js"],t["Core/Axis/Color/ColorAxisDefaults.js"],t["Core/Axis/Color/ColorAxisLike.js"],t["Core/Defaults.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,r,e,i,s,u,o,a){let n=s["defaultOptions"],c=o["series"],{defined:p,extend:g,fireEvent:m,isArray:h,isNumber:l,merge:d,pick:f,relativeLength:x}=a;n.colorAxis=d(n.xAxis,e);class y extends t{static compose(t,e,i,s){r.compose(y,t,e,i,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){var i=t.options.legend||{},i=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||i?2:1,this.reversed=e.reversed||!i,this.opposite=!i,super.init(t,e,"colorAxis"),this.userOptions=e,h(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=i,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){t=d(n.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(t),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||y.defaultLegendLength}getOffset(){var t=this.legendItem?.group,i=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let e=this.chart.legend;e.allItems.forEach(function(t){t instanceof y&&t.drawLegendSymbol(e,t)}),e.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=i}}setLegendColor(){var t=this.horiz,e=this.reversed,i=e?1:0,e=e?0:1,t=t?[i,0,e,0]:[0,e,0,i];this.legendColor={linearGradient:{x1:t[0],y1:t[1],x2:t[2],y2:t[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,r=t.options,o=this.options.labels,a=f(r.itemDistance,10),n=this.horiz,{width:h,height:l}=this.getSize(),d=f(r.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:r.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:h,height:l}),i.labelWidth=h+s+(n?a:f(o.x,o.distance)+(this.maxLabelLength||0)),i.labelHeight=l+s+(n?d:0)}setState(e){this.series.forEach(function(t){t.setState(e)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,r,o,a,n=t.length,h,l;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(i=(a=t[n]).colorKey=f(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y"),r=a.pointArrayMap,o=a[i+"Min"]&&a[i+"Max"],a[i+"Data"])e=a[i+"Data"];else if(r){if(e=[],s=r.indexOf(i),h=a.yData,0<=s&&h)for(l=0;la+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=r,e.plotY=o,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){var e=this.left,i=t.translatedValue,s=this.top;return l(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(var i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let a,n=this,h=n.chart,l=n.legendItem&&n.legendItem.labels||[],t=h.options.legend,d=f(t.valueDecimals,-1),c=f(t.valueSuffix,""),p=i=>n.series.reduce((t,e)=>(t.push(...e.points.filter(t=>t.dataClass===i)),t),[]);return l.length||n.dataClasses.forEach((t,i)=>{let e=t.from,s=t.to,r=h["numberFormatter"],o=!0;a="",void 0===e?a="< ":void 0===s&&(a="> "),void 0!==e&&(a+=r(e,d)+c),void 0!==e&&void 0!==s&&(a+=" - "),void 0!==s&&(a+=r(s,d)+c),l.push(g({chart:h,name:a,options:{},drawLegendSymbol:u.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(var e of p(i))e.setState(t)},setVisible:function(){this.visible=o=n.visible=!o;let t=[];for(var e of p(i))e.setVisible(o),e.hiddenInDataClass=!o,-1===t.indexOf(e.series)&&t.push(e.series);h.legend.colorizeItem(this,o),t.forEach(t=>{m(t,"afterDataClassLegendClick")})}},t))}),l}getSize(){var{chart:t,horiz:e}=this,{height:i,width:s}=this.options,r=t.options["legend"];return{width:f(p(s)?x(s,t.chartWidth):void 0,r?.symbolWidth,e?y.defaultLegendLength:12),height:f(p(i)?x(i,t.chartHeight):void 0,r?.symbolHeight,e?12:y.defaultLegendLength)}}}return y.defaultLegendLength=200,y.keepProps=["legendItem"],g(y.prototype,i),Array.prototype.push.apply(t.keepProps,y.keepProps),y}),e(t,"masters/modules/coloraxis.src.js",[t["Core/Globals.js"],t["Core/Axis/Color/ColorAxis.js"]],function(t,e){return t.ColorAxis=t.ColorAxis||e,t.ColorAxis.compose(t.Chart,t.Fx,t.Legend,t.Series),t}),e(t,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),e(t,"Maps/MapPointer.js",[t["Core/Utilities.js"]],function(t){var e;let{defined:o,extend:a,pick:i,wrap:n}=t;{t=e=e||{};let s,r=0;function h(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function l(t){let e=this.chart,i=o((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;1<=Math.abs(i)&&(r+=Math.abs(i),s&&clearTimeout(s),s=setTimeout(()=>{r=0},50)),r<10&&e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapView&&e.mapView.zoomBy(-(e.options.mapNavigation.mouseWheelSensitivity-1)*i,void 0,[t.chartX,t.chartY],!(Math.abs(i)<1)&&void 0)}function d(t,e,i){let s=this.chart;return e=t.call(this,e,i),s&&s.mapView&&(t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop}))&&a(e,t),e}function c(t){var e=this.chart.options.mapNavigation;e&&i(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){t=t.prototype;t.onContainerDblClick||(a(t,{onContainerDblClick:h,onContainerMouseWheel:l}),n(t,"normalize",d),n(t,"zoomOption",c))}}return e}),e(t,"Maps/MapSymbols.js",[],function(){let a;function e(t,e,i,s,r){var o;return r&&(o=r?.r||0,r.brBoxY=e-o,r.brBoxHeight=s+o),a.roundedRect(t,e,i,s,r)}function i(t,e,i,s,r){var o;return r&&(o=r?.r||0,r.brBoxHeight=s+o),a.roundedRect(t,e,i,s,r)}return{compose:function(t){(a=t.prototype.symbols).bottombutton=e,a.topbutton=i}}}),e(t,"Maps/MapNavigation.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Maps/MapNavigationDefaults.js"],t["Maps/MapPointer.js"],t["Maps/MapSymbols.js"],t["Core/Utilities.js"]],function(t,e,s,r,o,i){let a=t["setOptions"],n=e["composed"],{addEvent:u,extend:g,merge:m,objectEach:f,pick:x,pushUnique:h}=i;function y(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}return class l{static compose(t,e,i){r.compose(e),o.compose(i),h(n,"Map.Navigation")&&(u(t,"beforeRender",function(){this.mapNavigation=new l(this),this.mapNavigation.update()}),a(s))}constructor(t){this.chart=t,this.navButtons=[]}update(t){function h(t){this.handler.call(d,t),y(t)}let l=this,d=l.chart,c=l.navButtons,p=d.options.mapNavigation;for(t&&(p=d.options.mapNavigation=m(d.options.mapNavigation,t));c.length;)c.pop().destroy();!d.renderer.forExport&&x(p.enableButtons,p.enabled)&&(l.navButtonsGroup||(l.navButtonsGroup=d.renderer.g().attr({zIndex:7}).add()),f(p.buttons,(i,t)=>{let e={padding:(i=m(p.buttonOptions,i)).padding},{text:s,width:r=0,height:o=0,padding:a=0}=(!d.styledMode&&i.theme&&(g(e,i.theme),e.style=m(i.theme.style,i.style)),i),n=d.renderer.button("+"!==s&&"-"!==s&&s||"",0,0,h,e,void 0,void 0,void 0,"zoomIn"===t?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[t]).attr({width:r,height:o,title:d.options.lang[t],zIndex:5}).add(l.navButtonsGroup);if("+"===s||"-"===s){let t=r+1,e=[["M",a+3,a+o/2],["L",a+t-3,a+o/2]];"+"===s&&e.push(["M",a+t/2,a+3],["L",a+t/2,a+o-3]),d.renderer.path(e).addClass("highcharts-button-symbol").attr(d.styledMode?{}:{stroke:i.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(n)}if(n.handler=i.onclick,u(n.element,"dblclick",y),c.push(n),g(i,{width:n.width,height:2*(n.height||0)}),d.hasLoaded)n.align(i,!1,i.alignTo);else{let t=u(d,"load",()=>{n.element&&n.align(i,!1,i.alignTo),t()})}}),d.hasLoaded||u(d,"render",function(){var t,e,i,s=d.exportingGroup&&d.exportingGroup.getBBox();s&&(t=l.navButtonsGroup.getBBox(),e=s,(i=t).x>=e.x+e.width||i.x+i.width<=e.x||i.y>=e.y+e.height||i.y+i.height<=e.y||(i=-t.y-t.height+s.y-5,e=s.y+s.height-t.y+5,s=p.buttonOptions&&p.buttonOptions.verticalAlign,l.navButtonsGroup.attr({translateY:"bottom"===s?i:e})))})),this.updateEvents(p)}updateEvents(t){let e=this.chart;x(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||u(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),x(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||u(e.container,"wheel",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),y(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}}),e(t,"Series/ColorMapComposition.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,s,e){var i;let r=t.seriesTypes["column"]["prototype"],{addEvent:o,defined:a}=e;return(t=i=i||{}).pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return!a(t.color)||t.state&&"normal"!==t.state||(e[this.colorProp||"fill"]=t.color),e},pointAttribs:r.pointAttribs},t.compose=function(t){return o(t.prototype.pointClass,"afterSetState",n),t},i;function n(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new s(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),"hover"===t?.state?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:i.url+"#"+this.id,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}}),e(t,"Core/Chart/MapChart.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s){var r;let o=e["getOptions"],{isNumber:a,merge:n,pick:h}=s;class l extends t{init(t,e){var i=o().credits,i=n({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:h(i.mapText,' © {geojson.copyrightShort}'),mapTextFull:h(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(i,e)}mapZoom(t,e,i,s,r){this.mapView&&(a(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,a(e)&&a(i)?this.mapView.projection.inverse([e,i]):void 0,a(s)&&a(r)?[s,r]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}return(r=l=l||{}).maps={},r.mapChart=function(t,e,i){return new r(t,e,i)},r.splitPath=function(t){t="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t;return i.prototype.pathToSegments(t)},l}),e(t,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(t){let i=-Number.MAX_VALUE,s=Number.MAX_VALUE,r=-Number.MAX_VALUE,o=Number.MAX_VALUE,a;if(t.forEach(t=>{var e=t[t.length-2],t=t[t.length-1];"number"==typeof e&&"number"==typeof t&&(s=Math.min(s,e),i=Math.max(i,e),o=Math.min(o,t),r=Math.max(r,t),a=!0)}),a)return{x1:s,y1:o,x2:i,y2:r}}}}),e(t,"Series/Map/MapPoint.js",[t["Series/ColorMapComposition.js"],t["Maps/MapUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let a=e["boundsFromPath"],r=i.seriesTypes.scatter.prototype.pointClass,{extend:o,isNumber:n,pick:h}=s;class l extends r{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),r=i.joinBy;return i.mapData&&i.mapMap&&(t=r[1],(t=void 0!==(e=super.getNestedProperty(t))&&i.mapMap[e])?o(s,{...t,name:s.name??t.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)),s}getProjectedBounds(t){let e=a(l.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){var r=i&&i["hc-middle-lon"],o=i&&i["hc-middle-lat"];if(s&&n(r)&&n(o)){t=t.forward([r,o]);e.midX=t[0],e.midY=t[1]}else{r=i&&i["hc-middle-x"],o=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*h(this.middleX,n(r)?r:.5);let t=h(this.middleY,n(o)?o:.5);this.geometry||(t=1-t),e.midY=e.y2-(e.y2-e.y1)*t}return e}}onMouseOver(t){s.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(e){let i=this.series.chart,s=i.mapView,r=this.bounds;if(s&&r){let t=n(this.insetIndex)&&s.insets[this.insetIndex];var o,a;t&&(o=t.projectedUnitsToPixels({x:r.x1,y:r.y1}),a=t.projectedUnitsToPixels({x:r.x2,y:r.y2}),o=s.pixelsToProjectedUnits({x:o.x,y:o.y}),a=s.pixelsToProjectedUnits({x:a.x,y:a.y}),r={x1:o.x,y1:o.y,x2:a.x,y2:a.y}),s.fitToBounds(r,void 0,!1),this.series.isDirty=!0,i.redraw(e)}}}return o(l.prototype,{dataLabelOnNull:t.pointMembers.dataLabelOnNull,moveToTopOnHover:t.pointMembers.moveToTopOnHover,isValid:t.pointMembers.isValid}),l}),e(t,"Series/Map/MapSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["isNumber"];return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["value"];return i(e)?t(e,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),e(t,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),e(t,"Maps/GeoJSONComposition.js",[t["Core/Globals.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i){var s;let u=t["win"],d=e["format"],{error:g,extend:c,merge:r,wrap:o}=i;return(t=s=s||{}).compose=function(t){let e=t.prototype;e.transformFromLatLon||(e.fromLatLonToPoint=a,e.fromPointToLatLon=n,e.transformFromLatLon=h,e.transformToLatLon=l,o(e,"addCredits",m))},t.geojson=function(t,i="map",e){let s=[],r="Topology"===t.type?p(t):t,o=r.features;for(let e=0,t=o.length;e"number"==typeof t[0]?t.reduce((t,e,i)=>{let s=e<0?o[~e]:o[e];return e<0?(s=s.slice(0,0===i?s.length:s.length-1)).reverse():i&&(s=s.slice(1)),t.concat(s)},[]):t.map(s),r=i.geometries,d=[];for(let t=0,e=r.length;t(e[1]-t[1])*(i[0]-t[0])}function d(t,e,i,s){let r=[t[0]-e[0],t[1]-e[1]],o=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],h=1/(r[0]*o[1]-r[1]*o[0]),l=[(a*o[0]-n*r[0])*h,(a*o[1]-n*r[1])*h];return l.isIntersection=!0,l}return{clipLineString:function(t,e){let i=[],s=r(t,e,!1);for(let t=1;t0===t?0:0Math.tan((c+t)/2);return class{constructor(t){var e=(t.parallels||[]).map(t=>t*d),i=e[0]||0,e=e[1]??i,s=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let r=i===e?Math.sin(i):Math.log(s/Math.cos(e))/Math.log(p(e)/p(i));Math.abs(r)<1e-10&&(r=1e-10*(n(r)||1)),this.n=r,this.c=s*Math.pow(p(i),r)/r}forward(t){let{c:e,n:i,projectedBounds:s}=this,r=t[0]*d,o=t[1]*d,a=(0c-1e-6&&(o=c-1e-6),e/Math.pow(p(o),i)),n=a*Math.sin(i*r)*63.78137,h=63.78137*(e-a*Math.cos(i*r)),l=[n,h];return s&&(ns.x2||hs.y2)&&(l.outside=!0),l}inverse(t){let{c:e,n:i}=this,s=t[0]/63.78137,r=e-t[1]/63.78137,o=n(i)*Math.sqrt(s*s+r*r),a=Math.atan2(s,Math.abs(r))*n(r);return r*i<0&&(a-=Math.PI*n(s)*n(r)),[a/i/d,(2*Math.atan(Math.pow(e/o,1/i))-c)/d]}}}),e(t,"Maps/Projections/EqualEarth.js",[],function(){let d=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){var e=Math.PI/180,i=Math.asin(d*Math.sin(t[1]*e)),s=i*i,r=s*s*s;return[t[0]*e*Math.cos(i)*74.03120656864502/(d*(1.340264+-.24331799999999998*s+r*(.0062510000000000005+.034164*s))),74.03120656864502*i*(1.340264+-.081106*s+r*(893e-6+.003796*s))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,s=180/Math.PI,r=i,o,a,n,h;for(let t=0;t<12&&(a=(o=r*r)*o*o,n=r*(1.340264+-.081106*o+a*(893e-6+.003796*o))-i,r-=h=n/(1.340264+-.24331799999999998*o+a*(.0062510000000000005+.034164*o)),!(Math.abs(h)<1e-9));++t);a=(o=r*r)*o*o;var t=s*d*e*(1.340264+-.24331799999999998*o+a*(.0062510000000000005+.034164*o))/Math.cos(r),l=s*Math.asin(Math.sin(r)/d);return 180this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*s),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/s]}}}),e(t,"Maps/Projections/ProjectionRegistry.js",[t["Maps/Projections/LambertConformalConic.js"],t["Maps/Projections/EqualEarth.js"],t["Maps/Projections/Miller.js"],t["Maps/Projections/Orthographic.js"],t["Maps/Projections/WebMercator.js"]],function(t,e,i,s,r){return{EqualEarth:e,LambertConformalConic:t,Miller:i,Orthographic:s,WebMercator:r}}),e(t,"Maps/Projection.js",[t["Core/Geometry/PolygonClip.js"],t["Maps/Projections/ProjectionRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{clipLineString:b,clipPolygon:v}=t,{clamp:d,erase:c}=i,L=2*Math.PI/360,p=t=>(t<-180&&(t+=360),180(1-Math.cos(t))/2;class j{static add(t,e){j.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,r=((t,e)=>{let i=Math.cos,s=t[1]*L,r=t[0]*L,o=e[1]*L,a=e[0]*L;return n(o-s)+i(s)*i(o)*n(a-r)})(t,e);return 2*i(s(r),s(1-r))*6371e3}static geodesic(t,e,i,s=5e5){let{atan2:r,cos:o,sin:a,sqrt:n}=Math,h=j.distance,l=t[1]*L,d=t[0]*L,c=e[1]*L,p=e[0]*L,u=o(l)*o(d),g=o(c)*o(p),m=o(l)*a(d),f=o(c)*a(p),x=a(l),y=a(c),b=h(t,e),v=b/6371e3,M=a(v),C=Math.round(b/s),S=[];if(i&&S.push(t),1o.forward(a.forward(t)),this.inverse=t=>a.inverse(o.inverse(t))):o?(this.forward=t=>o.forward(t),this.inverse=t=>o.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?o&&o.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:r}=this.bounds||{},o=(t,e,i)=>{var s,[t,r]=t,o=e?0:1;if("number"==typeof i&&t[e]>=i!=r[e]>=i)return s=(i-t[e])/(r[e]-t[e]),s=t[o]+s*(r[o]-t[o]),e?[s,i]:[i,s]},a,n=t[0];return((a=o(t,0,e))||(a=o(t,0,i)))&&(n=a,t[1]=a),n=(a=o(t,1,s))||(a=o(t,1,r))?a:n}getRotator(t){let r=t[0]*L,e=(t[1]||0)*L,i=(t[2]||0)*L,o=Math.cos(e),a=Math.sin(e),n=Math.cos(i),h=Math.sin(i);if(0!=r||0!=e||0!=i)return{forward:t=>{var e=t[0]*L+r,t=t[1]*L,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*o+s*a;return[Math.atan2(e*n-t*h,s*o-i*a)/L,Math.asin(t*n+e*h)/L]},inverse:t=>{var e=t[0]*L,t=t[1]*L,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*n-e*h;return[(Math.atan2(e*n+i*h,s*o+t*a)-r)/L,Math.asin(t*o-s*a)/L]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(o,s){let h,a=[],l=[o];for(let i=0,t=o.length;iMath.abs(e.lat)-Math.abs(t.lat))[0],c(a,h));let r=a.length-2;for(;0<=r;){let t=a[r].i,e=p(180+1e-6*a[r].direction),i=p(180-1e-6*a[r].direction),s=o.splice(t,a[r+1].i-t,...j.geodesic([e,a[r].lat],[e,a[r+1].lat],!0));s.push(...j.geodesic([i,a[r+1].lat],[i,a[r].lat],!0)),l.push(s),r-=2}if(h)for(let t=0;t{let e=t.map(e=>{if(x){let t=(e=s?s.forward(e):e)[0];e=[t=Math.abs(t-180)<1e-6?t<180?179.999999:180.000001:t,e[1]]}return e}),i=[e];f&&(j.insertGeodesics(e),x&&(i=this.cutOnAntimeridian(e,m))),i.forEach(n=>{let h,l;if(!(n.length<2)){let e=!1,i=!1,s=t=>{e?g.push(["L",t[0],t[1]]):(g.push(["M",t[0],t[1]]),e=!0)},r=!1,o=!1,a=n.map(t=>{let e=y.forward(t);return e.outside?r=!0:o=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(x){if(m&&a.push(a[0]),r){if(!o)return;if(p)if(m)a=v(a,p);else if(u)return void b(a,p).forEach(t=>{e=!1,t.forEach(s)})}a.forEach(s)}else for(let t=0;ts(y.forward(t))):e=!1),s(c),l=d,!1)}}})});return"LineString"===t.type?r(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>r(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>r(t)),g.length&&g.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>r(t))}),g.length&&g.push(["Z"])),g}}return j.registry=e,j}),e(t,"Maps/MapView.js",[t["Core/Globals.js"],t["Maps/MapViewDefaults.js"],t["Maps/GeoJSONComposition.js"],t["Core/Geometry/GeometryUtilities.js"],t["Maps/MapUtilities.js"],t["Maps/Projection.js"],t["Core/Utilities.js"]],function(t,o,e,i,s,a,r){let n=t["composed"],h=i["pointInPolygon"],l=e["topo2geo"],d=s["boundsFromPath"],{addEvent:c,clamp:f,crisp:p,fireEvent:u,isArray:g,isNumber:x,isObject:m,isString:y,merge:b,pick:v,pushUnique:M,relativeLength:C}=r,S={};function k(t,e){var{width:e,height:i}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(e/256),(t.y2-t.y1)/(i/256)))/Math.log(2)}function w(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class A{static compose(t){M(n,"MapView")&&(S=t.maps,c(t,"afterInit",function(){this.mapView=new A(this,this.options.mapView)},{order:0}),c(t,"addSeriesAsDrilldown",w),c(t,"afterDrillUp",w))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),b(t[0]))}static mergeInsets(t,e){let i=t=>{let i={};return t.forEach((t,e)=>{i[t&&t.id||"i"+e]=t}),i},s=b(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof T||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=b(o,this.recommendedMapView,e),s=this.recommendedMapView?.insets,r=e&&e.insets;s&&r&&(i.insets=A.mergeInsets(s,r)),this.chart=t,this.center=i.center,this.options=i,this.projection=new a(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(c(t,"afterSetChartSize",()=>{this.playingField=this.getField(),void 0!==this.minZoom&&this.minZoom!==this.zoom||(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&x(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&b(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let e=this.options,t=e.insets;t&&t.forEach(t=>{t=new T(this,b(e.insetOptions,t));this.insets.push(t)})}fitToBounds(t,e,i=!0,s){var r,o=t||this.getProjectedBounds();o&&(e=v(e,t?0:this.options.padding),r=this.getField(!1),e=g(e)?e:[e,e,e,e],this.padding=[C(e[0],r.height),C(e[1],r.width),C(e[2],r.height),C(e[3],r.width)],this.playingField=this.getField(),e=k(o,this.playingField),t||(this.minZoom=e),r=this.projection.inverse([(o.x2+o.x1)/2,(o.y2+o.y1)/2]),this.setView(r,e,i,s))}getField(t=!0){t=t?this.padding:[0,0,0,0];return{x:t[3],y:t[0],width:this.chart.plotWidth-t[1]-t[3],height:this.chart.plotHeight-t[0]-t[2]}}getGeoMap(t){return y(t)?S[t]&&"Topology"===S[t].type?l(S[t]):S[t]:m(t,!0)?"FeatureCollection"===t.type?t:"Topology"===t.type?l(t):void 0:void 0}getMapBBox(){var t,e,i=this.getProjectedBounds(),s=this.getScale();if(i)return t=this.padding,e=this.projectedUnitsToPixels({x:i.x1,y:i.y2}),{width:(i.x2-i.x1)*s+t[1]+t[3],height:(i.y2-i.y1)*s+t[0]+t[2],x:e.x-t[3],y:e.y-t[0]}}getProjectedBounds(){let s=this.projection,t=this.chart.series.reduce((t,e)=>{var i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),r=this.options.fitToGeometry;if(r){if(!this.fitToGeometryCache)if("MultiPoint"===r.type){let t=r.coordinates.map(t=>s.forward(t)),e=t.map(t=>t[0]),i=t.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,e),x2:Math.max.apply(0,e),y1:Math.min.apply(0,i),y2:Math.max.apply(0,i)}}else this.fitToGeometryCache=d(s.path(r));return this.fitToGeometryCache}return this.projection.bounds||A.compositeBounds(t)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){var{x:t,y:e,width:i,height:s}=this.playingField,r=this.projection.forward(this.center),o=this.projection.hasCoordinates?-1:1,a=this.getScale(),o=a*o;return{scaleX:a,scaleY:o,translateX:t+i/2-r[0]*a,translateY:e+s/2-r[1]*o}}lonLatToPixels(t){t=this.lonLatToProjectedUnits(t);if(t)return this.projectedUnitsToPixels(t)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){var r=e.transformFromLatLon(t,i[s]);if(r&&h(r,i[s].hitZone.coordinates[0]))return r}return e.transformFromLatLon(t,i.default)}for(var o of this.insets){var a;if(o.options.geoBounds&&h({x:t.lon,y:t.lat},o.options.geoBounds.coordinates[0]))return a=o.projection.forward([t.lon,t.lat]),o=o.projectedUnitsToPixels({x:a[0],y:a[1]}),this.pixelsToProjectedUnits(o)}var n=this.projection.forward([t.lon,t.lat]);if(!n.outside)return{x:n[0],y:n[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&h(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}var r,o,a=this.projectedUnitsToPixels(t);for(r of this.insets)if(r.hitZone&&h(a,r.hitZone.coordinates[0]))return o=r.pixelsToProjectedUnits(a),{lon:(o=r.projection.inverse([o.x,o.y]))[0],lat:o[1]};var n=this.projection.inverse([t.x,t.y]);return{lon:n[0],lat:n[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),r=[],o=(s.forEach(t=>{var e,i,s;t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)&&([t,e,i,s]=t.bbox,r.push({x1:t,y1:e,x2:i,y2:s}))}),r.length&&A.compositeBounds(r));u(this,"onRecommendMapView",{geoBounds:o,chart:t},function(){var t,e,i,s;o&&this.recommendedMapView&&(this.recommendedMapView.projection||({x1:t,y1:e,x2:i,y2:s}=o,this.recommendedMapView.projection=180{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(l,d,t=!0,e){l&&(this.center=l),"number"==typeof d&&("number"==typeof this.minZoom&&(d=Math.max(d,this.minZoom)),"number"==typeof this.options.maxZoom&&(d=Math.min(d,this.options.maxZoom)),x(d)&&(this.zoom=d));var c,p,l=this.getProjectedBounds();if(l){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:r}=this.playingField,o=this.getScale(),a=this.projectedUnitsToPixels({x:l.x1,y:l.y1}),n=this.projectedUnitsToPixels({x:l.x2,y:l.y2}),h=[(l.x1+l.x2)/2,(l.y1+l.y2)/2];this.chart.series.some(t=>t.isDrilling)||(d=a.x,l=n.y,c=n.x,p=a.y,c-d{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}u(this,"afterSetView"),t&&this.redraw(e)}projectedUnitsToPixels(t){var e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,r=s.x+s.width/2,s=s.y+s.height/2;return{x:r-e*(i[0]-t.x),y:s+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){var{x:t,y:e}=t,i=this.getScale(),s=this.projection.forward(this.center),r=this.playingField,o=r.x+r.width/2,r=r.y+r.height/2;return{x:s[0]+(t-o)/i,y:s[1]-(e-r)/i}}setUpEvents(){let p,u,g,m=this["chart"],t=s=>{let{lastTouches:t,pinchDown:e}=m.pointer,r=this.projection,o=s.touches,{mouseDownX:a,mouseDownY:n}=m,h=0;if(1===e?.length?(a=e[0].chartX,n=e[0].chartY):2===e?.length&&(a=(e[0].chartX+e[1].chartX)/2,n=(e[0].chartY+e[1].chartY)/2),2===o?.length&&t&&(h=Math.log(Math.sqrt(Math.pow(t[0].chartX-t[1].chartX,2)+Math.pow(t[0].chartY-t[1].chartY,2))/Math.sqrt(Math.pow(o[0].chartX-o[1].chartX,2)+Math.pow(o[0].chartY-o[1].chartY,2)))/Math.log(.5)),x(a)&&x(n)){let t=a+","+n,{chartX:e,chartY:i}=s.originalEvent;2===o?.length&&(e=(o[0].chartX+o[1].chartX)/2,i=(o[0].chartY+o[1].chartY)/2),t!==u&&(u=t,p=this.projection.forward(this.center),g=(this.projection.options.rotation||[0,0]).slice());var l,d,c=r.def&&r.def.bounds,c=c&&k(c,this.playingField)||-1/0;"Orthographic"===r.options.name&&(o?.length||0)<2&&(this.minZoom||1/0)<1.3*c?(c=440/(this.getScale()*Math.min(m.plotWidth,m.plotHeight)),g&&(l=(a-e)*c-g[0],c=f(-g[1]-(n-i)*c,-80,80),d=this.zoom,this.update({projection:{rotation:[-l,-c]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=d,m.redraw(!1))):x(e)&&x(i)&&(l=this.getScale(),c=this.projection.hasCoordinates?1:-1,d=this.projection.inverse([p[0]+(a-e)/l,p[1]-(n-i)/l*c]),isNaN(d[0]+d[1])||this.zoomBy(h,d,void 0,!1)),s.preventDefault()}};c(m,"pan",t),c(m,"touchpan",t),c(m,"selection",t=>{var e,i,s,r;t.resetSelection?this.zoomBy():(s=t.x-m.plotLeft,r=t.y-m.plotTop,{y:e,x:i}=this.pixelsToProjectedUnits({x:s,y:r}),{y:s,x:r}=this.pixelsToProjectedUnits({x:s+t.width,y:r+t.height}),this.fitToBounds({x1:i,y1:e,x2:r,y2:s},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||m.showResetZoom(),t.preventDefault())})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,r=s&&a.toString(s)!==a.toString(this.options.projection),o=!1;b(!0,this.userOptions,t),b(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,o=!0),(r||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(r||o)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,o&&e)for(;1[t[1]||0,t[2]||0])}}getField(h=!0){var l=this.hitZone;if(l){let t=h?this.padding:[0,0,0,0],e=l.coordinates[0],i=e.map(t=>t[0]),s=e.map(t=>t[1]),r=Math.min.apply(0,i)+t[3],o=Math.max.apply(0,i)-t[1],a=Math.min.apply(0,s)+t[0],n=Math.max.apply(0,s)-t[2];if(x(r)&&x(a))return{x:r,y:a,width:o-r,height:n-a}}return super.getField.call(this,h)}getHitZone(){let{chart:i,mapView:s,options:r}=this,e=(r.field||{})["coordinates"];if(e){let t=e[0];if("percent"===r.units){let e="mapBoundingBox"===r.relativeTo&&s.getMapBBox()||b(i.plotBox,{x:0,y:0});t=t.map(t=>[C(t[0]+"%",e.width,e.x),C(t[1]+"%",e.height,e.y)])}return{type:"Polygon",coordinates:[t]}}}getProjectedBounds(){return A.compositeBounds(this.allBounds)}isInside(t){var{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&h(t,i))}render(){let{chart:n,mapView:i,options:h}=this,s=h.borderPath||h.field;if(s&&i.group){let t=!0,o=(this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(i.group),t=!1),n.styledMode||this.border.attr({stroke:h.borderColor,"stroke-width":h.borderWidth}),this.border.strokeWidth()),a="mapBoundingBox"===h.relativeTo&&i.getMapBBox()||i.playingField,e=(s.coordinates||[]).reduce((t,e)=>e.reduce((t,e,i)=>{let[s,r]=e;return"percent"===h.units&&(s=n.plotLeft+C(s+"%",a.width,a.x),r=n.plotTop+C(r+"%",a.height,a.y)),s=p(s,o),r=p(r,o),t.push(0===i?["M",s,r]:["L",s,r]),t},t),[]);this.border[t?"animate":"attr"]({d:e})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}return A}),e(t,"Series/Map/MapSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Series/ColorMapComposition.js"],t["Series/CenteredUtilities.js"],t["Core/Globals.js"],t["Core/Chart/MapChart.js"],t["Series/Map/MapPoint.js"],t["Series/Map/MapSeriesDefaults.js"],t["Maps/MapView.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,f,s,x,r,a,o,n){let{animObject:m,stop:y}=t,h=f["noop"],l=s["splitPath"],{column:d,scatter:c}=o.seriesTypes,{extend:p,find:u,fireEvent:b,getNestedProperty:v,isArray:M,defined:g,isNumber:C,isObject:S,merge:k,objectEach:w,pick:A,splat:T}=n;class P extends c{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=m(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let p=this,{chart:u,group:i,transformGroups:s=[]}=this,{mapView:r,renderer:g}=u;if(r){(this.transformGroups=s)[0]||(s[0]=g.g().add(i));for(let t=0,e=r.insets.length;t{let e=t["graphic"];t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),d.prototype.drawPoints.apply(this),this.points.forEach(e=>{let n=e.graphic;if(n){let a=n.animate,t="";e.name&&(t+="highcharts-name-"+e.name.replace(/ /g,"-").toLowerCase()),e.properties&&e.properties["hc-key"]&&(t+=" highcharts-key-"+e.properties["hc-key"].toString().toLowerCase()),t&&n.addClass(t),u.styledMode&&n.css(this.pointAttribs(e,e.selected?"select":void 0)),n.attr({visibility:e.visible||!e.visible&&!e.isNull?"inherit":"hidden"}),n.animate=function(t,e,i){var s,r=C(t["stroke-width"])&&!C(n["stroke-width"]),o=C(n["stroke-width"])&&!C(t["stroke-width"]);return(r||o)&&(s=A(p.getStrokeWidth(p.options),1)/(u.mapView&&u.mapView.getScale()||1),r&&(n["stroke-width"]=s),o&&(t["stroke-width"]=s)),a.call(n,t,e,o?function(){n.element.removeAttribute("stroke-width"),delete n["stroke-width"],i&&i.apply(this,arguments)}:i)}}})),s.forEach((a,t)=>{let n=(0===t?r:r.insets[t-1]).getSVGTransform(),h=A(this.getStrokeWidth(this.options),1),l=n.scaleX,d=0{(p.points||[]).forEach(t=>{let e,i=t.graphic;i&&i["stroke-width"]&&(e=this.getStrokeWidth(t.options))&&i.attr({"stroke-width":e/s})})};if(g.globalAnimation&&u.hasRendered&&r.allowTransformAnimation){let s=Number(a.attr("translateX")),r=Number(a.attr("translateY")),o=Number(a.attr("scaleX")),t=k(m(g.globalAnimation)),e=t.step;t.step=function(){e&&e.apply(this,arguments),((t,e)=>{var i=o+(l-o)*e.pos;a.attr({translateX:s+(n.translateX-s)*e.pos,translateY:r+(n.translateY-r)*e.pos,scaleX:i,scaleY:i*d,"stroke-width":h/i}),c(i)}).apply(this,arguments)},a.attr({animator:0}).animate({animator:1},t,function(){"boolean"!=typeof g.globalAnimation&&g.globalAnimation.complete&&g.globalAnimation.complete({applyDrilldown:!0}),b(this,"mapZoomComplete")}.bind(this))}else y(a),a.attr(k(n,{"stroke-width":h/l})),c(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:o,projection:t}=this.chart.mapView,e=[];(this.points||[]).forEach(r=>{if(r.path||r.geometry){if("string"==typeof r.path?r.path=l(r.path):M(r.path)&&"M"===r.path[0]&&(r.path=this.chart.renderer.pathToSegments(r.path)),!r.bounds){let s=r.getProjectedBounds(t);if(s){r.labelrank=A(r.labelrank,(s.x2-s.x1)*(s.y2-s.y1));let{midX:e,midY:i}=s;if(o&&C(e)&&C(i)){let t=u(o,t=>t.isInside({x:e,y:i}));t&&(delete r.projectedPath,(s=r.getProjectedBounds(t.projection))&&t.allBounds.push(s),r.insetIndex=o.indexOf(t))}r.bounds=s}}r.bounds&&void 0===r.insetIndex&&e.push(r.bounds)}}),this.bounds=a.compositeBounds(e)}return this.bounds}getStrokeWidth(t){var e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,r=s?this.colorAttribs(t):d.prototype.pointAttribs.call(this,t,e),o=this.getStrokeWidth(t.options);e&&(e=k(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),a=this.getStrokeWidth(e),g(a)&&(o=a),r.stroke=e.borderColor??t.color),o&&i&&(o/=i.getScale());var a=this.getStrokeWidth(this.options);return r.dashstyle&&i&&C(a)&&(o=a/i.getScale()),t.visible||(r.fill=this.options.nullColor),g(o)?r["stroke-width"]=o:delete r["stroke-width"],r["stroke-linecap"]=r["stroke-linejoin"]=this.options.linecap,r}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}processData(){let e,i,s,r=this.options,o=r.data,t=this.chart,a=t.options.chart,n=this.joinBy,h=r.keys||this.pointArrayMap,l=[],d={},c=this.chart.mapView,p=c&&(S(r.mapData,!0)?c.getGeoMap(r.mapData):c.geoMap),u=t.mapTransforms=a.mapTransforms||p&&p["hc-transform"]||t.mapTransforms,g=(u&&w(u,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),M(r.mapData)?s=r.mapData:p&&"FeatureCollection"===p.type&&(this.mapTitle=p.title,s=f.geojson(p,this.type,this)),this.processedData=[],this.processedData);var m;if(o)for(let i=0,t=o.length;ih.length&&"string"==typeof m[0]&&(g[i]["hc-key"]=m[0],++e);for(let t=0;t{t=v(e,t);d[t]&&l.push(d[t])})}if(r.allAreas){if(n[1]){let e=n[1];g.forEach(t=>{l.push(v(e,t))})}let e="|"+l.map(function(t){return t&&t[n[0]]}).join("|")+"|";s.forEach(t=>{n[0]&&-1!==e.indexOf("|"+t[n[0]]+"|")||g.push(k(t,{value:null}))})}}this.processedXData=Array(g.length)}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),(i=this.joinBy=T(i))[1]||(i[1]=i[0]),e}translate(){let s=this.doFullTranslate(),r=this.chart.mapView,o=r&&r.projection;if(!this.chart.hasRendered||!this.isDirtyData&&this.hasRendered||(this.processData(),this.generatePoints(),delete this.bounds,!r||r.userOptions.center||C(r.userOptions.zoom)||r.zoom!==r.minZoom?this.getProjectedBounds():r.fitToBounds(void 0,void 0,!1)),r){let i=r.getSVGTransform();this.points.forEach(t=>{var e=C(t.insetIndex)&&r.insets[t.insetIndex].getSVGTransform()||i;e&&t.bounds&&C(t.bounds.midX)&&C(t.bounds.midY)&&(t.plotX=t.bounds.midX*e.scaleX+e.translateX,t.plotY=t.bounds.midY*e.scaleY+e.translateY),s&&(t.shapeType="path",t.shapeArgs={d:x.getProjectedPath(t,o)}),t.hiddenInDataClass||(t.projectedPath&&!t.projectedPath.length?t.setVisible(!1):t.visible||t.setVisible(!0))})}b(this,"afterTranslate")}update(i){i.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((t,e)=>(e===this._i?i:t).mapData)],!0),super.update.apply(this,arguments)}}return P.defaultOptions=k(c.defaultOptions,r),p(P.prototype,{type:"map",axisTypes:e.seriesMembers.axisTypes,colorAttribs:e.seriesMembers.colorAttribs,colorKey:e.seriesMembers.colorKey,directTouch:!0,drawDataLabels:h,drawGraph:h,forceDL:!0,getCenter:i.getCenter,getExtremesFromAll:!0,getSymbol:h,isCartesian:!1,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:e.seriesMembers.pointArrayMap,pointClass:x,preserveAspectRatio:!0,searchPoint:h,trackerGroups:e.seriesMembers.trackerGroups,useMapGeometry:!0}),e.compose(P),o.registerSeriesType("map",P),P}),e(t,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),e(t,"Series/MapLine/MapLineSeries.js",[t["Series/MapLine/MapLineSeriesDefaults.js"],t["Series/Map/MapSeries.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{extend:r,merge:o}=s;class a extends e{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}return a.defaultOptions=o(e.defaultOptions,t),r(a.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),i.registerSeriesType("mapline",a),a}),e(t,"Series/MapPoint/MapPointPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let i=t.seriesTypes["scatter"],s=e["isNumber"];class r extends i.prototype.pointClass{isValid(){return!!(this.options.geometry||s(this.x)&&s(this.y)||s(this.options.lon)&&s(this.options.lat))}}return r}),e(t,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),e(t,"Series/MapPoint/MapPointSeries.js",[t["Core/Globals.js"],t["Series/MapPoint/MapPointPoint.js"],t["Series/MapPoint/MapPointSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o){let a=t["noop"],{map:n,scatter:h}=s.seriesTypes,{extend:l,fireEvent:d,isNumber:c,merge:p}=o;class u extends h{constructor(){super(...arguments),this.clearBounds=n.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(r){let o=this.chart.mapView;if(o){let{geometry:t,lon:e,lat:i}=r,s=t&&"Point"===t.type&&t.coordinates;if(s=c(e)&&c(i)?[e,i]:s)return o.lonLatToProjectedUnits({lon:s[0],lat:s[1]})}}translate(){let l=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),l){let n=l.getSVGTransform(),h=l.projection["hasCoordinates"];this.points.forEach(t=>{let e,{x:i,y:s}=t,r=c(t.insetIndex)&&l.insets[t.insetIndex].getSVGTransform()||n,o=this.projectPoint(t.options)||t.properties&&this.projectPoint(t.properties);var a;o?(i=o.x,s=o.y):t.bounds&&(i=t.bounds.midX,s=t.bounds.midY,r&&c(i)&&c(s)&&(t.plotX=i*r.scaleX+r.translateX,t.plotY=s*r.scaleY+r.translateY,e=!0)),c(i)&&c(s)?e||(a=l.projectedUnitsToPixels({x:i,y:s}),t.plotX=a.x,t.plotY=h?a.y:this.chart.plotHeight-a.y):t.y=t.plotX=t.plotY=void 0,t.isInside=this.isPointInside(t),t.zone=this.zones.length?t.getZone():void 0})}d(this,"afterTranslate")}}return u.defaultOptions=p(h.defaultOptions,i),r.prototype.symbols.mapmarker=(t,e,i,s,r)=>{let o,a;var n=r&&"legend"===r.context,r=(n?(o=t+i/2,a=e+s):r&&"number"==typeof r.anchorX&&"number"==typeof r.anchorY?(o=r.anchorX,a=r.anchorY):(o=t+i/2,a=e+s/2,e-=s),n?s/3:s/2);return[["M",o,a],["C",o,a,o-r,e+1.5*r,o-r,e+r],["A",r,r,1,1,1,o+r,e+r],["C",o+r,e+1.5*r,o,a,o,a],["Z"]]},l(u.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:e,searchPoint:a,useMapGeometry:!0}),s.registerSeriesType("mappoint",u),u}),e(t,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),e(t,"Series/Bubble/BubbleLegendItem.js",[t["Core/Color/Color.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,o,e,i){let c=t["parse"],s=e["noop"],{arrayMax:n,arrayMin:h,isNumber:d,merge:p,pick:u,stableSort:g}=i;return class{constructor(t,e){this.setState=s,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=u(t.options.itemDistance,20),s=this.legendItem||{},r=this.options,o=r.ranges,a=r.connectorDistance;var n,h,l;o&&o.length&&d(o[0].value)?(g(o,function(t,e){return e.value-t.value}),this.ranges=o,this.setOptions(),this.render(),n=this.getMaxLabelSize(),l=2*(h=this.ranges[0].radius),e=0<(e=a-h+n.width)?e:0,this.maxLabel=n,this.movementX="left"===r.labels.align?e:0,s.labelWidth=l+e+i,s.labelHeight=l+n.height/2):t.options.bubbleLegend.autoRanges=!0}setOptions(){let i=this.ranges,s=this.options,r=this.chart.series[s.seriesIndex],o=this.legend.baseline,a={zIndex:s.zIndex,"stroke-width":s.borderWidth},n={zIndex:s.zIndex,"stroke-width":s.connectorWidth},h={align:this.legend.options.rtl||"left"===s.labels.align?"right":"left",zIndex:s.zIndex},l=r.options.marker.fillOpacity,d=this.chart.styledMode;i.forEach(function(t,e){d||(a.stroke=u(t.borderColor,s.borderColor,r.color),a.fill=u(t.color,s.color,1!==l?c(r.color).setOpacity(l).get("rgba"):r.color),n.stroke=u(t.connectorColor,s.connectorColor,r.color)),i[e].radius=this.getRangeRadius(t.value),i[e]=p(i[e],{center:i[0].radius-i[e].radius+o}),d||p(!0,i[e],{bubbleAttribs:p(a),connectorAttribs:p(n),labelAttribs:h})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],r=e.ranges[0].value,o=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,o,r,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(var s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,r=s.labels,o=this.chart,a=o.series[s.seriesIndex],n=o.renderer,h=this.symbols,l=h.labels,d=t.center,c=Math.abs(t.radius),p=s.connectorDistance||0,u=r.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,x=e.radius||0,y=d-c-m/2+f/2,b=(y%1?1:.5)-(f%2?0:.5),v=n.styledMode,M=g||"left"===u?-p:p,C=("center"===u&&(M=0,s.connectorDistance=0,t.labelAttribs.align="center"),h.bubbleItems.push(n.circle(x,d+b,c).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),h.connectors.push(n.path(n.crispLine([["M",x,y],["L",x+M,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol)),n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:r.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol)),S={x:x+M+s.labels.x,y:y+s.labels.y+.4*C.getBBox().height};C.attr(S),l.push(C),C.placed=!0,C.alignAttr=S}getMaxLabelSize(){let e,i;return this.symbols.labels.forEach(function(t){i=t.getBBox(!0),e=!e||i.width>e.width?i:e}),e||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,r=this.chart["numberFormatter"];return s?o.format(s,t):i?i.call(t):r(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,r,o=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(r=t.zData.filter(d)).length&&(o=u(t.options.zMin,Math.min(o,Math.max(h(r),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=u(t.options.zMax,Math.max(a,n(r))))}),s=o===a?[{value:a}]:[{value:o},{value:(o+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=p(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,r=s?t.legend.lastLineHeight:0,o=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],h=n.getPxExtremes(),l=Math.ceil(h.minPxSize),d=Math.ceil(h.maxPxSize),c=Math.min(a,o),p,u=n.options.maxSize;return i||!/%$/.test(u)?p=d:(p=(c+r)*(u=parseFloat(u))/100/(u/100+1),(s&&a-p>=o||!s&&o-p>=a)&&(p=d)),[l,Math.ceil(p)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();1{(o=t.legendItem||{}).group&&(o.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),h(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),f(a,u(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),f(a,u(a))))}function p(t){let e=t.series,i=0;for(;ir.height&&(r.height=e[h].itemHeight);r.step=n}return i}function g(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,r=p(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),0<=r&&i.enabled&&s.enabled&&(s.seriesIndex=r,this.bubbleLegend=new o(s,this),this.bubbleLegend.addToLegend(t.allItems))}function m(t){if(t.defaultPrevented)return!1;let e=t.legendItem,i=this.chart,s=e.visible;this&&this.bubbleLegend&&(e.visible=!s,e.ignoreSeries=s,t=0<=p(i),this.bubbleLegend.visible!==t&&(this.update({bubbleLegend:{enabled:t}}),this.bubbleLegend.visible=t),e.visible=s)}function f(t,i){let e=t.allItems,s=t.options.rtl,r,o,a,n,h=0;e.forEach((t,e)=>{(n=t.legendItem||{}).group&&(r=n.group.translateX||0,o=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?r-t.options.maxSize/2:r+a,n.group.attr({translateX:a})),e>i[h].step&&h++,n.group.attr({translateY:Math.round(o+i[h].height/2)}),n.y=o+i[h].height/2)})}return{compose:function(t,e){l(a,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:i}}),d(t.prototype,"drawChartBox",c),n(e,"afterGetAllItems",g),n(e,"itemClick",m))}}}),e(t,"Series/Bubble/BubblePoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{scatter:{prototype:{pointClass:s}}}=e["seriesTypes"],r=i["extend"];class o extends s{haloPath(r){r=(r&&this.marker&&this.marker.radius||0)+r;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:e,yAxis:i,chart:s}=this.series;return s.renderer.symbols.circle(e.len-t[1]-r,i.len-t[0]-r,2*r,2*r)}return t.prototype.haloPath.call(this,r)}}return r(o.prototype,{ttBelow:!1}),o}),e(t,"Series/Bubble/BubbleSeries.js",[t["Series/Bubble/BubbleLegendComposition.js"],t["Series/Bubble/BubblePoint.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(s,t,e,i,r,o){let a=e["parse"],{composed:n,noop:h}=i,{series:l,seriesTypes:{column:{prototype:d},scatter:c}}=r,{addEvent:p,arrayMax:u,arrayMin:g,clamp:m,extend:f,isNumber:x,merge:y,pick:b,pushUnique:v}=o;function M(){let t=this.len,{coll:e,isXAxis:r,min:o}=this,a=r?"xData":"yData",n=(this.max||0)-(o||0),h=0,l=t,d=t/n,c;"xAxis"!==e&&"yAxis"!==e||(this.series.forEach(e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,c=!0;var i,s=e[a];if(r&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),0{void 0===b(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/d)})))}class C extends c{static compose(t,e,i){s.compose(e,i),v(n,"Series.Bubble")&&p(t,"foundExtremes",M)}animate(t){!t&&this.points.length{t.bubblePadding&&t.reserveSpace()&&((t=(t.onPoint||t).getZExtremes())&&(i=Math.min(b(i,t.zMin),t.zMin),s=Math.max(b(s,t.zMax),t.zMax),e=!0))}),e?(a={zMin:i,zMax:s},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(r=0,s=t.length;r{let e;return"string"==typeof t&&(e=/%$/.test(t),t=parseInt(t,10)),e?i*t/100:t},e=t(b(this.options.minSize,8)),s=Math.max(t(b(this.options.maxSize,"20%")),e);return{minPxSize:e,maxPxSize:s}}getZExtremes(){var t=this.options,e=(this.zData||[]).filter(x);if(e.length){var i=b(t.zMin,m(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),t=b(t.zMax,u(e));if(x(i)&&x(t))return{zMin:i,zMax:t}}}}return C.defaultOptions=y(c.defaultOptions,{dataLabels:{formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["z"];return x(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),f(C.prototype,{alignDataLabel:d.alignDataLabel,applyZones:h,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:t,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),p(C,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),p(C,"remove",t=>{delete t.target.chart.bubbleZExtremes}),r.registerSeriesType("bubble",C),C}),e(t,"Series/MapBubble/MapBubblePoint.js",[t["Series/Bubble/BubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{map:{prototype:{pointClass:{prototype:s}}}}=e["seriesTypes"],r=i["extend"];class o extends t{isValid(){return"number"==typeof this.z}}return r(o.prototype,{applyOptions:s.applyOptions,getProjectedBounds:s.getProjectedBounds}),o}),e(t,"Series/MapBubble/MapBubbleSeries.js",[t["Series/Bubble/BubbleSeries.js"],t["Series/MapBubble/MapBubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{map:{prototype:r},mappoint:{prototype:o}}=i["seriesTypes"],{extend:a,merge:n}=s;class h extends t{constructor(){super(...arguments),this.clearBounds=r.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){o.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(t,e,i){super.updateParallelArrays.call(this,t,e,i);let s=this.processedXData,r=this.xData;s&&r&&(s.length=r.length)}}return h.defaultOptions=n(t.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),a(h.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:r.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:e,processData:r.processData,projectPoint:o.projectPoint,kdAxisArray:["plotX","plotY"],setData:r.setData,setOptions:r.setOptions,updateData:r.updateData,useMapGeometry:!0,xyFromShape:!0}),i.registerSeriesType("mapbubble",h),h}),e(t,"Series/Heatmap/HeatmapPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["scatter"],{clamp:o,defined:g,extend:s,pick:a}=e;class r extends i{applyOptions(t,e){return!this.isNull&&null!==this.value||delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,s=(e.rowsize||1)/2,h=t.xAxis,l=t.yAxis,d=this.options.marker||t.options.marker,r=t.pointPlacementToXValue(),c=a(this.pointPadding,e.pointPadding,0),p={x1:o(Math.round(h.len-h.translate(this.x-i,!1,!0,!1,!0,-r)),-h.len,2*h.len),x2:o(Math.round(h.len-h.translate(this.x+i,!1,!0,!1,!0,-r)),-h.len,2*h.len),y1:o(Math.round(l.translate(this.y-s,!1,!0,!1,!0)),-l.len,2*l.len),y2:o(Math.round(l.translate(this.y+s,!1,!0,!1,!0)),-l.len,2*l.len)};for(var u of[["width","x"],["height","y"]]){let t=u[0],e=u[1],i=e+"1",s=e+"2",r=Math.abs(p[i]-p[s]),o=d&&d.lineWidth||0,a=Math.abs(p[i]+p[s])/2,n=d&&d[t];g(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),e(t,"Series/InterpolationUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let s=t["doc"],{defined:r,pick:o}=e;return{colorFromPoint:function(e,i){let s=i.series.colorAxis;if(s){let t=s.toColor(e||0,i).split(")")[0].split("(")[1].split(",").map(t=>o(parseFloat(t),parseInt(t,10)));return t[3]=255*o(t[3],1),r(e)&&i.visible||(t[3]=0),t}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=s.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}}}),e(t,"Series/Heatmap/HeatmapSeries.js",[t["Core/Color/Color.js"],t["Series/ColorMapComposition.js"],t["Series/Heatmap/HeatmapPoint.js"],t["Series/Heatmap/HeatmapSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"],t["Series/InterpolationUtilities.js"]],function(l,t,e,i,s,r,o,a){let{series:d,seriesTypes:{column:n,scatter:h}}=s,{symbols:c}=r["prototype"],{addEvent:p,extend:u,fireEvent:g,isNumber:m,merge:f,pick:x}=o,{colorFromPoint:O,getContext:E}=a;class y extends h{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let T=this,t=T.options,e=t.interpolation,i=t.marker||{};if(e){let{image:v,chart:M,xAxis:C,yAxis:S}=T,{reversed:k=!1,len:t}=C,{reversed:w=!1,len:e}=S,A={width:t,height:e};if(!v||T.isDirtyData||T.isDirtyCanvas){let g=E(T),{canvas:m,options:{colsize:f=1,rowsize:x=1},points:y,points:{length:b}}=T,t=M.colorAxis&&M.colorAxis[0];if(m&&g&&t){let{min:e,max:t}=C.getExtremes(),{min:i,max:s}=S.getExtremes(),r=t-e,o=s-i,a=Math.round(r/f/8*8),n=Math.round(o/x/8*8),[h,l]=[[a,a/r,k,"ceil"],[n,n/o,!w,"floor"]].map(([e,i,t,s])=>t?t=>Math[s](e-i*t):t=>Math[s](i*t)),d=m.width=a+1,c=d*(m.height=n+1),p=(b-1)/c,u=new Uint8ClampedArray(4*c);T.buildKDTree();for(let t=0;t{t.graphic&&(t.graphic[T.chart.styledMode?"css":"animate"](T.colorAttribs(t)),null===t.value&&t.graphic.addClass("highcharts-null-point"))}))}getExtremes(){var{dataMin:t,dataMax:e}=d.prototype.getExtremes.call(this,this.valueData);return m(t)&&(this.valueMin=t),m(e)&&(this.valueMax=e),d.prototype.getExtremes.call(this)}getValidPoints(t,e){return d.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.xData}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=x(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,c.ellipse=c.circle,t.marker&&m(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){var i,s=t.shapeArgs||{};return t.hasImage?{x:t.plotX,y:t.plotY}:e&&"normal"!==e?(t=t.options.marker||{},i=(i=this.options.marker||{}).states&&i.states[e]||{},e=((t=t.states&&t.states[e]||{}).width||i.width||s.width||0)+(t.widthPlus||i.widthPlus||0),t=(t.height||i.height||s.height||0)+(t.heightPlus||i.heightPlus||0),{x:(s.x||0)+((s.width||0)-e)/2,y:(s.y||0)+((s.height||0)-t)/2,width:e,height:t}):s}pointAttribs(t,e){let i=d.prototype.pointAttribs.call(this,t,e),s=this.options||{},r=this.chart.options.plotOptions||{},o=r.series||{},a=r.heatmap||{},n=t&&t.options.borderColor||s.borderColor||a.borderColor||o.borderColor,h=t&&t.options.borderWidth||s.borderWidth||a.borderWidth||o.borderWidth||i["stroke-width"];return i.stroke=t&&t.marker&&t.marker.lineColor||s.marker&&s.marker.lineColor||n||this.color,i["stroke-width"]=h,e&&"normal"!==e&&(t=f(s.states&&s.states[e],s.marker&&s.marker.states&&s.marker.states[e],t&&t.options.states&&t.options.states[e]||{}),i.fill=t.color||l.parse(i.fill).brighten(t.brightness||0).get(),i.stroke=t.lineColor||i.stroke),i}translate(){let{borderRadius:o,marker:t}=this.options,a=t&&t.symbol||"rect",n=c[a]?a:"rect",h=-1!==["circle","square"].indexOf(n);var e,i,l,d;this.processedXData||({xData:e,yData:i}=this.getProcessedData(),this.processedXData=e,this.processedYData=i);for(l of(this.generatePoints(),this.points)){let t=l.getCellAttributes(),e=Math.min(t.x1,t.x2),i=Math.min(t.y1,t.y2),s=Math.max(Math.abs(t.x2-t.x1),0),r=Math.max(Math.abs(t.y2-t.y1),0);l.hasImage=0===(l.marker&&l.marker.symbol||a||"").indexOf("url"),h&&(d=Math.abs(s-r),e=Math.min(t.x1,t.x2)+(s{f(t)?i.setAttribute(e,t):r?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?o(e,t):S(t,o),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function b(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,o)&&o.preventDefault()})}t&&!o.defaultPrevented&&t.call(s,o)}S({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var r=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t,o=(Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={}),r.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(s),o[e].sort((t,e)=>t.order-e.order),function(){k(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:v,defined:f,destroyObjectProperties:function(i,s,r){S(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&r||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,r,o,a){let n=i?r:t;S(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let o=h.getComputedStyle(s,void 0);return o&&(r=o.getPropertyValue(t),b(e,"opacity"!==t)&&(r=d(r))),r},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return C(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:S,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:b,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:k,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var r=t.length;for(e=0;e{try{var e="shortOffset,"+(o.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:o.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),r=-36e5*(i+s/60);if(n(r))return r}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return u.defaultOptions.lang&&u.defaultOptions.lang.invalidDate||"";i=v(i,"%Y-%m-%d %H:%M:%S");let r=this,e=new this.Date(s),o=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=u.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return g(b({a:p?p[a]:c[a].substr(0,3),A:c[a],d:m(n),e:m(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:m(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:m(o),k:o,I:m(o%12||12),l:o%12||12,M:m(this.get("Minutes",e)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:m(this.get("Seconds",e)),L:m(Math.floor(s%1e3),3)},u.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(r,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=r(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let r,o,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),u=t.unitRange,g=t.count||1;if(s=v(s,1),y(e)){h.set("Milliseconds",p,u>=M.second?0:g*Math.floor(h.get("Milliseconds",p)/g)),u>=M.second&&h.set("Seconds",p,u>=M.minute?0:g*Math.floor(h.get("Seconds",p)/g)),u>=M.minute&&h.set("Minutes",p,u>=M.hour?0:g*Math.floor(h.get("Minutes",p)/g)),u>=M.hour&&h.set("Hours",p,u>=M.day?0:g*Math.floor(h.get("Hours",p)/g)),u>=M.day&&h.set("Date",p,u>=M.month?1:Math.max(1,g*Math.floor(h.get("Date",p)/g))),u>=M.month&&(h.set("Month",p,u>=M.year?0:g*Math.floor(h.get("Month",p)/g)),o=h.get("FullYear",p)),u>=M.year&&(o-=o%g,h.set("FullYear",p,o)),u===M.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*M.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(r=1;tt){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=e["isTouchDevice"],{fireEvent:a,merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:r,merge:o,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,r,o=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(o&&o!==l)return new o(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(r=l.parsers[s]).regex.exec(t))&&(i=r.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&r(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=o(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(r(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(o),!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[o,o];function g(t,e){for(;t.length{t=h(t.options.animation);o=p(e)&&n(e.defer)?s.defer:Math.max(o,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(o=0),{defer:Math.max(0,o-a),duration:Math.min(o,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:m}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:r,css:u,error:g,isFunction:i,isString:o,objectEach:m,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class f{static filterUserAttributes(s){return m(s,(e,t)=>{let i=!0;-1===f.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?o(e)&&f.allowedReferences.some(t=>0===e.indexOf(t)):i)||(g(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),o(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=f.emptyHTML,e&&new f(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let r;var o=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=f.bypassHTMLFiltering;if(o)if("#text"===o)r=a;else if(-1!==f.allowedTags.indexOf(o)||n){let t="svg"!==o&&l.namespaceURI||c,e=d.doc.createElementNS(t,o),i=s.attributes||{};m(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:f.filterUserAttributes(i)),s.style&&u(e,s.style),a&&e.appendChild(a),h(s.children||[],e),r=e}else g(33,!1,void 0,{"Invalid tagName in config":o});r&&l.appendChild(r),e=r}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=r("div");t.innerHTML=e,i={body:t}}let o=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var r=t.attributes;if(r){let e={};[].forEach.call(r,t=>{"data-style"===t.name?s.style=f.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{o(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>o(t,s)),s}}return f.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],f.allowedReferences=["https://","http://","mailto:","/","../","./","#"],f.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],f.emptyHTML=h,f.bypassHTMLFiltering=!1,f}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:b,defaultTime:v}=t,{extend:r,getNestedProperty:M,isArray:o,isNumber:u,isObject:a,pick:C,pInt:g}=e,S={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!o(i)&&i.map((t,e)=>k(s.body,r(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function k(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,u=/\.(\d)/,g=b.lang,m=c&&c.time||v,f=c&&c.numberFormatter||w,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:M(t,d))},r,o,a=0,n;for(;null!==(r=e.exec(t));){var h,l=i.exec(r[1]),y=(l&&(r=l,n=!0),o&&o.isBlock||(o={ctx:d,expression:r[1],find:r[0],isBlock:"#"===r[1].charAt(0),start:r.index,startInner:r.index+r[0].length,length:r[0].length}),r[1].split(" ")[0].replace("#","")),y=(S[y]&&(o.isBlock&&y===o.fn&&a++,o.fn||(o.fn=y)),"else"===r[1]);if(o.isBlock&&o.fn&&(r[1]==="/"+o.fn||y)?a?y||a--:(h=o.startInner,h=t.substr(h,r.index-h),void 0===o.body?(o.body=h,o.startInner=r.index+r[0].length):o.elseBody=h,o.find+=h+r[0],y||(s.push(o),o=void 0)):o.isBlock||s.push(o),l&&!o?.isBlock)break}return s.forEach(i=>{let s,r,{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(r=S[h].length;r--;)t.unshift(x(e[r+1]));s=S[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=k(s?o:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(u)||["","-1"])[1],10),null!==s&&(s=f(s,l,g.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,m,f,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(C(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>t;)m=e[c=Math.floor(p)],M(l,c)&&(x-=m.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(C(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:v(t.align,.5)}));g;){for(c=e.length;c--;)m=e[c],f=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=b(f-m.size*m.align,0,s-m.size);for(c=e.length,g=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(o[c].pos=t.pos+e,void 0!==r&&Math.abs(o[c].pos-o[c].target)>r?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||s)-.1*s,o.reducedLen>.1*s&&i(o,s,r),!0):(e+=o[c].size,c++,!1)))}),C(o,a),o}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,f,i,e){let{animate:o,animObject:a,stop:d}=t,{deg2rad:z,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:r,attr:c,createElement:p,crisp:u,css:x,defined:y,erase:g,extend:b,fireEvent:v,isArray:M,isFunction:C,isObject:m,isString:S,merge:k,objectEach:w,pick:A,pInt:T,pushUnique:P,replaceNested:L,syncTimeout:j,uniqueKey:O}=e;class E{_defaultGetter(t){let e=A(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||S(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),A(i,l[p],l)),p=t.align,u=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(r+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(r),"bottom"===u?n=1:"middle"===u&&(n=2),n&&(o+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(A(e,this.renderer.globalAnimation,!0)),r=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),j(()=>{this.element&&o(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let r=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(r.style.fill)):t).split(" "),o=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"}),r.querySelector("textPath")||r),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(r.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let r=this["element"],o=E.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,r):(w(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==o.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,r)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=O()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),b(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,i=u(i,e),s=u(s,e);return b(t,{x:i,y:s,width:u(r,e)-i,height:u(o,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,l,d,c,p,u,g=[],m;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,l=t.stops,p=i.radialReference,M(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!y(a.gradientUnits)&&(n=a,a=k(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),w(a,function(t,e){"id"!==e&&g.push(e,t)}),w(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=O();let e=h[g]=s.createElement(o).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(r=f.parse(t[1])).get("rgb"),r.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}m="url("+s.url+"#"+u+")",i.setAttribute(e,m),i.gradient=g,t.toString=function(){return m}}})}css(t){let i=this.styles,s={},r=this.element,o,a=!i;if(i&&w(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?b(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),b(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let e=k(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(r,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*A(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,r="SPAN"===t.nodeName&&i.parentGroup||void 0,o,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=A(e,this.rotation,0),m=h.styledMode?n&&E.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",h.rootFontSize,m,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=o&&!t?c[o]:i)||i.polygon){if(u||h.forExport){try{r=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},C(r)&&r("none"),i=n.getBBox?b({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},C(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${m||""},`+Math.round(s)]||s);e={bBox:i=g?this.getRotatedBox(i,g):i};v(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===d||0[t-t*g,t*m]),k=i+d*(r-f)+v+S+c*y,w=k+f,A=w-o*y,T=A-f,P=s+c-d*x-M+C+c*b,L=P+x,j=L-o*b,O=j-x,E=Math.min(k,w,A,T),D=Math.min(P,L,j,O),B=Math.max(k,w,A,T)-E,I=Math.max(P,L,j,O)-D;return{x:E,y:D,width:B,height:I,polygon:[[k,P],[w,L],[A,j],[T,O]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=r(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(S(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=k(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},m(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;E.symbolCustomAttribs.forEach(function(t){i[t]=A(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=L(A(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+A(r,e.getAttribute("x"),0)+" "+A(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+A(a,1)+" "+A(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,u;if(y(t)?(o.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=r.childNodes).length-1;0<=u&&!d;u--)c=!y(l=(h=n[u]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!u?(r.insertBefore(o,n[u]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(r.insertBefore(o,n[u+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return E.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],E.prototype.strokeSetter=E.prototype.fillSetter,E.prototype.yGetter=E.prototype.xGetter,E.prototype.matrixSetter=E.prototype.rotationOriginXSetter=E.prototype.rotationOriginYSetter=E.prototype.rotationSetter=E.prototype.scaleXSetter=E.prototype.scaleYSetter=E.prototype.translateXSetter=E.prototype.translateYSetter=E.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},E}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:o,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,r,o,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:r+this.bBox.x-n,y:o+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!o(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);o(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:v,isNumber:d,pick:M}=t;function r(g,m,f,x,y){let b=[];if(y){let t=y.start||0,e=M(y.r,f),i=M(y.r,x||f),s=2e-4/(y.borderRadius?1:Math.max(e,1)),r=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=u(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),u(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",u(e,{dy:o,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:o}=e,a=this.renderer.styledMode;if("b"===o||"strong"===o?a?s.class="highcharts-strong":r.fontWeight="bold":"i"!==o&&"em"!==o||(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===o){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===o&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==o&&"a"!==o&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,o,a,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,o?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=o?1:0,u=(t||o||"").length,g=u;if(l.rotation=0,a+(h=s(r.textContent.length))>e){for(;p<=u;)g=Math.ceil((p+u)/2),o&&(n=i(o,g)),h=s(g,n&&n.length-1),p===u?p=u+1:h>e?u=g-1:p=g;0===u?r.textContent="":t&&u===t.length-1||(r.textContent=n||i(t||o,g))}o&&o.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return o(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,r,l,o,a,n){let h,b=t["defaultOptions"],{charts:m,deg2rad:d,doc:f,isFirefox:c,isMS:v,isWebKit:p,noop:u,SVG_NS:g,symbolSizes:x,win:M}=i,{addEvent:C,attr:S,createElement:k,crisp:w,css:A,defined:T,destroyObjectProperties:P,extend:L,isArray:j,isNumber:O,isObject:E,isString:z,merge:D,pick:B,pInt:R,replaceNested:N,uniqueKey:G}=n;class I{constructor(t,e,i,s,r,o,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),S(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&S(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){A(t,{left:0,top:0}),h=t.getBoundingClientRect(),A(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=C(M,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&f.getElementsByTagName("base").length&&(T(h)||(t=G(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(f.body),A(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=f.elementFromPoint(6,6),h="hitme"===(e&&e.id),f.body.removeChild(t)),h))return N(M.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=L({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=D({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},o,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0,g=(r=D(b.global.buttonTheme,r),c&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),m=r.style||{},f=(delete r.states,delete r.style,[y.filterUserAttributes(r)]),x=[m];return c||["hover","select","disabled"].forEach((t,e)=>{f.push(D(f[0],y.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(f[e+1].style),delete f[e+1].style}),C(d.element,v?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),C(d.element,v?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(f[t]),t=x[t],E(t)&&d.css(t))},d.attr(f[0]),c||(d.css(L({cursor:"default"},m)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=w(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=w(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return j(t)?e.d=t:E(t)&&L(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=E(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a,n=(E(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,r,o){let a=E(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,L(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,S(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,o){function a(t){h.attr({href:e}),o.call(h,t)}let n={preserveAspectRatio:"none"},h=(O(t)&&(n.x=t),O(i)&&(n.y=i),O(s)&&(n.width=s),O(r)&&(n.height=r),this.createElement("image").attr(n));if(o){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new M.Image;C(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let o,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof i&&(a=g.call(this.symbols,i||0,s||0,e||0,r||0,d)),o=this.path(a),l.styledMode||o.attr("fill","none"),L(o,{symbolName:u||void 0,x:i,y:s,width:e,height:r}),d&&L(o,d);else if(p){n=t.match(c)[1];let e=o=this.image(n);e.imgwidth=B(d&&d.width,x[n]&&x[n].width),e.imgheight=B(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:o,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&r&&o&&a&&n?(l=Math.min(r/a,o/n),S(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((r||0)-a*l)/2,((o||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,e.symbolUrl=t,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),k("img",{onload:function(){let t=m[l.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),T(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),o=t.getAttribute(s);for(let t=0,e;tt.align())}}return L(I.prototype,{Element:r,SVG_NS:g,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:u}),s.registerRendererType("svg",I,!0),I}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:b,createElement:h,defined:v,extend:o,pInt:l,pushUnique:r}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){r(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=l(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),o(this.styles,t),b(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:r,renderer:o,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,u={left:0,center:.5,right:1}[l],g=t.whiteSpace;if(b(r,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===r.tagName){let t=[a,l,r.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(f=this.textPxLength||(b(r,{width:"",whiteSpace:g||"nowrap"}),r.offsetWidth),((m=d||0)>this.oldTextWidth||m{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||r);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(o,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:o}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(o(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(S,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:k,defined:w,destroyObjectProperties:i,extend:A,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:L}=e;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,r=e.categories,o=e.logarithmic,a=e.names,n=t.pos,h=L(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,m,f,x,y=this.parameters.category||(r?L(r[n],a[n],n):n),b=(o&&P(y)&&(y=k(o.lin2log(y))),e.dateTime&&(u?m=(f=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:P(y)&&(m=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:m,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y}),v=(T(this,"labelFormat",b),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),S.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),M=v.call(b,b),C=f&&f.list;C?t.shortenLabel=function(){for(x=0;xg||e.autoRotation&&(h.styles||{}).width)&&(f=g)),f&&(this.shortenLabel?this.shortenLabel():(u.width=Math.floor(f)+"px",(i.style||{}).textOverflow||(u.textOverflow="ellipsis"),h.css(u)))}moveLabel(e,t){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===e?(i.movedLabel=s,o=!0,delete i.label):n(r.ticks,function(t){o||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,o=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),o||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,r=s.horiz,o=this.pos,a=L(this.tickmarkOffset,s.tickmarkOffset),o=this.getPosition(r,o,a,e),a=o.x,n=o.y,h=s.pos,l=h+s.len,r=r?a:n,a=(!s.chart.polar&&this.isNew&&(k(r)w(e,void 0,void 0,B(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);m(u,{xAxis:o,yAxis:k(o,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,E(this,"init",{userOptions:e}),this.opposite=B(e.opposite,this.opposite),this.side=B(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),r=i.labels,e=(this.type??(this.type=i.type||"linear"),this.uniqueNames??(this.uniqueNames=i.uniqueNames??!0),E(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=B(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===this.type||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=j(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,B(i.crosshair,R(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!j(this.reversed)&&(this.reversed=!0),this.labelRotation=D(r.rotation)?r.rotation:void 0,n(this,i),E(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=k(e,u[this.coll],t),E(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=D(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=u.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(r)p=""+this.value;else if(o)p=s.dateFormat(o,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;E(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(o=>{if(o.reserveSpace()){let t=o.options,e,i=t.threshold,s,r;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=o.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),D(i)&&D(s)&&D(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,B(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+r,B(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=f([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,-1===(s=j(s)?s:this.uniqueNames&&i?e?i.indexOf(t.name):B(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let r=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(r.max=Math.max(r.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=r.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,r=!!s.categories,o=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(o||r||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=r?1:o?B(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!r||(t=t.is("xrange")?!o:o,h=Math.max(h,t&&S(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&r?1:t),o&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,E(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return D(t)&&D(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=D(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:m,softMin:f}=h,x=D(g)&&i[this.coll]?.[g],y=h.tickPixelInterval,b=h.maxPadding,v=h.minPadding,M=0,C,S=D(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,k,w,A,T;if(o||e||x||this.getTickAmount(),A=B(this.userMin,h.min),T=B(this.userMax,h.max),x?(C=(this.linkedParent=x).getExtremes(),this.min=B(C.min,C.dataMin),this.max=B(C.max,C.dataMax),this.type!==x.type&&O(11,!0,i)):(l&&j(d)&&D(s)&&D(r)&&(d<=r?(k=d,v=0):s<=d&&(w=d,b=0)),this.min=B(A,k,r),this.max=B(T,w,s)),D(this.max)&&D(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,B(r,this.min))<=0&&O(10,!0,i),this.min=L(n.log2lin(this.min),16),this.max=L(n.log2lin(this.max),16)),this.range&&D(r)&&(this.userMin=this.min=A=Math.max(r,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),E(this,"foundExtremes"),this.adjustForMinRange(),D(this.min)&&D(this.max)&&(!D(this.userMin)&&D(f)&&fthis.max&&(this.max=T=m),e||this.axisPointRange||this.stacking?.usePercentage||x||!(M=this.max-this.min)||(!j(A)&&v&&(this.min-=M*v),!j(T)&&b&&(this.max+=M*b)),!D(this.userMin)&&D(u)&&(this.min=Math.max(this.min,u)),!D(this.userMax)&&D(p)&&(this.max=Math.min(this.max,p)),l&&D(r)&&D(s)&&(P=d||0,!j(A)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(j(h.min)?this.max=this.min:j(h.max)&&(this.min=this.max)),M=this.max-this.min),this.min!==this.max&&D(this.min)&&D(this.max)?x&&!S&&y===x.options.tickPixelInterval?this.tickInterval=S=x.tickInterval:this.tickInterval=B(S,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),E(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),E(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=B(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],O(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=I(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&D(this.min)&&D(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),E(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(E(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==o&&i(t)===s&&(r=!0,a.push(t))})}if(r&&s){a.forEach(t=>{t=t.getThresholdAlignment(o);D(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return r}getThresholdAlignment(t){if((!D(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),D(this.threshold)){let t=b((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!j(t.tickInterval)&&!i&&this.leno.push(L(o[o.length-1]+p)),m=()=>o.unshift(L(o[0]-p));if(D(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(u=a-1-u)),t.hasData()&&D(s)&&D(i)){var f=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(D(u)&&D(t.threshold)){for(;o[u]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?m:g)();if(p>8*t.tickInterval)break;p*=2}f()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,E(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),E(this,"setExtremes",r=m(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(T(B(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(T(B(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(B(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(B(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-e,this.len=Math.max(s?r:o,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?L(t.lin2log(this.min)):this.min,max:t?L(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&o!==1/0&&h&&(e=Math.ceil(h/r)),L(e*r)}let t=this.options.labels,s=t.padding||0,e=this.horiz,r=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=t.rotation,n=L(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=r,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(D(a)?p=[a]:og&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",f=i.length;!r&&f--;)(m=o[i[f]].label)&&("ellipsis"===m.styles.textOverflow?m.css({textOverflow:"clip"}):m.textPxLength>n&&m.css({width:n+"px"}),m.getBBox().height>this.len/i.length-(d.h-d.f)&&(m.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=o[t],i=e&&e.label,s=a.width,r={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${r.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(o.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",o.gridZIndex),this.axisGroup=e("axis","",o.zIndex),this.labelGroup=e("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][r]:r,l=e.hasData(),d=s.title,c=s.labels,p=D(s.crossing),u=t.axisOffset,g=t.clipOffset,m=[-1,1,1,-1][r],f,x=0,y,b=0,v=0,M,C;var S;e.showAxis=f=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===r||2===r||{1:"left",3:"right"}[r]===e.labelAlign,B(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(o[t].getLabelSize(),v)}),e.staggerLines&&(v*=e.staggerLines),e.labelOffset=v*(e.opposite?-1:1)):A(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(f),f&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],b=j(y=d.offset)?0:B(d.margin,i?5:10))),e.renderLine(),e.offset=m*B(s.offset,u[r]?u[r]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},C=0===r?-e.labelMetrics().h:2===r?e.tickRotCorr.y:0,M=Math.abs(v)+b,v&&(M=(M-=C)+m*(i?B(c.y,e.tickRotCorr.y+m*c.distance):B(c.x,m*c.distance))),e.axisTitleMargin=B(y,M),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(o,a)),"colorAxis"!==n&&g&&(S=this.tickSize("tick"),u[r]=Math.max(u[r],(e.axisTitleMargin||0)+x+m*e.offset,M,a&&a.length&&S?S[0]+m*e.offset:0),S=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,g[h]=Math.max(g[h],S)),E(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],r=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],o={x:e?a+l:r+(n?this.width:0)+h+l,y:e?r+d-(n?this.height:0)+h:a+d};return E(this,"afterGetTitlePosition",{titlePosition:o}),o}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new M(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new M(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let s,r,o=this,a=o.chart,n=o.logarithmic,t=a.renderer,e=o.options,i=o.isLinked,h=o.tickPositions,l=o.axisTitle,d=o.ticks,c=o.minorTicks,p=o.alternateBands,u=e.stackLabels,g=e.alternateGridColor,m=e.crossing,f=o.tickmarkOffset,x=o.axisLine,y=o.showAxis,b=C(t.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[d,c,p].forEach(function(t){A(t,function(t){t.isActive=!1})}),D(m)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(m,!0);o.horiz&&(t=e.len-t),o.offset=i*t}}if(o.hasData()||i){let i=o.chart.hasRendered&&o.old&&D(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){o.renderTick(t,e,i)}),f&&(0===o.min||o.single)&&(d[-1]||(d[-1]=new M(o,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(t,e){r=void 0!==h[e+1]?h[e+1]+f:o.max-f,e%2==0&&th&&(!d||o<=l)&&void 0!==o&&c.push(o),o>l&&(a=!0),o=r}else{var p=this.lin2log(h),s=this.lin2log(l),r=d?t.getMinorTickInterval():i.tickInterval,o=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=u(n=g("auto"===r?null:r,this.minorAutoInterval,(s-p)*o/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:o,extend:s,isNumber:c}=t;{t=e=e||{};let r;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new r(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&r)for(s&&(d=n.toString()===r.toString(),l=0),h=0;h{let t=[];for(var e of this.axes)for(var{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),i.compose(o,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){k(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:r,events:o,zIndex:a=0}=e,n={},h=t.chart.renderer,l=e.to,d=e.from,c=e.value,p=e.borderWidth,u=e.label,{label:g,svgElem:m}=this,f=[],x,y=S(d)&&S(l),b=S(c),v=!m,M={class:"highcharts-plot-"+(y?"band ":"line ")+(e.className||"")},C=y?"bands":"lines";if(t.chart.styledMode||(b?(M.stroke=r||"#999999",M["stroke-width"]=T(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):y&&(M.fill=r||"#e6e9ff",p&&(M.stroke=e.borderColor,M["stroke-width"]=p))),C+="-"+(n.zIndex=a),(x=t.plotLinesAndBandsGroups[C])||(t.plotLinesAndBandsGroups[C]=x=h.g("plot-"+C).attr(n).add()),m||(this.svgElem=m=h.path().attr(M).add(x)),S(c))f=t.getPlotLinePath({value:s?.log2lin(c)??c,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!S(d)||!S(l))return;f=t.getPlotBandPath(s?.log2lin(d)??d,s?.log2lin(l)??l,e)}return!this.eventsAdded&&o&&(A(o,(t,e)=>{m?.on(e,t=>{o[e].apply(this,[t])})}),this.eventsAdded=!0),!v&&m.d||!f?.length?m&&(f?(m.show(),m.animate({d:f})):m.d&&(m.hide(),g&&(this.label=g=g.destroy()))):m.attr({d:f}),u&&(S(u.text)||S(u.formatter))&&f?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,r.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=z,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:r,outside:u,pointer:e}=this,{inverted:o,plotLeft:a,plotTop:n,polar:h}=r,{plotX:l=0,plotY:d=0}=t,g={},m=o&&t.h||0,{height:c,width:f}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=t=>{var e="x"===t;return[t,e?f:c,e?i:s].concat(u?[e?y(i):b(s),e?x.left-p+y(l+a):x.top-p+b(d+n),0,e?f:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+r.plotWidth:n+r.plotHeight])},M=v("y"),C=v("x"),S,k=!!t.negative,w=(!h&&r.hoverSeries?.yAxis?.reversed&&(k=!k),!this.followPointer&&H(t.ttBelow,!h&&!o===k)),A=function(t,e,i,s,r,o,a){var n=u?("y"===t?b:y)(p):p,h=(i-s)/2,l=se?r:r+m)}},T=function(t,e,i,s,r){if(re-p)return!1;g[t]=r{!1!==A.apply(0,M)?!1!==T.apply(0,C)||S||(P(!0),L()):S?g.x=g.y=0:(P(!0),L())};return(o&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=H(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=h(!r.isHidden&&r.options.animation),a=r.followPointer||1<(r.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(o,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=C(o),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,u=a.styledMode,g={},m=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!M(o)&&o.series&&o.series.noSharedTooltip),m=m&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var o=this.getAnchor(o,t),f=o[0],x=o[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(g=d.getLabelConfig()).points=i):g=d.getLabelConfig(),this.len=i.length;let s=X(c)?b(c,g,a):p.call(g,this),r=d.series;if(this.distance=H(r.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=f,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==r.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(m&&this.tt||{});n.style.width&&!u||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),this.outside&&t.attr({x:G(t.x||0,0,this.getPlayingField().width-(t.width||0))}),u||t.attr({stroke:n.borderColor||d.color||r.color||"#666666"}),this.updatePosition({plotX:f,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:o[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}v(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:u,plotLeft:g,plotTop:m,scrollablePixelsY:r=0,scrollablePixelsX:o,styledMode:f},distance:x,options:y,options:{positioner:b},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},v=p.outside&&"number"!=typeof o?z.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},M=p.getLabel(),C=this.renderer||e.renderer,S=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),k=m+h,w,A=u-r;function T(t,e,i,s,r=!0){let o,a;return{x:a=i?(o=S?0:A,G(t-s/2,v.left,v.right-s-(p.outside?l:0))):(o=e-k,G(a=r?t-s-x:t+x,r?a:v.left,v.right)),y:o}}let P=(t=X(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(o,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:u,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:r,series:o}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};f||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=C.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,r)).attr(t).add(M)}return s.isActive=!0,s.attr({text:i}),f||s.css(y.style).attr({stroke:y.borderColor||e.color||o.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),r=s.width+i.strokeWidth();t&&(w=s.height,A+=w,S&&(k-=w));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:r=0,series:o}=h;var a,n;return i?(t=Math.max(g+s,g),e=m+u/2):({xAxis:a,yAxis:n}=o,t=a.pos+G(s,-x,a.len+x),o.shouldShowTooltip(0,n.pos-m+r,{ignoreX:!0})&&(e=n.pos+r)),{anchorX:t=G(t,v.left-x,v.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=b?b.call(p,r,l,h):T(n,a,t,r),o.push({align:b?0:void 0,anchorX:n,anchorY:a,boxWidth:r,point:h,rank:H(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return o},[]),L=(!b&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return W(t,{target:i,x:e})})),p.cleanSplit(),N(P,A),{left:l,right:l}),{container:j,outside:O,renderer:E}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tL.right&&(L.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+k,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(m(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),r&&(e.setState(),h(r,e),r.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),g(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),k(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,r=[],o={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),i.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),e=r.length;e--;)s[t=r[e]]&&o.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&o.plural.push(e)}),o}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=f()),this.resolveColor(),t.chart.pointCount++,k(this,"afterInit")}isValid(){return(w(this.x)||this.x instanceof Date)&&w(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(w(t)||null===t)o[s[0]]=t;else if(d(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"==a&&(o.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:r}=e,o=0,a=0;if(w(t)&&w(h))return n&&(o=s?s.pos:i.plotLeft,a=r?r.pos:i.plotTop),i.inverted&&s&&r?[r.len-h+a,s.len-t+o]:[t+o,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=A(this.options.colorIndex,a),this.color=A(this.options.color,s)}setNestedProperty(t,r,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?r:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=A(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=r||o?e.replace(RegExp(t+"}","g"),r+t+"}"+o):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let r,o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(e);var t=n&&o.hasMockGraphic,t=null===o.y?!t:t;n&&t&&(o.graphic=n.destroy(),delete o.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(o.graphic=n.destroy()),e?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=p(l.data[r],!0)||p(e,!0)?o.options:A(e,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=A(i,!0),!1===t?d():o.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=A(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=u(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(m(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=r(this,t,e))}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=C.plotOptions[i.type].marker&&i.options.marker,a=o&&!1===o.enabled,n=o&&o.states&&o.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=o&&i.markerAttribs,p=i.halo,u,g,m,f=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===r.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),m=A(d.options.chart.animation,r.animation);let e=g.opacity;i.options.inactiveOtherPoints&&w(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},m),t.connector&&t.connector.animate({opacity:e},m))}),this.graphic.animate(g,m)}u&&this.graphic.animate(u,A(d.options.chart.animation,n.animation,o.animation)),f&&f.hide()}else t&&n&&(x=l.symbol||i.symbol,f&&f.currentSymbol!==x&&(f=f.destroy()),u&&(f?f[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=f=d.renderer.symbol(x,u.x,u.y,u.width,u.height).add(i.markerGroup),f.currentSymbol=x)),!d.styledMode&&f&&"inactive"!==this.state&&f.attr(i.pointAttribs(this,t))),f&&(f[t&&this.isInside?"show":"hide"](),f.element.point=this,f.addClass(this.getClassName(),!0));var y=r.halo,b=this.graphic||f,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(S({fill:this.color||i.color,"fill-opacity":y.opacity},M.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),k(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(o(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e){var i;let b=t["parse"],{charts:g,composed:s,isTouchDevice:o}=r,{addEvent:m,attr:a,css:n,extend:h,find:f,fireEvent:p,isNumber:l,isObject:v,objectEach:d,offset:c,pick:x,pushUnique:u,splat:y}=e;class M{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],r.chartCount||(M.unbindDocumentMouseUp&&M.unbindDocumentMouseUp.forEach(t=>t()),M.unbindDocumentTouchEnd&&(M.unbindDocumentTouchEnd=M.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:r}=this,{mouseDownX:o=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=r?1:i.plotHeight,s&&(e=h-o,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),!(10t.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));var o;e&&i.redraw(),s&&t&&(this.hasDragged&&(o=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...o},from:o})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:r,yAxis:o}=i.series,a=i.shapeArgs;if(r&&o){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:o.len+o.pos-e,chartY:r.len+r.pos-t}:{chartX:t+r.pos,chartY:e+o.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!o?t:this.findNearestKDPoint(l,r,o));return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=f(t.points,function(t){return t.x===c.x&&!t.isNull});v(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var r=s.pageX-e.left,o=s.pageY-e.top;return h(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),r.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(g[x(M.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){g[x(M.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:r}=i,o=[].map.call(e.touches||[],t=>i.normalize(t)),a=o.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(o),from:t(r),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=o}reset(e,t){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let r=this.chart,i=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=!!o&&o.shared,n=t||r.hoverPoint,h=n&&n.series||r.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),r.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!n.series)return;r.hoverPoints=c,(r.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(u?c:n,s)})}else p&&o&&!o.isHidden&&(t=o.getAnchor([{}],s),r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=m(r.container.ownerDocument,"mousemove",t=>g[M.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=r.hoverPoint)&&t.series[e.coll]===e?t:f(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(m(t,"mouseenter",this.onContainerMouseEnter.bind(this)),m(t,"mouseleave",this.onContainerMouseLeave.bind(this))),M.unbindDocumentMouseUp||(M.unbindDocumentMouseUp=[]),M.unbindDocumentMouseUp.push(m(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(m(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(m(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),m(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),M.unbindDocumentTouchEnd||(M.unbindDocumentTouchEnd=m(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),m(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(o){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),m(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=r.charts[x(M.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(M.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&16<=Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(i=M=M||{}).compose=function(t){u(s,"Core.Pointer")&&m(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},M}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:b,pick:v}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,v(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:o}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=r.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},m,f=o.marker,x=0;if(r.styledMode||(g["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?g.dashstyle=o.dashStyle:"square"!==o.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,u],["L",n-x,u]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),f&&!1!==f.enabled&&n){let t=Math.min(v(f.radius,d),d);0===l.indexOf("url")&&(f=b(f,{width:h,height:h}),t=0),s.symbol=m=c.symbol(l,n/2-t,u-t,2*t,2*t,y({context:"legend"},f)).addClass("highcharts-point").add(p),m.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,r){let o=h.plotOptions||{};if(e=e||"",o[t]=c(o[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,r){class p extends a{}l(p.prototype,r),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,r=e.prototype;return r.type=t,r.pointClass||(r.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,o,a,d,c){let{animObject:p,setAnimation:u}=t,g=e["defaultOptions"],n=i["registerEventOptions"],{svg:m,win:f}=s,y=a["seriesTypes"],{arrayMax:S,arrayMin:k,clamp:w,correctFloat:A,crisp:x,defined:T,destroyObjectProperties:z,diffObjects:R,erase:b,error:P,extend:v,find:N,fireEvent:L,getClosestDistance:G,getNestedProperty:h,insertItem:M,isArray:j,isNumber:O,isString:W,merge:E,objectEach:C,pick:D,removeEvent:X,splat:H,syncTimeout:B}=c;class I{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(L(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,o=!1!==e.visible,o=(s.linkedSeries=[],s.bindAxes(),v(s,{name:e.name,state:"",visible:o,selected:!0===e.selected}),n(this,e),e.events);(o&&o.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=D(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",M(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),L(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;L(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(D(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(M(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),L(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=O(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},o||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(o?{}:{color:this.color,fillColor:this.fillColor}),L(this,"afterSetOptions",{options:c}),c}getName(){return D(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||o.options.chart.colorCount;e||(T(r=D("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||g.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var o=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(o){o=this.chart.get(o);o instanceof l&&(i=o)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=N(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&O(a)?this.xData.indexOf(a,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&O(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,o=r.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||O(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==r.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||o&&o.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||o&&o.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=S(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=r.pointArrayMap,m=g&&g.length,f=n.keys,x,y,b,v=0,M=1,C;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,C=E(!0,e));var S=(e=C||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(b=h.options.chart.allowMutatingData&&!1!==s&&S&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):b)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=c&&c!(!j(t)||!f&&!O(t[0]));if(O(s)&&O(k))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],u=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,h=a.start,n=!0));t=G([r?p.map(r.log2lin):p],()=>e.requireSorting&&!g&&P(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,L(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,m=this.data;if(!m&&!n){let t=[];t.length=e.length,m=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g=x&&(M[m-o]||u)<=y,c&&p)if(f=g.length)for(;f--;)O(g[f])&&(r[b++]=g[f]);else r[b++]=g;var C={activeYData:r,dataMin:k(r),dataMax:S(r)};return L(this,"afterGetExtremes",{dataExtremes:C}),C}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,L(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=D(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,o=(i=y?a-i:i)-s;r?.push(["L",e,Math.abs(o){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],v?a-t[1]:t[1],v?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=w(o.toPixels(D(t.value,e),!0)||0,0,a)}),m&&!this.showLine&&m.hide(),g&&g.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(f.reversed&&e.reverse(),t),o=0,a=0,n=f.len,h=x.len;v?(o=i,n=u):(a=i,h=u);var l=[["M",o,a],["L",n,a],["L",n,h],["L",o,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),u=i,y&&(c(d),g&&c(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=b.path(d),g&&(r=t.simpleClip=b.path(l))),m&&t.graph?.clip(s),g&&t.area?.clip(r)})}else this.visible&&(m&&m.show(),g&&g.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||X(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=p(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;L(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,L(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[o=Math.floor(a/2)],left:t(e.slice(0,o),i+1,s),right:t(e.slice(o+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let g=this,[m,f]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(g.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!g.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let o=i.point,a=g.kdAxisArray[s%r],n,h,l=o;p=o,u=(d=e)[m],c=p[m],u=T(u)&&T(c)?u-c:null,c=d[f],d=p[f],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((u&&u*u||0)+c*c)-d,p.distX=T(u)?Math.abs(u)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(o[a]||0)+(y&&o.marker?.radius||0),p=c<0?"left":"right",u=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,r))[x]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(m?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),L(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=D(e,!0);var g={series:this},m=(this.pointClass.prototype.applyOptions.apply(g,[t]),g.x);if(a=u.length,this.requireSorting&&mm;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[m]=g.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==r&&L(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(a||{series:r},"splice",[t,1]),a&&a.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,o=r.data,a=o[t],n=r.points,h=r.chart;u(i,h),e=D(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),D(t,!0)&&o.redraw(e)}!1!==i?L(r,"remove",null,a):a()}update(t,e){L(this,"update",{options:t=R(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=y[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||r.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),m=(u=u||o,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&v(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=E(r,{index:(void 0===r.index?i:r).index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[u]){if(m=u!==i.type,i.remove(!1,!1,!1,!0),m)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[u].prototype);else{var f=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;v(i,y[u].prototype),f?i.hcEvents=f:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=o,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),L(this,"afterUpdate"),D(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=D(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==D(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&L(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&L(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=D(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=D(a[e].opacity,l)),r&&!r.dashstyle&&O(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&o&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!o:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),L(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),L(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return I.defaultOptions=o,I.types=a.seriesTypes,I.registerType=a.registerSeriesType,v(I.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=I}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,u,g,s,r,o){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],m=r["format"],{addEvent:f,createElement:x,css:y,defined:b,discardElement:v,find:M,fireEvent:C,isNumber:S,merge:k,pick:w,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:L}=o;class j{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),f(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),f(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=w(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=k(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=w(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(k(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,w(e,!0)&&i.redraw(),C(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:r,marker:o}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(k(h?this.itemStyle:t)),c?.attr(a({stroke:r||n.color})),p&&p.attr(a(o&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}C(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},e[b(e.translateY)?"animate":"attr"](h,void 0,()=>{C(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&v(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,r=this.group&&this.group.alignAttr,o=this.clipHeight||this.legendHeight,a=this.titleHeight;r&&(s=r.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:r.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*M?v.height:M))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?w(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&w(e.showInLegend,!b(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),C(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let r=this.chart,o=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!b(i[e])&&(r[l[e]]=Math.max(r[l[e]],r.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*o[e%2?"x":"y"]+w(o.margin,12)+s[e]+(r.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,r,o;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=M(s?t.points:t.points.slice(0).reverse(),function(t){return S(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-a.plotTop,r=t.visible?(e?e.plotY:t.yAxis.height)+(o-.3*i):o+t.yAxis.height,n.push({target:r,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},S(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0b&&!1!==c.enabled?(this.clipHeight=f=Math.max(b-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=t,m.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=g.length;(!r||i-g[r-1]>f&&(x||i)!==g[r-1])&&(g.push(x||i),r++),y.pageIx=r-1,x&&((m[e-1].legendItem||{}).pageIx=r-1),e===m.length-1&&i+s-g[r-1]>f&&i>g[r-1]&&(g.push(i),y.pageIx=r),i!==x&&(x=i)}),M||(M=s.clipRect=o.clipRect(0,l-2,9999,0),s.contentGroup.clip(M)),e(f),v||(this.nav=v=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,u,u).add(v),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(v),this.down=o.symbol("triangle-down",0,0,u,u).add(v),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=b):v&&(e(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>r?r:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===r?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),L(()=>{C(this,"afterScroll",{currentPage:l})},d(w(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},o=s.chart.renderer.boxWrapper,a=i instanceof g,n=i instanceof u,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,r.symbol]:[r.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&o.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(k(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),o.removeClass(h),i.setState()}).on("click",function(t){o.removeClass(h),C(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&C(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),f(e.checkbox,"click",function(t){t=t.target;C(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=j=j||{}).compose=function(t){A(h,"Core.Legend")&&f(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},j}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,R,a,N,G,W,X,u,r,c,H){let{animate:n,animObject:F,setAnimation:m}=t,{defaultOptions:h,defaultTime:Y}=e,U=i["numberFormat"],g=R["registerEventOptions"],{charts:p,doc:f,marginNames:l,svg:V,win:o}=a,d=W["seriesTypes"],{addEvent:x,attr:y,createElement:b,css:v,defined:k,diffObjects:M,discardElement:Z,erase:q,error:C,extend:w,find:S,fireEvent:A,getStyle:T,isArray:_,isNumber:P,isObject:K,isString:L,merge:j,objectEach:O,pick:E,pInt:$,relativeLength:D,removeEvent:B,splat:I,syncTimeout:J,uniqueKey:Q}=r;class z{static chart(t,e,i){return new z(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(L(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:E(t.zoomType,e.type),key:E(t.zoomKey,e.key),pinchType:E(t.pinchType,e.pinchType),singleTouch:E(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:j(e.resetButton,t.resetZoomButton)}}init(i,s){A(this,"init",{args:arguments},function(){var t=j(h,i),e=t.chart;this.userOptions=w({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new u(i.time):a.time,this.numberFormatter=e.numberFormatter||U,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,g(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),A(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],r=(s||C(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],r=this.options[t]=I(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?I(this.userOptions[t]).slice():[];if(this.hasRendered&&(r.splice(i),o.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(g.isInsidePlot=!1)),!i.ignoreY&&g.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+u:a+u)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(g.isInsidePlot=!1)),A(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){A(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):o&&(o.labelFormatter||o.labelFormat)&&(u=!0)),t.isDirtyData&&A(t,"updatedData")}),u&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){A(t,"afterSetExtremes",w(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),A(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),A(this,"redraw"),A(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let r=S(this.axes,s)||S(this.series,s);for(let t=0;!r&&t(t.getPointsCollection().forEach(t=>{E(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=j(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),e&&!r&&((r=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||r.css(w("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=r)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",r="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var o;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,o=Math.round(e.getBBox(i.useHTML).height),e.align(w({y:"bottom"===s?t:r+t,height:o},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+o):"bottom"===s&&(a[2]=Math.ceil(a[2]+o))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,A(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{var e;if(t!==this.container)return e=t.style.display,t.style.display="none",[t,e]}),e={width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox(),s=1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(o,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,m(i,s);var i=r.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:v)(s.container,{width:t+o+"px",height:e+a+"px"},i),s.setChartSize(!0),r.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,A(s,"resize"),setTimeout(()=>{s&&A(s,"endResize")},F(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,r;let{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),A(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){A(this,"resetMargins");let r=this,o=r.options.chart,t=o.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=o[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){r[i][e]=E(o[i+t],s[e])})}),l.forEach(function(t,e){r[t]=E(r.margin[e],r.spacing[e])}),r.axisOffset=[0,0,0,0],r.clipOffset=[e,e,e,e],r.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,m=this.clipBox,f=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,M,C="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),C="attr"),r?b=v=f.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),M={fill:a||"none"},(b||f["stroke-width"])&&(M.stroke=t.borderColor,M["stroke-width"]=b),f.attr(M).shadow(t.shadow)),f[C]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),C="animate",x||(C="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[C](u),r||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),C="animate",y||(C="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[C](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,A(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,r=this,o=r.options.chart,a=r.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[o.type],s=o[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);r[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(L(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=E(e.options.visible,t.options.visible,e.visible))}}),A(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(var l of(this.setTitle(),A(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){o=d.tickLength,l.createGroups();let t=new H(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),o=e&&E(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):o){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||1(h?1:1.1),n=g/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=j(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(o.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,r=i.container,o=r&&r.parentNode;for(A(i,"destroy"),i.renderer.forExport?q(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),B(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),r&&(r.innerHTML=c.emptyHTML,B(r),o&&Z(r)),O(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),_(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),A(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),A(this,"load"),A(this,"render"),k(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),A(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),v(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:r,selection:o,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:u,len:g,minPointOffset:m=0,options:f,reversed:x}=p,y=u?"width":"height",b=u?"x":"y",v=E(a[y],p.len),y=E(i[y],p.len),M=Math.abs(v)<10?1:v/y,y=(i[b]||0)+y/2-p.pos,b=y-((a[b]??p.pos)+v/2-p.pos)/M,v=x&&!h||!x&&h?-1:1;if(r||!(y<0||y>p.len)){let t=p.toValue(b,!0)+(o||p.isOrdinal?0:m*v),e=p.toValue(b+g/M,!0)-(!o&&!p.isOrdinal&&m*v||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==M&&!r&&"yAxis"===p.coll&&!i){for(var C of p.series){C=C.getExtremes(C.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(C.dataMin)&&P(C.dataMax)&&(i.dataMin=Math.min(C.dataMin,i.dataMin),i.dataMax=Math.max(C.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:g,max:m}=w(p.getExtremes(),i||{}),v=x??f.min,x=y??f.max,y=e-t,S=p.categories?0:Math.min(y,x-v),v=v-S*(k(f.min)?0:f.minPadding),x=x+S*(k(f.max)?0:f.maxPadding),S=p.allowZoomOutside||1==M||"zoom"!==n&&1f&&(e=f,1<=M&&(t=e-y)),(r||p.series.length&&(t!==g||e!==m)&&t>=v&&e<=f)&&(o?o[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(r?void 0:t,r?void 0:e,!1,!1,{move:b,trigger:n,scale:M}),!r&&(t>v||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return w(z.prototype,{callbacks:[],collectionsWithInit:{xAxis:[z.prototype.addAxis,[!0]],yAxis:[z.prototype.addAxis,[!1]],series:[z.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),z}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let w=t["stop"],s=e["composed"],{addEvent:u,createElement:g,css:A,defined:T,merge:m,pushUnique:r}=i;function o(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){r(s,this.compose)&&(u(t,"afterInit",a),u(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),u(e,"render",o),u(i,"show",a))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=m(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=m(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,r=!1)),T(r)&&!e.skipAxes))for(var c of t.axes)c.horiz===r&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),r=t.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),A(i.renderTo,{overflow:"visible"}),u(i,"afterShowResetZoom",o),u(i,"afterApplyDrilldown",o),u(i,"afterLayOutTitles",o),u(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:m=0}=t.options.chart.scrollablePlotArea||{},f=o+p,x=a+u,y=(e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),w(t.container),A(n,{width:f+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:f,height:x,viewBox:[0,0,f,x].join(" ")}),t.chartBackground?.attr({width:f,height:x}),A(s,{width:o+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*g,s.scrollTop=u*m),d-r[0]-1),b=l-r[3]-1,v=d+h+r[2]+1,M=l+c+r[1]+1,C=l+c-p,S=d+h-u,k=[["M",0,0]];p?k=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",C,y],["L",o,y],["L",o,v],["L",C,v],["Z"]]:u&&(k=[["M",b,0],["L",b,d-1],["L",M,d-1],["L",M,0],["Z"],["M",b,S],["L",b,a],["L",M,a],["L",M,S],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:k})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let o=t["format"],g=e["series"],{destroyObjectProperties:s,fireEvent:m,isNumber:f,pick:x}=i;return class{constructor(t,e,i,s,r){var o=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,r=t?o(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:r,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,m(this,"afterRender")}setOffset(t,e,r,o,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:r,boxTop:o,defaultX:i,xAxis:s}),u=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:r,y:o}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=r,p.y-=o,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+r,h.alignAttr.y+a.y+o))?i:!1)&&g.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=f(h.x)&&f(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}m(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(r,d.translate(this.x))+o,p=Math.abs(l-e.toPixels(n||f(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,A,s){let a=t["getDeferredAnimation"],{prototype:r}=i["series"],{addEvent:o,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:L,isNumber:l,objectEach:d,pick:j}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,j(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function u(){this.stacking||(this.stacking=new b(this))}function g(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function m(){let o,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,r;for(;e--;)i=h[e],o=a.getStackIndicator(o,i,a.index,t),(r=(s=n[t]?.[i])?.points[o.key||""])&&l.call(a,r,s,e)})}function f(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return{compose:function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(o(t,"init",u),o(t,"destroy",p),s.getStacks=c,r.getStackIndicator=g,r.modifyStacks=m,r.percentStacker=f,r.setGroupedPoints=x,r.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:f,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,r=s?"animate":"attr",o=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},o?i.dashstyle=o:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[r](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],u=[],g,m=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(m={right:1,center:2}[m]||m&&3)&&t&&(m=4-m),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,r=t.plotY,o=n[e-1],a=t.isNull||"number"!=typeof r;(t.leftCliff||o&&o.rightCliff)&&!l&&(g=!0),g=a&&!f(h)&&0{let i={},s=t.fillColor||n.fillColor,r=t.area,o=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:a.xMap,r.animate({d:a})):(i.zIndex=0,(r=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[o](i),r.startX=a.xMap,r.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],r=p&&x[s.x].points[f],o=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||o?(n=(o?r[0]:r[1])+a,h=r[0]+a,l=!!o):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(m.push({plotX:c,plotY:null===n?b:u.getThreshold(n),isNull:l,isCliff:!0}),g.push({plotX:c,plotY:null===h?b:u.getThreshold(h),doCurve:!1}))}let c,s,r,t=M.prototype.getGraphPath,e=this.options,p=e.stacking,u=this.yAxis,g=[],m=[],f=this.index,x=u.stacking.stacks[this.stackKey],y=e.threshold,b=Math.round(u.getThreshold(e.threshold)),o=C(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=v.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,v}getStackPoints(e){let d=this,s=[],c=[],r=this.xAxis,p=this.yAxis,u=p.stacking.stacks[this.stackKey],g={},m=p.series,f=m.length,x=p.options.reversedStacks?1:-1,y=m.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(o,a){let e=0,n,h;if(g[o]&&!g[o].isNull)s.push(g[o]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=u[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,r=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof o.x){let e=t[o.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),r=t.length}}}),s=this.xAxis.reversed?r-1-s:s;var n=(r-1)*a.paddedWidth+e;t=(o.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,u=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(u.borderWidth,t?0:1),g=c.xAxis,m=c.yAxis,f=u.threshold,x=P(u.minPointLength,5),y=c.getColumnMetrics(),b=y.width,v=c.pointXOffset=y.offset,M=c.dataMin,C=c.dataMax,S=c.translatedThreshold=m.getThreshold(f),k=c.barW=Math.max(b,1+2*e);u.pointPadding&&(k=Math.ceil(k)),r.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,S),i=999+Math.abs(e),s=t.plotX||0,r=w(t.plotY,-i,m.len+i),o,a=Math.min(r,e),n=Math.max(r,e)-a,h=b,l=s+v,d=k;x&&Math.abs(n)x?e-x:S-(o?x:0)),A(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-b)/2)),u.centerInCategory&&!u.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[w(m.len+m.pos-p.plotLeft-r,m.pos-p.plotLeft,m.len+m.pos-p.plotLeft),g.len+g.pos-p.plotTop-l-d/2,n]:[g.left-p.plotLeft+l+d/2,w(r+m.pos-p.plotTop,m.pos-p.plotTop,m.len+m.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?S:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[r]||i[r]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[o]||i[o]||this[o]||0,u=P(t&&t.opacity,i.opacity,1),g=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=f(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&m(l).brighten(a.brightness).get()||l,d=a[r]||d,p=a[o]||p,c=a.dashStyle||c,u=P(a.opacity,u)),{fill:l,stroke:d,"stroke-width":p,opacity:u});return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let o,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,r=i&&n.pointCountt?.enabled)}function a(t,e,i,s,r){let{chart:o,enabledDataSorting:a}=this,n=this.isCartesian&&o.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&o.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===O(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||O(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();var m,f,x,y,b;u&&g&&(m=e.getBBox(),f=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=v({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),v(i,{width:m.width,height:m.height}),b=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,r,c,b),e.align(M(i,{width:f.width,height:f.height}),!1,s,!1),e.alignAttr.x+=x*(f.width-m.width),e.alignAttr.y+=y*(f.height-m.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(m.width-f.width)/2,y:e.alignAttr.y+(m.height-f.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,m,s,r):O(i.crop,!0)&&({x:t,y:b}=e.alignAttr,u=o.isInsidePlot(t,b,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+m.width-1,b+m.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[r?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})),r&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let v,M=(t=t||this.points,this),C=M.chart,S=M.options,k=C.renderer,{backgroundColor:e,plotBackgroundColor:i}=C.options.chart,w=k.getContrast(L(i)&&i||L(e)&&e||"#000000"),s=g(M),{animation:r,defer:o}=s[0],a=o?n(C,r,M):{defer:0,duration:0};P(this,"drawDataLabels"),M.hasDataLabels?.()&&(v=this.initDataLabels(a),t.forEach(y=>{let b=y.dataLabels||[],t=(h(u(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(m=x.operator,f=y[x.property],x=x.value,">"===m&&x="===m&&x<=f||"<="===m&&f<=x||"=="===m&&f==x||"==="===m&&f===x||"!="===m&&f!=x||"!=="===m&&f!==x)),{backgroundColor:s,borderColor:r,distance:o,style:a={}}=t,n,h,l,d,c={},p=b[e],u=!p,g;var m,f,x;i&&(h=O(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?A(h,n,C):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,C.styledMode||(a.color=O(t.color,a.color,L(M.color)?M.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(g=s),y.contrastColor=k.getContrast("auto"!==g&&g||y.color||M.color),a.color=g||!T(o)&&t.inside||E(o||0)<0||S.stacking?y.contrastColor:w):delete y.contrastColor,S.cursor&&(a.cursor=S.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},C.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===r?y.color:r,c["stroke-width"]=t.borderWidth),j(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,u=!0),i&&T(l)&&(p?c.text=l:(p=k.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),C.styledMode?a.width&&p.css({width:a.width,textOverflow:a.textOverflow}):p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(v),M.alignDataLabel(y,p,t,void 0,u),p.isActive=!0,b[e]&&b[e]!==p&&b[e].destroy(),b[e]=p))}),b.length);for(;t--;)b[t]&&b[t].isActive?b[t].isActive=!1:(b[t]?.destroy(),b.splice(t,1));y.dataLabel=b[0],y.dataLabels=b})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:m=0}=e,f,x;return(f=(i.x||0)+l+c)<0&&("right"===n&&0<=g?(e.align="left",e.inside=!0):g-=f,x=!0),(f=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-f,x=!0),(f=i.y+l+u)<0&&("bottom"===h&&0<=m?(e.verticalAlign="top",e.inside=!0):m-=f,x=!0),(f=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&m<=0?(e.verticalAlign="bottom",e.inside=!0):m+=a.plotHeight-f,x=!0),x&&(e.x=g,e.y=m,t.placed=!o,t.align(e,void 0,r)),x}function u(e,i){let t=[],s;if(r(e)&&!r(i))t=e.map(function(t){return M(t,i)});else if(r(i)&&!r(e))t=i.map(function(t){return M(e,t)});else if(r(e)||r(i)){if(r(e)&&r(i))for(s=Math.max(e.length,i.length);s--;)t[s]=M(e[s],i[s])}else t=M(e,i);return t}function g(t){var e=t.chart.options.plotOptions;return h(u(u(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function m(t,e,i,s,r){var o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?r.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var r;let o=t["composed"],c=i["series"],{merge:p,pick:u,pushUnique:a}=s;return(r||(r={})).compose=function(t){e.compose(c),a(o,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},r;function n(t,e,i,s,r){var o=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=u(t.below,t.plotY>u(this.translatedThreshold,a)),d=u(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:m,isNumber:f,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,r,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),f(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:u,y:g}=t,m=s.x;m=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let f=[["M",u,g]];return(p?m<=u&&m>=s.x:m>=u&&m<=s.x)&&f.push(["L",m,g]),f.push(["L",s.x,s.y],["L",r.x,r.y]),f}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:b,merge:p,pick:u}=h;class g extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),m.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,m.tooltipPos=[t[0]+.7*p,t[1]+.7*u],m.half=c<-Math.PI/2||c>Math.PI/2?1:0,m.angle=c}b(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function m(){let m=this,t=m.points,a=m.chart,f=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),b=m.center,v=b[2]/2,n=b[1],h=[[],[]],M=[0,0,0,0],C=m.dataLabelPositioners,l,S,k,d=0;m.visible&&m.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(m),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=b[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[r.half].push(r),!w(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,r;t&&(m.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(g&&w(i)&&0f-o&&0===u&&(t=Math.round(h+S-f+o),M[1]=Math.max(t,M[1])),l-k/2<0?M[0]=Math.max(Math.round(-l+k/2),M[0]):l+k/2>x&&(M[2]=Math.max(Math.round(l+k/2-x),M[2])),s.sideOverflow=t}}})}))}),0!==u(M)&&!this.verifyDataLabelOverflow(M)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var m=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=m),r+=m),f(g,{brBoxHeight:r,brBoxY:s,r:m})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,r={}){let o=k(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(r=S(c,c-u),m[0]-=r,f[0]+=r,x[1]=C[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u,g,m,f,x,y,b,v,M,C,S,k,w,A,T,P,L,j,O,E,D,B,I){return t.AST=o,t.Axis=p,t.Chart=C,t.Color=B,t.DataLabel=j,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=M,t.OverlappingDataLabels=t.OverlappingDataLabels||O,t.PlotLineOrBand=m,t.Point=y,t.Pointer=b,t.RendererRegistry=n,t.Series=A,t.SeriesRegistry=T,t.StackItem=w,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=f,t.Time=I,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=C.chart,t.color=B.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,E.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),j.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),O.compose(t.Chart),L.compose(t.Series.types.pie),m.compose(t.Chart,t.Axis),b.compose(t.Chart),D.compose(t.Chart),S.compose(t.Axis,t.Chart,t.Series),k.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Core/Axis/Color/ColorAxisComposition.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(t,e){var i;let s=t["parse"],{addEvent:l,extend:d,merge:c,pick:p,splat:r}=e;{t=i=i||{};let h;function u(){let t=this["userOptions"];this.colorAxis=[],t.colorAxis&&(t.colorAxis=r(t.colorAxis),t.colorAxis.map(t=>new h(this,t)))}function g(e){let t=this.chart.colorAxis||[],i=t=>{t=e.allItems.indexOf(t);-1!==t&&(this.destroyItem(e.allItems[t]),e.allItems.splice(t,1))},s=[],r,o;for(t.forEach(function(t){(r=t.options)&&r.showInLegend&&(r.dataClasses&&r.visible?s=s.concat(t.getDataClassLegendSymbols()):r.visible&&s.push(t),t.series.forEach(function(t){t.options.showInLegend&&!r.dataClasses||("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),o=s.length;o--;)e.allItems.unshift(s[o])}function m(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function f(e){this.chart.colorAxis?.forEach(t=>{t.update({},e.redraw)})}function x(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function y(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function b(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function v(){let i=this,t=this.getPointsCollection(),s=this.options.nullColor,r=this.colorAxis,o=this.colorKey;t.forEach(t=>{var e=t.getNestedProperty(o),e=t.options.color||(t.isNull||null===t.value?s:r&&void 0!==e?r.toColor(e,t):t.color||i.color);e&&t.color!==e&&(t.color=e,"point"===i.options.legendType&&t.legendItem&&t.legendItem.label&&i.chart.legend.colorizeItem(t,t.visible))})}function M(){this.elem.attr("fill",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}function C(){this.elem.attr("stroke",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}t.compose=function(t,e,s,i,r){let o=e.prototype,a=s.prototype,n=r.prototype;if(!o.collectionsWithUpdate.includes("colorAxis")){h=t,o.collectionsWithUpdate.push("colorAxis"),o.collectionsWithInit.colorAxis=[o.addColorAxis],l(e,"afterGetAxes",u);{s=e;let i=s.prototype.createAxis;s.prototype.createAxis=function(t,e){if("colorAxis"!==t)return i.apply(this,arguments);t=new h(this,c(e.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),p(e.redraw,!0)&&this.redraw(e.animation),t}}a.fillSetter=M,a.strokeSetter=C,l(i,"afterGetAllItems",g),l(i,"afterColorizeItem",m),l(i,"afterUpdate",f),d(n,{optionalAxis:"colorAxis",translateColors:v}),d(n.pointClass.prototype,{setVisible:b}),l(r,"afterTranslate",x,{order:1}),l(r,"bindAxes",y)}},t.pointSetVisible=b}return i}),e(t,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),e(t,"Core/Axis/Color/ColorAxisLike.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(t,e){let d=t["parse"],c=e["merge"];return t={initDataClasses:function(t){let i=this.chart,e=this.legendItem=this.legendItem||{},s=this.options,r=t.dataClasses||[],o,a,n=i.options.chart.colorCount,h=0,l;this.dataClasses=a=[],e.labels=[];for(let t=0,e=r.length;t=s)&&(void 0===r||t<=r)){o=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=l.length;n--&&!(i>l[n][0]););s=l[n]||l[n+1],i=1-((r=l[n+1]||s)[0]-i)/(r[0]-s[0]||1),o=s.color.tweenTo(r.color,i)}return o}},t}),e(t,"Core/Axis/Color/ColorAxis.js",[t["Core/Axis/Axis.js"],t["Core/Axis/Color/ColorAxisComposition.js"],t["Core/Axis/Color/ColorAxisDefaults.js"],t["Core/Axis/Color/ColorAxisLike.js"],t["Core/Defaults.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,r,e,i,s,u,o,a){let n=s["defaultOptions"],c=o["series"],{defined:p,extend:g,fireEvent:m,isArray:h,isNumber:l,merge:d,pick:f,relativeLength:x}=a;n.colorAxis=d(n.xAxis,e);class y extends t{static compose(t,e,i,s){r.compose(y,t,e,i,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){var i=t.options.legend||{},i=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||i?2:1,this.reversed=e.reversed||!i,this.opposite=!i,super.init(t,e,"colorAxis"),this.userOptions=e,h(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=i,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){t=d(n.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(t),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||y.defaultLegendLength}getOffset(){var t=this.legendItem?.group,i=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let e=this.chart.legend;e.allItems.forEach(function(t){t instanceof y&&t.drawLegendSymbol(e,t)}),e.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=i}}setLegendColor(){var t=this.horiz,e=this.reversed,i=e?1:0,e=e?0:1,t=t?[i,0,e,0]:[0,e,0,i];this.legendColor={linearGradient:{x1:t[0],y1:t[1],x2:t[2],y2:t[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,r=t.options,o=this.options.labels,a=f(r.itemDistance,10),n=this.horiz,{width:h,height:l}=this.getSize(),d=f(r.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:r.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:h,height:l}),i.labelWidth=h+s+(n?a:f(o.x,o.distance)+(this.maxLabelLength||0)),i.labelHeight=l+s+(n?d:0)}setState(e){this.series.forEach(function(t){t.setState(e)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,r,o,a,n=t.length,h,l;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(i=(a=t[n]).colorKey=f(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y"),r=a.pointArrayMap,o=a[i+"Min"]&&a[i+"Max"],a[i+"Data"])e=a[i+"Data"];else if(r){if(e=[],s=r.indexOf(i),h=a.yData,0<=s&&h)for(l=0;la+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=r,e.plotY=o,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){var e=this.left,i=t.translatedValue,s=this.top;return l(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(var i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let a,n=this,h=n.chart,l=n.legendItem&&n.legendItem.labels||[],t=h.options.legend,d=f(t.valueDecimals,-1),c=f(t.valueSuffix,""),p=i=>n.series.reduce((t,e)=>(t.push(...e.points.filter(t=>t.dataClass===i)),t),[]);return l.length||n.dataClasses.forEach((t,i)=>{let e=t.from,s=t.to,r=h["numberFormatter"],o=!0;a="",void 0===e?a="< ":void 0===s&&(a="> "),void 0!==e&&(a+=r(e,d)+c),void 0!==e&&void 0!==s&&(a+=" - "),void 0!==s&&(a+=r(s,d)+c),l.push(g({chart:h,name:a,options:{},drawLegendSymbol:u.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(var e of p(i))e.setState(t)},setVisible:function(){this.visible=o=n.visible=!o;let t=[];for(var e of p(i))e.setVisible(o),e.hiddenInDataClass=!o,-1===t.indexOf(e.series)&&t.push(e.series);h.legend.colorizeItem(this,o),t.forEach(t=>{m(t,"afterDataClassLegendClick")})}},t))}),l}getSize(){var{chart:t,horiz:e}=this,{height:i,width:s}=this.options,r=t.options["legend"];return{width:f(p(s)?x(s,t.chartWidth):void 0,r?.symbolWidth,e?y.defaultLegendLength:12),height:f(p(i)?x(i,t.chartHeight):void 0,r?.symbolHeight,e?12:y.defaultLegendLength)}}}return y.defaultLegendLength=200,y.keepProps=["legendItem"],g(y.prototype,i),Array.prototype.push.apply(t.keepProps,y.keepProps),y}),e(t,"masters/modules/coloraxis.src.js",[t["Core/Globals.js"],t["Core/Axis/Color/ColorAxis.js"]],function(t,e){return t.ColorAxis=t.ColorAxis||e,t.ColorAxis.compose(t.Chart,t.Fx,t.Legend,t.Series),t}),e(t,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),e(t,"Maps/MapPointer.js",[t["Core/Utilities.js"]],function(t){var e;let{defined:o,extend:a,pick:i,wrap:n}=t;{t=e=e||{};let s,r=0;function h(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function l(t){let e=this.chart,i=o((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;1<=Math.abs(i)&&(r+=Math.abs(i),s&&clearTimeout(s),s=setTimeout(()=>{r=0},50)),r<10&&e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapView&&e.mapView.zoomBy(-(e.options.mapNavigation.mouseWheelSensitivity-1)*i,void 0,[t.chartX,t.chartY],!(Math.abs(i)<1)&&void 0)}function d(t,e,i){let s=this.chart;return e=t.call(this,e,i),s&&s.mapView&&(t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop}))&&a(e,t),e}function c(t){var e=this.chart.options.mapNavigation;e&&i(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){t=t.prototype;t.onContainerDblClick||(a(t,{onContainerDblClick:h,onContainerMouseWheel:l}),n(t,"normalize",d),n(t,"zoomOption",c))}}return e}),e(t,"Maps/MapSymbols.js",[],function(){let a;function e(t,e,i,s,r){var o;return r&&(o=r?.r||0,r.brBoxY=e-o,r.brBoxHeight=s+o),a.roundedRect(t,e,i,s,r)}function i(t,e,i,s,r){var o;return r&&(o=r?.r||0,r.brBoxHeight=s+o),a.roundedRect(t,e,i,s,r)}return{compose:function(t){(a=t.prototype.symbols).bottombutton=e,a.topbutton=i}}}),e(t,"Maps/MapNavigation.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Maps/MapNavigationDefaults.js"],t["Maps/MapPointer.js"],t["Maps/MapSymbols.js"],t["Core/Utilities.js"]],function(t,e,s,r,o,i){let a=t["setOptions"],n=e["composed"],{addEvent:u,extend:g,merge:m,objectEach:f,pick:x,pushUnique:h}=i;function y(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}return class l{static compose(t,e,i){r.compose(e),o.compose(i),h(n,"Map.Navigation")&&(u(t,"beforeRender",function(){this.mapNavigation=new l(this),this.mapNavigation.update()}),a(s))}constructor(t){this.chart=t,this.navButtons=[]}update(t){function h(t){this.handler.call(d,t),y(t)}let l=this,d=l.chart,c=l.navButtons,p=d.options.mapNavigation;for(t&&(p=d.options.mapNavigation=m(d.options.mapNavigation,t));c.length;)c.pop().destroy();!d.renderer.forExport&&x(p.enableButtons,p.enabled)&&(l.navButtonsGroup||(l.navButtonsGroup=d.renderer.g().attr({zIndex:7}).add()),f(p.buttons,(i,t)=>{let e={padding:(i=m(p.buttonOptions,i)).padding},{text:s,width:r=0,height:o=0,padding:a=0}=(!d.styledMode&&i.theme&&(g(e,i.theme),e.style=m(i.theme.style,i.style)),i),n=d.renderer.button("+"!==s&&"-"!==s&&s||"",0,0,h,e,void 0,void 0,void 0,"zoomIn"===t?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[t]).attr({width:r,height:o,title:d.options.lang[t],zIndex:5}).add(l.navButtonsGroup);if("+"===s||"-"===s){let t=r+1,e=[["M",a+3,a+o/2],["L",a+t-3,a+o/2]];"+"===s&&e.push(["M",a+t/2,a+3],["L",a+t/2,a+o-3]),d.renderer.path(e).addClass("highcharts-button-symbol").attr(d.styledMode?{}:{stroke:i.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(n)}if(n.handler=i.onclick,u(n.element,"dblclick",y),c.push(n),g(i,{width:n.width,height:2*(n.height||0)}),d.hasLoaded)n.align(i,!1,i.alignTo);else{let t=u(d,"load",()=>{n.element&&n.align(i,!1,i.alignTo),t()})}}),d.hasLoaded||u(d,"render",function(){var t,e,i,s=d.exportingGroup&&d.exportingGroup.getBBox();s&&(t=l.navButtonsGroup.getBBox(),e=s,(i=t).x>=e.x+e.width||i.x+i.width<=e.x||i.y>=e.y+e.height||i.y+i.height<=e.y||(i=-t.y-t.height+s.y-5,e=s.y+s.height-t.y+5,s=p.buttonOptions&&p.buttonOptions.verticalAlign,l.navButtonsGroup.attr({translateY:"bottom"===s?i:e})))})),this.updateEvents(p)}updateEvents(t){let e=this.chart;x(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||u(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),x(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||u(e.container,"wheel",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),y(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}}),e(t,"Series/ColorMapComposition.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,s,e){var i;let r=t.seriesTypes["column"]["prototype"],{addEvent:o,defined:a}=e;return(t=i=i||{}).pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return!a(t.color)||t.state&&"normal"!==t.state||(e[this.colorProp||"fill"]=t.color),e},pointAttribs:r.pointAttribs},t.compose=function(t){return o(t.prototype.pointClass,"afterSetState",n),t},i;function n(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new s(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),"hover"===t?.state?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:i.url+"#"+this.id,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}}),e(t,"Core/Chart/MapChart.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s){var r;let o=e["getOptions"],{isNumber:a,merge:n,pick:h}=s;class l extends t{init(t,e){var i=o().credits,i=n({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:h(i.mapText,' © {geojson.copyrightShort}'),mapTextFull:h(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(i,e)}mapZoom(t,e,i,s,r){this.mapView&&(a(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,a(e)&&a(i)?this.mapView.projection.inverse([e,i]):void 0,a(s)&&a(r)?[s,r]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}return(r=l=l||{}).maps={},r.mapChart=function(t,e,i){return new r(t,e,i)},r.splitPath=function(t){t="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t;return i.prototype.pathToSegments(t)},l}),e(t,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(t){let i=-Number.MAX_VALUE,s=Number.MAX_VALUE,r=-Number.MAX_VALUE,o=Number.MAX_VALUE,a;if(t.forEach(t=>{var e=t[t.length-2],t=t[t.length-1];"number"==typeof e&&"number"==typeof t&&(s=Math.min(s,e),i=Math.max(i,e),o=Math.min(o,t),r=Math.max(r,t),a=!0)}),a)return{x1:s,y1:o,x2:i,y2:r}}}}),e(t,"Series/Map/MapPoint.js",[t["Series/ColorMapComposition.js"],t["Maps/MapUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let a=e["boundsFromPath"],r=i.seriesTypes.scatter.prototype.pointClass,{extend:o,isNumber:n,pick:h}=s;class l extends r{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),r=i.joinBy;return i.mapData&&i.mapMap&&(t=r[1],(t=void 0!==(e=super.getNestedProperty(t))&&i.mapMap[e])?o(s,{...t,name:s.name??t.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)),s}getProjectedBounds(t){let e=a(l.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){var r=i&&i["hc-middle-lon"],o=i&&i["hc-middle-lat"];if(s&&n(r)&&n(o)){t=t.forward([r,o]);e.midX=t[0],e.midY=t[1]}else{r=i&&i["hc-middle-x"],o=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*h(this.middleX,n(r)?r:.5);let t=h(this.middleY,n(o)?o:.5);this.geometry||(t=1-t),e.midY=e.y2-(e.y2-e.y1)*t}return e}}onMouseOver(t){s.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(e){let i=this.series.chart,s=i.mapView,r=this.bounds;if(s&&r){let t=n(this.insetIndex)&&s.insets[this.insetIndex];var o,a;t&&(o=t.projectedUnitsToPixels({x:r.x1,y:r.y1}),a=t.projectedUnitsToPixels({x:r.x2,y:r.y2}),o=s.pixelsToProjectedUnits({x:o.x,y:o.y}),a=s.pixelsToProjectedUnits({x:a.x,y:a.y}),r={x1:o.x,y1:o.y,x2:a.x,y2:a.y}),s.fitToBounds(r,void 0,!1),this.series.isDirty=!0,i.redraw(e)}}}return o(l.prototype,{dataLabelOnNull:t.pointMembers.dataLabelOnNull,moveToTopOnHover:t.pointMembers.moveToTopOnHover,isValid:t.pointMembers.isValid}),l}),e(t,"Series/Map/MapSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["isNumber"];return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["value"];return i(e)?t(e,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),e(t,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),e(t,"Maps/GeoJSONComposition.js",[t["Core/Globals.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i){var s;let u=t["win"],d=e["format"],{error:g,extend:c,merge:r,wrap:o}=i;return(t=s=s||{}).compose=function(t){let e=t.prototype;e.transformFromLatLon||(e.fromLatLonToPoint=a,e.fromPointToLatLon=n,e.transformFromLatLon=h,e.transformToLatLon=l,o(e,"addCredits",m))},t.geojson=function(t,i="map",e){let s=[],r="Topology"===t.type?p(t):t,o=r.features;for(let e=0,t=o.length;e"number"==typeof t[0]?t.reduce((t,e,i)=>{let s=e<0?o[~e]:o[e];return e<0?(s=s.slice(0,0===i?s.length:s.length-1)).reverse():i&&(s=s.slice(1)),t.concat(s)},[]):t.map(s),r=i.geometries,d=[];for(let t=0,e=r.length;t(e[1]-t[1])*(i[0]-t[0])}function d(t,e,i,s){let r=[t[0]-e[0],t[1]-e[1]],o=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],h=1/(r[0]*o[1]-r[1]*o[0]),l=[(a*o[0]-n*r[0])*h,(a*o[1]-n*r[1])*h];return l.isIntersection=!0,l}return{clipLineString:function(t,e){let i=[],s=r(t,e,!1);for(let t=1;t0===t?0:0Math.tan((c+t)/2);return class{constructor(t){var e=(t.parallels||[]).map(t=>t*d),i=e[0]||0,e=e[1]??i,s=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let r=i===e?Math.sin(i):Math.log(s/Math.cos(e))/Math.log(p(e)/p(i));Math.abs(r)<1e-10&&(r=1e-10*(n(r)||1)),this.n=r,this.c=s*Math.pow(p(i),r)/r}forward(t){let{c:e,n:i,projectedBounds:s}=this,r=t[0]*d,o=t[1]*d,a=(0c-1e-6&&(o=c-1e-6),e/Math.pow(p(o),i)),n=a*Math.sin(i*r)*63.78137,h=63.78137*(e-a*Math.cos(i*r)),l=[n,h];return s&&(ns.x2||hs.y2)&&(l.outside=!0),l}inverse(t){let{c:e,n:i}=this,s=t[0]/63.78137,r=e-t[1]/63.78137,o=n(i)*Math.sqrt(s*s+r*r),a=Math.atan2(s,Math.abs(r))*n(r);return r*i<0&&(a-=Math.PI*n(s)*n(r)),[a/i/d,(2*Math.atan(Math.pow(e/o,1/i))-c)/d]}}}),e(t,"Maps/Projections/EqualEarth.js",[],function(){let d=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){var e=Math.PI/180,i=Math.asin(d*Math.sin(t[1]*e)),s=i*i,r=s*s*s;return[t[0]*e*Math.cos(i)*74.03120656864502/(d*(1.340264+-.24331799999999998*s+r*(.0062510000000000005+.034164*s))),74.03120656864502*i*(1.340264+-.081106*s+r*(893e-6+.003796*s))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,s=180/Math.PI,r=i,o,a,n,h;for(let t=0;t<12&&(a=(o=r*r)*o*o,n=r*(1.340264+-.081106*o+a*(893e-6+.003796*o))-i,r-=h=n/(1.340264+-.24331799999999998*o+a*(.0062510000000000005+.034164*o)),!(Math.abs(h)<1e-9));++t);a=(o=r*r)*o*o;var t=s*d*e*(1.340264+-.24331799999999998*o+a*(.0062510000000000005+.034164*o))/Math.cos(r),l=s*Math.asin(Math.sin(r)/d);return 180this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*s),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/s]}}}),e(t,"Maps/Projections/ProjectionRegistry.js",[t["Maps/Projections/LambertConformalConic.js"],t["Maps/Projections/EqualEarth.js"],t["Maps/Projections/Miller.js"],t["Maps/Projections/Orthographic.js"],t["Maps/Projections/WebMercator.js"]],function(t,e,i,s,r){return{EqualEarth:e,LambertConformalConic:t,Miller:i,Orthographic:s,WebMercator:r}}),e(t,"Maps/Projection.js",[t["Core/Geometry/PolygonClip.js"],t["Maps/Projections/ProjectionRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{clipLineString:b,clipPolygon:v}=t,{clamp:d,erase:c}=i,L=2*Math.PI/360,p=t=>(t<-180&&(t+=360),180(1-Math.cos(t))/2;class j{static add(t,e){j.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,r=((t,e)=>{let i=Math.cos,s=t[1]*L,r=t[0]*L,o=e[1]*L,a=e[0]*L;return n(o-s)+i(s)*i(o)*n(a-r)})(t,e);return 2*i(s(r),s(1-r))*6371e3}static geodesic(t,e,i,s=5e5){let{atan2:r,cos:o,sin:a,sqrt:n}=Math,h=j.distance,l=t[1]*L,d=t[0]*L,c=e[1]*L,p=e[0]*L,u=o(l)*o(d),g=o(c)*o(p),m=o(l)*a(d),f=o(c)*a(p),x=a(l),y=a(c),b=h(t,e),v=b/6371e3,M=a(v),C=Math.round(b/s),S=[];if(i&&S.push(t),1o.forward(a.forward(t)),this.inverse=t=>a.inverse(o.inverse(t))):o?(this.forward=t=>o.forward(t),this.inverse=t=>o.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?o&&o.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:r}=this.bounds||{},o=(t,e,i)=>{var s,[t,r]=t,o=e?0:1;if("number"==typeof i&&t[e]>=i!=r[e]>=i)return s=(i-t[e])/(r[e]-t[e]),s=t[o]+s*(r[o]-t[o]),e?[s,i]:[i,s]},a,n=t[0];return((a=o(t,0,e))||(a=o(t,0,i)))&&(n=a,t[1]=a),n=(a=o(t,1,s))||(a=o(t,1,r))?a:n}getRotator(t){let r=t[0]*L,e=(t[1]||0)*L,i=(t[2]||0)*L,o=Math.cos(e),a=Math.sin(e),n=Math.cos(i),h=Math.sin(i);if(0!=r||0!=e||0!=i)return{forward:t=>{var e=t[0]*L+r,t=t[1]*L,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*o+s*a;return[Math.atan2(e*n-t*h,s*o-i*a)/L,Math.asin(t*n+e*h)/L]},inverse:t=>{var e=t[0]*L,t=t[1]*L,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*n-e*h;return[(Math.atan2(e*n+i*h,s*o+t*a)-r)/L,Math.asin(t*o-s*a)/L]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(o,s){let h,a=[],l=[o];for(let i=0,t=o.length;iMath.abs(e.lat)-Math.abs(t.lat))[0],c(a,h));let r=a.length-2;for(;0<=r;){let t=a[r].i,e=p(180+1e-6*a[r].direction),i=p(180-1e-6*a[r].direction),s=o.splice(t,a[r+1].i-t,...j.geodesic([e,a[r].lat],[e,a[r+1].lat],!0));s.push(...j.geodesic([i,a[r+1].lat],[i,a[r].lat],!0)),l.push(s),r-=2}if(h)for(let t=0;t{let e=t.map(e=>{if(x){let t=(e=s?s.forward(e):e)[0];e=[t=Math.abs(t-180)<1e-6?t<180?179.999999:180.000001:t,e[1]]}return e}),i=[e];f&&(j.insertGeodesics(e),x&&(i=this.cutOnAntimeridian(e,m))),i.forEach(n=>{let h,l;if(!(n.length<2)){let e=!1,i=!1,s=t=>{e?g.push(["L",t[0],t[1]]):(g.push(["M",t[0],t[1]]),e=!0)},r=!1,o=!1,a=n.map(t=>{let e=y.forward(t);return e.outside?r=!0:o=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(x){if(m&&a.push(a[0]),r){if(!o)return;if(p)if(m)a=v(a,p);else if(u)return void b(a,p).forEach(t=>{e=!1,t.forEach(s)})}a.forEach(s)}else for(let t=0;ts(y.forward(t))):e=!1),s(c),l=d,!1)}}})});return"LineString"===t.type?r(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>r(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>r(t)),g.length&&g.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>r(t))}),g.length&&g.push(["Z"])),g}}return j.registry=e,j}),e(t,"Maps/MapView.js",[t["Core/Globals.js"],t["Maps/MapViewDefaults.js"],t["Maps/GeoJSONComposition.js"],t["Core/Geometry/GeometryUtilities.js"],t["Maps/MapUtilities.js"],t["Maps/Projection.js"],t["Core/Utilities.js"]],function(t,o,e,i,s,a,r){let n=t["composed"],h=i["pointInPolygon"],l=e["topo2geo"],d=s["boundsFromPath"],{addEvent:c,clamp:f,crisp:p,fireEvent:u,isArray:g,isNumber:x,isObject:m,isString:y,merge:b,pick:v,pushUnique:M,relativeLength:C}=r,S={};function k(t,e){var{width:e,height:i}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(e/256),(t.y2-t.y1)/(i/256)))/Math.log(2)}function w(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class A{static compose(t){M(n,"MapView")&&(S=t.maps,c(t,"afterInit",function(){this.mapView=new A(this,this.options.mapView)},{order:0}),c(t,"addSeriesAsDrilldown",w),c(t,"afterDrillUp",w))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),b(t[0]))}static mergeInsets(t,e){let i=t=>{let i={};return t.forEach((t,e)=>{i[t&&t.id||"i"+e]=t}),i},s=b(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof T||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=b(o,this.recommendedMapView,e),s=this.recommendedMapView?.insets,r=e&&e.insets;s&&r&&(i.insets=A.mergeInsets(s,r)),this.chart=t,this.center=i.center,this.options=i,this.projection=new a(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(c(t,"afterSetChartSize",()=>{this.playingField=this.getField(),void 0!==this.minZoom&&this.minZoom!==this.zoom||(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&x(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&b(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let e=this.options,t=e.insets;t&&t.forEach(t=>{t=new T(this,b(e.insetOptions,t));this.insets.push(t)})}fitToBounds(t,e,i=!0,s){var r,o=t||this.getProjectedBounds();o&&(e=v(e,t?0:this.options.padding),r=this.getField(!1),e=g(e)?e:[e,e,e,e],this.padding=[C(e[0],r.height),C(e[1],r.width),C(e[2],r.height),C(e[3],r.width)],this.playingField=this.getField(),e=k(o,this.playingField),t||(this.minZoom=e),r=this.projection.inverse([(o.x2+o.x1)/2,(o.y2+o.y1)/2]),this.setView(r,e,i,s))}getField(t=!0){t=t?this.padding:[0,0,0,0];return{x:t[3],y:t[0],width:this.chart.plotWidth-t[1]-t[3],height:this.chart.plotHeight-t[0]-t[2]}}getGeoMap(t){return y(t)?S[t]&&"Topology"===S[t].type?l(S[t]):S[t]:m(t,!0)?"FeatureCollection"===t.type?t:"Topology"===t.type?l(t):void 0:void 0}getMapBBox(){var t,e,i=this.getProjectedBounds(),s=this.getScale();if(i)return t=this.padding,e=this.projectedUnitsToPixels({x:i.x1,y:i.y2}),{width:(i.x2-i.x1)*s+t[1]+t[3],height:(i.y2-i.y1)*s+t[0]+t[2],x:e.x-t[3],y:e.y-t[0]}}getProjectedBounds(){let s=this.projection,t=this.chart.series.reduce((t,e)=>{var i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),r=this.options.fitToGeometry;if(r){if(!this.fitToGeometryCache)if("MultiPoint"===r.type){let t=r.coordinates.map(t=>s.forward(t)),e=t.map(t=>t[0]),i=t.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,e),x2:Math.max.apply(0,e),y1:Math.min.apply(0,i),y2:Math.max.apply(0,i)}}else this.fitToGeometryCache=d(s.path(r));return this.fitToGeometryCache}return this.projection.bounds||A.compositeBounds(t)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){var{x:t,y:e,width:i,height:s}=this.playingField,r=this.projection.forward(this.center),o=this.projection.hasCoordinates?-1:1,a=this.getScale(),o=a*o;return{scaleX:a,scaleY:o,translateX:t+i/2-r[0]*a,translateY:e+s/2-r[1]*o}}lonLatToPixels(t){t=this.lonLatToProjectedUnits(t);if(t)return this.projectedUnitsToPixels(t)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){var r=e.transformFromLatLon(t,i[s]);if(r&&h(r,i[s].hitZone.coordinates[0]))return r}return e.transformFromLatLon(t,i.default)}for(var o of this.insets){var a;if(o.options.geoBounds&&h({x:t.lon,y:t.lat},o.options.geoBounds.coordinates[0]))return a=o.projection.forward([t.lon,t.lat]),o=o.projectedUnitsToPixels({x:a[0],y:a[1]}),this.pixelsToProjectedUnits(o)}var n=this.projection.forward([t.lon,t.lat]);if(!n.outside)return{x:n[0],y:n[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&h(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}var r,o,a=this.projectedUnitsToPixels(t);for(r of this.insets)if(r.hitZone&&h(a,r.hitZone.coordinates[0]))return o=r.pixelsToProjectedUnits(a),{lon:(o=r.projection.inverse([o.x,o.y]))[0],lat:o[1]};var n=this.projection.inverse([t.x,t.y]);return{lon:n[0],lat:n[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),r=[],o=(s.forEach(t=>{var e,i,s;t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)&&([t,e,i,s]=t.bbox,r.push({x1:t,y1:e,x2:i,y2:s}))}),r.length&&A.compositeBounds(r));u(this,"onRecommendMapView",{geoBounds:o,chart:t},function(){var t,e,i,s;o&&this.recommendedMapView&&(this.recommendedMapView.projection||({x1:t,y1:e,x2:i,y2:s}=o,this.recommendedMapView.projection=180{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(l,d,t=!0,e){l&&(this.center=l),"number"==typeof d&&("number"==typeof this.minZoom&&(d=Math.max(d,this.minZoom)),"number"==typeof this.options.maxZoom&&(d=Math.min(d,this.options.maxZoom)),x(d)&&(this.zoom=d));var c,p,l=this.getProjectedBounds();if(l){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:r}=this.playingField,o=this.getScale(),a=this.projectedUnitsToPixels({x:l.x1,y:l.y1}),n=this.projectedUnitsToPixels({x:l.x2,y:l.y2}),h=[(l.x1+l.x2)/2,(l.y1+l.y2)/2];this.chart.series.some(t=>t.isDrilling)||(d=a.x,l=n.y,c=n.x,p=a.y,c-d{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}u(this,"afterSetView"),t&&this.redraw(e)}projectedUnitsToPixels(t){var e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,r=s.x+s.width/2,s=s.y+s.height/2;return{x:r-e*(i[0]-t.x),y:s+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){var{x:t,y:e}=t,i=this.getScale(),s=this.projection.forward(this.center),r=this.playingField,o=r.x+r.width/2,r=r.y+r.height/2;return{x:s[0]+(t-o)/i,y:s[1]-(e-r)/i}}setUpEvents(){let p,u,g,m=this["chart"],t=s=>{let{lastTouches:t,pinchDown:e}=m.pointer,r=this.projection,o=s.touches,{mouseDownX:a,mouseDownY:n}=m,h=0;if(1===e?.length?(a=e[0].chartX,n=e[0].chartY):2===e?.length&&(a=(e[0].chartX+e[1].chartX)/2,n=(e[0].chartY+e[1].chartY)/2),2===o?.length&&t&&(h=Math.log(Math.sqrt(Math.pow(t[0].chartX-t[1].chartX,2)+Math.pow(t[0].chartY-t[1].chartY,2))/Math.sqrt(Math.pow(o[0].chartX-o[1].chartX,2)+Math.pow(o[0].chartY-o[1].chartY,2)))/Math.log(.5)),x(a)&&x(n)){let t=a+","+n,{chartX:e,chartY:i}=s.originalEvent;2===o?.length&&(e=(o[0].chartX+o[1].chartX)/2,i=(o[0].chartY+o[1].chartY)/2),t!==u&&(u=t,p=this.projection.forward(this.center),g=(this.projection.options.rotation||[0,0]).slice());var l,d,c=r.def&&r.def.bounds,c=c&&k(c,this.playingField)||-1/0;"Orthographic"===r.options.name&&(o?.length||0)<2&&(this.minZoom||1/0)<1.3*c?(c=440/(this.getScale()*Math.min(m.plotWidth,m.plotHeight)),g&&(l=(a-e)*c-g[0],c=f(-g[1]-(n-i)*c,-80,80),d=this.zoom,this.update({projection:{rotation:[-l,-c]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=d,m.redraw(!1))):x(e)&&x(i)&&(l=this.getScale(),c=this.projection.hasCoordinates?1:-1,d=this.projection.inverse([p[0]+(a-e)/l,p[1]-(n-i)/l*c]),isNaN(d[0]+d[1])||this.zoomBy(h,d,void 0,!1)),s.preventDefault()}};c(m,"pan",t),c(m,"touchpan",t),c(m,"selection",t=>{var e,i,s,r;t.resetSelection?this.zoomBy():(s=t.x-m.plotLeft,r=t.y-m.plotTop,{y:e,x:i}=this.pixelsToProjectedUnits({x:s,y:r}),{y:s,x:r}=this.pixelsToProjectedUnits({x:s+t.width,y:r+t.height}),this.fitToBounds({x1:i,y1:e,x2:r,y2:s},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||m.showResetZoom(),t.preventDefault())})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,r=s&&a.toString(s)!==a.toString(this.options.projection),o=!1;b(!0,this.userOptions,t),b(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,o=!0),(r||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(r||o)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,o&&e)for(;1[t[1]||0,t[2]||0])}}getField(h=!0){var l=this.hitZone;if(l){let t=h?this.padding:[0,0,0,0],e=l.coordinates[0],i=e.map(t=>t[0]),s=e.map(t=>t[1]),r=Math.min.apply(0,i)+t[3],o=Math.max.apply(0,i)-t[1],a=Math.min.apply(0,s)+t[0],n=Math.max.apply(0,s)-t[2];if(x(r)&&x(a))return{x:r,y:a,width:o-r,height:n-a}}return super.getField.call(this,h)}getHitZone(){let{chart:i,mapView:s,options:r}=this,e=(r.field||{})["coordinates"];if(e){let t=e[0];if("percent"===r.units){let e="mapBoundingBox"===r.relativeTo&&s.getMapBBox()||b(i.plotBox,{x:0,y:0});t=t.map(t=>[C(t[0]+"%",e.width,e.x),C(t[1]+"%",e.height,e.y)])}return{type:"Polygon",coordinates:[t]}}}getProjectedBounds(){return A.compositeBounds(this.allBounds)}isInside(t){var{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&h(t,i))}render(){let{chart:n,mapView:i,options:h}=this,s=h.borderPath||h.field;if(s&&i.group){let t=!0,o=(this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(i.group),t=!1),n.styledMode||this.border.attr({stroke:h.borderColor,"stroke-width":h.borderWidth}),this.border.strokeWidth()),a="mapBoundingBox"===h.relativeTo&&i.getMapBBox()||i.playingField,e=(s.coordinates||[]).reduce((t,e)=>e.reduce((t,e,i)=>{let[s,r]=e;return"percent"===h.units&&(s=n.plotLeft+C(s+"%",a.width,a.x),r=n.plotTop+C(r+"%",a.height,a.y)),s=p(s,o),r=p(r,o),t.push(0===i?["M",s,r]:["L",s,r]),t},t),[]);this.border[t?"animate":"attr"]({d:e})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}return A}),e(t,"Series/Map/MapSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Series/ColorMapComposition.js"],t["Series/CenteredUtilities.js"],t["Core/Globals.js"],t["Core/Chart/MapChart.js"],t["Series/Map/MapPoint.js"],t["Series/Map/MapSeriesDefaults.js"],t["Maps/MapView.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,f,s,x,r,a,o,n){let{animObject:m,stop:y}=t,h=f["noop"],l=s["splitPath"],{column:d,scatter:c}=o.seriesTypes,{extend:p,find:u,fireEvent:b,getNestedProperty:v,isArray:M,defined:g,isNumber:C,isObject:S,merge:k,objectEach:w,pick:A,splat:T}=n;class P extends c{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=m(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let p=this,{chart:u,group:i,transformGroups:s=[]}=this,{mapView:r,renderer:g}=u;if(r){(this.transformGroups=s)[0]||(s[0]=g.g().add(i));for(let t=0,e=r.insets.length;t{let e=t["graphic"];t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),d.prototype.drawPoints.apply(this),this.points.forEach(e=>{let n=e.graphic;if(n){let a=n.animate,t="";e.name&&(t+="highcharts-name-"+e.name.replace(/ /g,"-").toLowerCase()),e.properties&&e.properties["hc-key"]&&(t+=" highcharts-key-"+e.properties["hc-key"].toString().toLowerCase()),t&&n.addClass(t),u.styledMode&&n.css(this.pointAttribs(e,e.selected?"select":void 0)),n.attr({visibility:e.visible||!e.visible&&!e.isNull?"inherit":"hidden"}),n.animate=function(t,e,i){var s,r=C(t["stroke-width"])&&!C(n["stroke-width"]),o=C(n["stroke-width"])&&!C(t["stroke-width"]);return(r||o)&&(s=A(p.getStrokeWidth(p.options),1)/(u.mapView&&u.mapView.getScale()||1),r&&(n["stroke-width"]=s),o&&(t["stroke-width"]=s)),a.call(n,t,e,o?function(){n.element.removeAttribute("stroke-width"),delete n["stroke-width"],i&&i.apply(this,arguments)}:i)}}})),s.forEach((a,t)=>{let n=(0===t?r:r.insets[t-1]).getSVGTransform(),h=A(this.getStrokeWidth(this.options),1),l=n.scaleX,d=0{(p.points||[]).forEach(t=>{let e,i=t.graphic;i&&i["stroke-width"]&&(e=this.getStrokeWidth(t.options))&&i.attr({"stroke-width":e/s})})};if(g.globalAnimation&&u.hasRendered&&r.allowTransformAnimation){let s=Number(a.attr("translateX")),r=Number(a.attr("translateY")),o=Number(a.attr("scaleX")),t=k(m(g.globalAnimation)),e=t.step;t.step=function(){e&&e.apply(this,arguments),((t,e)=>{var i=o+(l-o)*e.pos;a.attr({translateX:s+(n.translateX-s)*e.pos,translateY:r+(n.translateY-r)*e.pos,scaleX:i,scaleY:i*d,"stroke-width":h/i}),c(i)}).apply(this,arguments)},a.attr({animator:0}).animate({animator:1},t,function(){"boolean"!=typeof g.globalAnimation&&g.globalAnimation.complete&&g.globalAnimation.complete({applyDrilldown:!0}),b(this,"mapZoomComplete")}.bind(this))}else y(a),a.attr(k(n,{"stroke-width":h/l})),c(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:o,projection:t}=this.chart.mapView,e=[];(this.points||[]).forEach(r=>{if(r.path||r.geometry){if("string"==typeof r.path?r.path=l(r.path):M(r.path)&&"M"===r.path[0]&&(r.path=this.chart.renderer.pathToSegments(r.path)),!r.bounds){let s=r.getProjectedBounds(t);if(s){r.labelrank=A(r.labelrank,(s.x2-s.x1)*(s.y2-s.y1));let{midX:e,midY:i}=s;if(o&&C(e)&&C(i)){let t=u(o,t=>t.isInside({x:e,y:i}));t&&(delete r.projectedPath,(s=r.getProjectedBounds(t.projection))&&t.allBounds.push(s),r.insetIndex=o.indexOf(t))}r.bounds=s}}r.bounds&&void 0===r.insetIndex&&e.push(r.bounds)}}),this.bounds=a.compositeBounds(e)}return this.bounds}getStrokeWidth(t){var e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,r=s?this.colorAttribs(t):d.prototype.pointAttribs.call(this,t,e),o=this.getStrokeWidth(t.options);e&&(e=k(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),a=this.getStrokeWidth(e),g(a)&&(o=a),r.stroke=e.borderColor??t.color),o&&i&&(o/=i.getScale());var a=this.getStrokeWidth(this.options);return r.dashstyle&&i&&C(a)&&(o=a/i.getScale()),t.visible||(r.fill=this.options.nullColor),g(o)?r["stroke-width"]=o:delete r["stroke-width"],r["stroke-linecap"]=r["stroke-linejoin"]=this.options.linecap,r}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}processData(){let e,i,s,r=this.options,o=r.data,t=this.chart,a=t.options.chart,n=this.joinBy,h=r.keys||this.pointArrayMap,l=[],d={},c=this.chart.mapView,p=c&&(S(r.mapData,!0)?c.getGeoMap(r.mapData):c.geoMap),u=t.mapTransforms=a.mapTransforms||p&&p["hc-transform"]||t.mapTransforms,g=(u&&w(u,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),M(r.mapData)?s=r.mapData:p&&"FeatureCollection"===p.type&&(this.mapTitle=p.title,s=f.geojson(p,this.type,this)),this.processedData=[],this.processedData);var m;if(o)for(let i=0,t=o.length;ih.length&&"string"==typeof m[0]&&(g[i]["hc-key"]=m[0],++e);for(let t=0;t{t=v(e,t);d[t]&&l.push(d[t])})}if(r.allAreas){if(n[1]){let e=n[1];g.forEach(t=>{l.push(v(e,t))})}let e="|"+l.map(function(t){return t&&t[n[0]]}).join("|")+"|";s.forEach(t=>{n[0]&&-1!==e.indexOf("|"+t[n[0]]+"|")||g.push(k(t,{value:null}))})}}this.processedXData=Array(g.length)}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),(i=this.joinBy=T(i))[1]||(i[1]=i[0]),e}translate(){let s=this.doFullTranslate(),r=this.chart.mapView,o=r&&r.projection;if(!this.chart.hasRendered||!this.isDirtyData&&this.hasRendered||(this.processData(),this.generatePoints(),delete this.bounds,!r||r.userOptions.center||C(r.userOptions.zoom)||r.zoom!==r.minZoom?this.getProjectedBounds():r.fitToBounds(void 0,void 0,!1)),r){let i=r.getSVGTransform();this.points.forEach(t=>{var e=C(t.insetIndex)&&r.insets[t.insetIndex].getSVGTransform()||i;e&&t.bounds&&C(t.bounds.midX)&&C(t.bounds.midY)&&(t.plotX=t.bounds.midX*e.scaleX+e.translateX,t.plotY=t.bounds.midY*e.scaleY+e.translateY),s&&(t.shapeType="path",t.shapeArgs={d:x.getProjectedPath(t,o)}),t.hiddenInDataClass||(t.projectedPath&&!t.projectedPath.length?t.setVisible(!1):t.visible||t.setVisible(!0))})}b(this,"afterTranslate")}update(i){i.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((t,e)=>(e===this._i?i:t).mapData)],!0),super.update.apply(this,arguments)}}return P.defaultOptions=k(c.defaultOptions,r),p(P.prototype,{type:"map",axisTypes:e.seriesMembers.axisTypes,colorAttribs:e.seriesMembers.colorAttribs,colorKey:e.seriesMembers.colorKey,directTouch:!0,drawDataLabels:h,drawGraph:h,forceDL:!0,getCenter:i.getCenter,getExtremesFromAll:!0,getSymbol:h,isCartesian:!1,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:e.seriesMembers.pointArrayMap,pointClass:x,preserveAspectRatio:!0,searchPoint:h,trackerGroups:e.seriesMembers.trackerGroups,useMapGeometry:!0}),e.compose(P),o.registerSeriesType("map",P),P}),e(t,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),e(t,"Series/MapLine/MapLineSeries.js",[t["Series/MapLine/MapLineSeriesDefaults.js"],t["Series/Map/MapSeries.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{extend:r,merge:o}=s;class a extends e{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}return a.defaultOptions=o(e.defaultOptions,t),r(a.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),i.registerSeriesType("mapline",a),a}),e(t,"Series/MapPoint/MapPointPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let i=t.seriesTypes["scatter"],s=e["isNumber"];class r extends i.prototype.pointClass{isValid(){return!!(this.options.geometry||s(this.x)&&s(this.y)||s(this.options.lon)&&s(this.options.lat))}}return r}),e(t,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),e(t,"Series/MapPoint/MapPointSeries.js",[t["Core/Globals.js"],t["Series/MapPoint/MapPointPoint.js"],t["Series/MapPoint/MapPointSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o){let a=t["noop"],{map:n,scatter:h}=s.seriesTypes,{extend:l,fireEvent:d,isNumber:c,merge:p}=o;class u extends h{constructor(){super(...arguments),this.clearBounds=n.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(r){let o=this.chart.mapView;if(o){let{geometry:t,lon:e,lat:i}=r,s=t&&"Point"===t.type&&t.coordinates;if(s=c(e)&&c(i)?[e,i]:s)return o.lonLatToProjectedUnits({lon:s[0],lat:s[1]})}}translate(){let l=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),l){let n=l.getSVGTransform(),h=l.projection["hasCoordinates"];this.points.forEach(t=>{let e,{x:i,y:s}=t,r=c(t.insetIndex)&&l.insets[t.insetIndex].getSVGTransform()||n,o=this.projectPoint(t.options)||t.properties&&this.projectPoint(t.properties);var a;o?(i=o.x,s=o.y):t.bounds&&(i=t.bounds.midX,s=t.bounds.midY,r&&c(i)&&c(s)&&(t.plotX=i*r.scaleX+r.translateX,t.plotY=s*r.scaleY+r.translateY,e=!0)),c(i)&&c(s)?e||(a=l.projectedUnitsToPixels({x:i,y:s}),t.plotX=a.x,t.plotY=h?a.y:this.chart.plotHeight-a.y):t.y=t.plotX=t.plotY=void 0,t.isInside=this.isPointInside(t),t.zone=this.zones.length?t.getZone():void 0})}d(this,"afterTranslate")}}return u.defaultOptions=p(h.defaultOptions,i),r.prototype.symbols.mapmarker=(t,e,i,s,r)=>{let o,a;var n=r&&"legend"===r.context,r=(n?(o=t+i/2,a=e+s):r&&"number"==typeof r.anchorX&&"number"==typeof r.anchorY?(o=r.anchorX,a=r.anchorY):(o=t+i/2,a=e+s/2,e-=s),n?s/3:s/2);return[["M",o,a],["C",o,a,o-r,e+1.5*r,o-r,e+r],["A",r,r,1,1,1,o+r,e+r],["C",o+r,e+1.5*r,o,a,o,a],["Z"]]},l(u.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:e,searchPoint:a,useMapGeometry:!0}),s.registerSeriesType("mappoint",u),u}),e(t,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),e(t,"Series/Bubble/BubbleLegendItem.js",[t["Core/Color/Color.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,o,e,i){let c=t["parse"],s=e["noop"],{arrayMax:n,arrayMin:h,isNumber:d,merge:p,pick:u,stableSort:g}=i;return class{constructor(t,e){this.setState=s,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=u(t.options.itemDistance,20),s=this.legendItem||{},r=this.options,o=r.ranges,a=r.connectorDistance;var n,h,l;o&&o.length&&d(o[0].value)?(g(o,function(t,e){return e.value-t.value}),this.ranges=o,this.setOptions(),this.render(),n=this.getMaxLabelSize(),l=2*(h=this.ranges[0].radius),e=0<(e=a-h+n.width)?e:0,this.maxLabel=n,this.movementX="left"===r.labels.align?e:0,s.labelWidth=l+e+i,s.labelHeight=l+n.height/2):t.options.bubbleLegend.autoRanges=!0}setOptions(){let i=this.ranges,s=this.options,r=this.chart.series[s.seriesIndex],o=this.legend.baseline,a={zIndex:s.zIndex,"stroke-width":s.borderWidth},n={zIndex:s.zIndex,"stroke-width":s.connectorWidth},h={align:this.legend.options.rtl||"left"===s.labels.align?"right":"left",zIndex:s.zIndex},l=r.options.marker.fillOpacity,d=this.chart.styledMode;i.forEach(function(t,e){d||(a.stroke=u(t.borderColor,s.borderColor,r.color),a.fill=u(t.color,s.color,1!==l?c(r.color).setOpacity(l).get("rgba"):r.color),n.stroke=u(t.connectorColor,s.connectorColor,r.color)),i[e].radius=this.getRangeRadius(t.value),i[e]=p(i[e],{center:i[0].radius-i[e].radius+o}),d||p(!0,i[e],{bubbleAttribs:p(a),connectorAttribs:p(n),labelAttribs:h})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],r=e.ranges[0].value,o=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,o,r,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(var s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,r=s.labels,o=this.chart,a=o.series[s.seriesIndex],n=o.renderer,h=this.symbols,l=h.labels,d=t.center,c=Math.abs(t.radius),p=s.connectorDistance||0,u=r.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,x=e.radius||0,y=d-c-m/2+f/2,b=(y%1?1:.5)-(f%2?0:.5),v=n.styledMode,M=g||"left"===u?-p:p,C=("center"===u&&(M=0,s.connectorDistance=0,t.labelAttribs.align="center"),h.bubbleItems.push(n.circle(x,d+b,c).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),h.connectors.push(n.path(n.crispLine([["M",x,y],["L",x+M,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol)),n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:r.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol)),S={x:x+M+s.labels.x,y:y+s.labels.y+.4*C.getBBox().height};C.attr(S),l.push(C),C.placed=!0,C.alignAttr=S}getMaxLabelSize(){let e,i;return this.symbols.labels.forEach(function(t){i=t.getBBox(!0),e=!e||i.width>e.width?i:e}),e||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,r=this.chart["numberFormatter"];return s?o.format(s,t):i?i.call(t):r(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,r,o=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(r=t.zData.filter(d)).length&&(o=u(t.options.zMin,Math.min(o,Math.max(h(r),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=u(t.options.zMax,Math.max(a,n(r))))}),s=o===a?[{value:a}]:[{value:o},{value:(o+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=p(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,r=s?t.legend.lastLineHeight:0,o=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],h=n.getPxExtremes(),l=Math.ceil(h.minPxSize),d=Math.ceil(h.maxPxSize),c=Math.min(a,o),p,u=n.options.maxSize;return i||!/%$/.test(u)?p=d:(p=(c+r)*(u=parseFloat(u))/100/(u/100+1),(s&&a-p>=o||!s&&o-p>=a)&&(p=d)),[l,Math.ceil(p)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();1{(o=t.legendItem||{}).group&&(o.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),h(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),f(a,u(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),f(a,u(a))))}function p(t){let e=t.series,i=0;for(;ir.height&&(r.height=e[h].itemHeight);r.step=n}return i}function g(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,r=p(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),0<=r&&i.enabled&&s.enabled&&(s.seriesIndex=r,this.bubbleLegend=new o(s,this),this.bubbleLegend.addToLegend(t.allItems))}function m(t){if(t.defaultPrevented)return!1;let e=t.legendItem,i=this.chart,s=e.visible;this&&this.bubbleLegend&&(e.visible=!s,e.ignoreSeries=s,t=0<=p(i),this.bubbleLegend.visible!==t&&(this.update({bubbleLegend:{enabled:t}}),this.bubbleLegend.visible=t),e.visible=s)}function f(t,i){let e=t.allItems,s=t.options.rtl,r,o,a,n,h=0;e.forEach((t,e)=>{(n=t.legendItem||{}).group&&(r=n.group.translateX||0,o=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?r-t.options.maxSize/2:r+a,n.group.attr({translateX:a})),e>i[h].step&&h++,n.group.attr({translateY:Math.round(o+i[h].height/2)}),n.y=o+i[h].height/2)})}return{compose:function(t,e){l(a,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:i}}),d(t.prototype,"drawChartBox",c),n(e,"afterGetAllItems",g),n(e,"itemClick",m))}}}),e(t,"Series/Bubble/BubblePoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{scatter:{prototype:{pointClass:s}}}=e["seriesTypes"],r=i["extend"];class o extends s{haloPath(r){r=(r&&this.marker&&this.marker.radius||0)+r;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:e,yAxis:i,chart:s}=this.series;return s.renderer.symbols.circle(e.len-t[1]-r,i.len-t[0]-r,2*r,2*r)}return t.prototype.haloPath.call(this,r)}}return r(o.prototype,{ttBelow:!1}),o}),e(t,"Series/Bubble/BubbleSeries.js",[t["Series/Bubble/BubbleLegendComposition.js"],t["Series/Bubble/BubblePoint.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(s,t,e,i,r,o){let a=e["parse"],{composed:n,noop:h}=i,{series:l,seriesTypes:{column:{prototype:d},scatter:c}}=r,{addEvent:p,arrayMax:u,arrayMin:g,clamp:m,extend:f,isNumber:x,merge:y,pick:b,pushUnique:v}=o;function M(){let t=this.len,{coll:e,isXAxis:r,min:o}=this,a=r?"xData":"yData",n=(this.max||0)-(o||0),h=0,l=t,d=t/n,c;"xAxis"!==e&&"yAxis"!==e||(this.series.forEach(e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,c=!0;var i,s=e[a];if(r&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),0{void 0===b(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/d)})))}class C extends c{static compose(t,e,i){s.compose(e,i),v(n,"Series.Bubble")&&p(t,"foundExtremes",M)}animate(t){!t&&this.points.length{t.bubblePadding&&t.reserveSpace()&&((t=(t.onPoint||t).getZExtremes())&&(i=Math.min(b(i,t.zMin),t.zMin),s=Math.max(b(s,t.zMax),t.zMax),e=!0))}),e?(a={zMin:i,zMax:s},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(r=0,s=t.length;r{let e;return"string"==typeof t&&(e=/%$/.test(t),t=parseInt(t,10)),e?i*t/100:t},e=t(b(this.options.minSize,8)),s=Math.max(t(b(this.options.maxSize,"20%")),e);return{minPxSize:e,maxPxSize:s}}getZExtremes(){var t=this.options,e=(this.zData||[]).filter(x);if(e.length){var i=b(t.zMin,m(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),t=b(t.zMax,u(e));if(x(i)&&x(t))return{zMin:i,zMax:t}}}}return C.defaultOptions=y(c.defaultOptions,{dataLabels:{formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["z"];return x(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),f(C.prototype,{alignDataLabel:d.alignDataLabel,applyZones:h,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:t,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),p(C,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),p(C,"remove",t=>{delete t.target.chart.bubbleZExtremes}),r.registerSeriesType("bubble",C),C}),e(t,"Series/MapBubble/MapBubblePoint.js",[t["Series/Bubble/BubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{map:{prototype:{pointClass:{prototype:s}}}}=e["seriesTypes"],r=i["extend"];class o extends t{isValid(){return"number"==typeof this.z}}return r(o.prototype,{applyOptions:s.applyOptions,getProjectedBounds:s.getProjectedBounds}),o}),e(t,"Series/MapBubble/MapBubbleSeries.js",[t["Series/Bubble/BubbleSeries.js"],t["Series/MapBubble/MapBubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{map:{prototype:r},mappoint:{prototype:o}}=i["seriesTypes"],{extend:a,merge:n}=s;class h extends t{constructor(){super(...arguments),this.clearBounds=r.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){o.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(t,e,i){super.updateParallelArrays.call(this,t,e,i);let s=this.processedXData,r=this.xData;s&&r&&(s.length=r.length)}}return h.defaultOptions=n(t.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),a(h.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:r.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:e,processData:r.processData,projectPoint:o.projectPoint,kdAxisArray:["plotX","plotY"],setData:r.setData,setOptions:r.setOptions,updateData:r.updateData,useMapGeometry:!0,xyFromShape:!0}),i.registerSeriesType("mapbubble",h),h}),e(t,"Series/Heatmap/HeatmapPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["scatter"],{clamp:o,defined:g,extend:s,pick:a}=e;class r extends i{applyOptions(t,e){return!this.isNull&&null!==this.value||delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,s=(e.rowsize||1)/2,h=t.xAxis,l=t.yAxis,d=this.options.marker||t.options.marker,r=t.pointPlacementToXValue(),c=a(this.pointPadding,e.pointPadding,0),p={x1:o(Math.round(h.len-h.translate(this.x-i,!1,!0,!1,!0,-r)),-h.len,2*h.len),x2:o(Math.round(h.len-h.translate(this.x+i,!1,!0,!1,!0,-r)),-h.len,2*h.len),y1:o(Math.round(l.translate(this.y-s,!1,!0,!1,!0)),-l.len,2*l.len),y2:o(Math.round(l.translate(this.y+s,!1,!0,!1,!0)),-l.len,2*l.len)};for(var u of[["width","x"],["height","y"]]){let t=u[0],e=u[1],i=e+"1",s=e+"2",r=Math.abs(p[i]-p[s]),o=d&&d.lineWidth||0,a=Math.abs(p[i]+p[s])/2,n=d&&d[t];g(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),e(t,"Series/InterpolationUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let s=t["doc"],{defined:r,pick:o}=e;return{colorFromPoint:function(e,i){let s=i.series.colorAxis;if(s){let t=s.toColor(e||0,i).split(")")[0].split("(")[1].split(",").map(t=>o(parseFloat(t),parseInt(t,10)));return t[3]=255*o(t[3],1),r(e)&&i.visible||(t[3]=0),t}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=s.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}}}),e(t,"Series/Heatmap/HeatmapSeries.js",[t["Core/Color/Color.js"],t["Series/ColorMapComposition.js"],t["Series/Heatmap/HeatmapPoint.js"],t["Series/Heatmap/HeatmapSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"],t["Series/InterpolationUtilities.js"]],function(l,t,e,i,s,r,o,a){let{series:d,seriesTypes:{column:n,scatter:h}}=s,{symbols:c}=r["prototype"],{addEvent:p,extend:u,fireEvent:g,isNumber:m,merge:f,pick:x}=o,{colorFromPoint:O,getContext:E}=a;class y extends h{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let T=this,t=T.options,e=t.interpolation,i=t.marker||{};if(e){let{image:v,chart:M,xAxis:C,yAxis:S}=T,{reversed:k=!1,len:t}=C,{reversed:w=!1,len:e}=S,A={width:t,height:e};if(!v||T.isDirtyData||T.isDirtyCanvas){let g=E(T),{canvas:m,options:{colsize:f=1,rowsize:x=1},points:y,points:{length:b}}=T,t=M.colorAxis&&M.colorAxis[0];if(m&&g&&t){let{min:e,max:t}=C.getExtremes(),{min:i,max:s}=S.getExtremes(),r=t-e,o=s-i,a=Math.round(r/f/8*8),n=Math.round(o/x/8*8),[h,l]=[[a,a/r,k,"ceil"],[n,n/o,!w,"floor"]].map(([e,i,t,s])=>t?t=>Math[s](e-i*t):t=>Math[s](i*t)),d=m.width=a+1,c=d*(m.height=n+1),p=(b-1)/c,u=new Uint8ClampedArray(4*c);T.buildKDTree();for(let t=0;t{t.graphic&&(t.graphic[T.chart.styledMode?"css":"animate"](T.colorAttribs(t)),null===t.value&&t.graphic.addClass("highcharts-null-point"))}))}getExtremes(){var{dataMin:t,dataMax:e}=d.prototype.getExtremes.call(this,this.valueData);return m(t)&&(this.valueMin=t),m(e)&&(this.valueMax=e),d.prototype.getExtremes.call(this)}getValidPoints(t,e){return d.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.xData}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=x(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,c.ellipse=c.circle,t.marker&&m(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){var i,s=t.shapeArgs||{};return t.hasImage?{x:t.plotX,y:t.plotY}:e&&"normal"!==e?(t=t.options.marker||{},i=(i=this.options.marker||{}).states&&i.states[e]||{},e=((t=t.states&&t.states[e]||{}).width||i.width||s.width||0)+(t.widthPlus||i.widthPlus||0),t=(t.height||i.height||s.height||0)+(t.heightPlus||i.heightPlus||0),{x:(s.x||0)+((s.width||0)-e)/2,y:(s.y||0)+((s.height||0)-t)/2,width:e,height:t}):s}pointAttribs(t,e){let i=d.prototype.pointAttribs.call(this,t,e),s=this.options||{},r=this.chart.options.plotOptions||{},o=r.series||{},a=r.heatmap||{},n=t&&t.options.borderColor||s.borderColor||a.borderColor||o.borderColor,h=t&&t.options.borderWidth||s.borderWidth||a.borderWidth||o.borderWidth||i["stroke-width"];return i.stroke=t&&t.marker&&t.marker.lineColor||s.marker&&s.marker.lineColor||n||this.color,i["stroke-width"]=h,e&&"normal"!==e&&(t=f(s.states&&s.states[e],s.marker&&s.marker.states&&s.marker.states[e],t&&t.options.states&&t.options.states[e]||{}),i.fill=t.color||l.parse(i.fill).brighten(t.brightness||0).get(),i.stroke=t.lineColor||i.stroke),i}translate(){let{borderRadius:o,marker:t}=this.options,a=t&&t.symbol||"rect",n=c[a]?a:"rect",h=-1!==["circle","square"].indexOf(n);var e,i,l,d;this.processedXData||({xData:e,yData:i}=this.getProcessedData(),this.processedXData=e,this.processedYData=i);for(l of(this.generatePoints(),this.points)){let t=l.getCellAttributes(),e=Math.min(t.x1,t.x2),i=Math.min(t.y1,t.y2),s=Math.max(Math.abs(t.x2-t.x1),0),r=Math.max(Math.abs(t.y2-t.y1),0);l.hasImage=0===(l.marker&&l.marker.symbol||a||"").indexOf("url"),h&&(d=Math.abs(s-r),e=Math.min(t.x1,t.x2)+(s{m(t)?i.setAttribute(e,t):o?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?r(e,t):M(t,r),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function v(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,r)&&r.preventDefault()})}t&&!r.defaultPrevented&&t.call(s,r)}M({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var o=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t,r=(Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={}),o.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(s),r[e].sort((t,e)=>t.order-e.order),function(){C(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:b,defined:m,destroyObjectProperties:function(i,s,o){M(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&o||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,o,r,a){let n=i?o:t;M(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let r=h.getComputedStyle(s,void 0);return r&&(o=r.getPropertyValue(t),v(e,"opacity"!==t)&&(o=d(o))),o},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return k(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:M,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:v,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:C,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var o=t.length;for(e=0;e{try{var e="shortOffset,"+(r.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:r.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),o=-36e5*(i+s/60);if(n(o))return o}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return u.defaultOptions.lang&&u.defaultOptions.lang.invalidDate||"";i=b(i,"%Y-%m-%d %H:%M:%S");let o=this,e=new this.Date(s),r=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=u.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return g(v({a:p?p[a]:c[a].substr(0,3),A:c[a],d:f(n),e:f(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:f(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:f(r),k:r,I:f(r%12||12),l:r%12||12,M:f(this.get("Minutes",e)),p:r<12?"AM":"PM",P:r<12?"am":"pm",S:f(this.get("Seconds",e)),L:f(Math.floor(s%1e3),3)},u.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(o,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=o(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o,r,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),u=t.unitRange,g=t.count||1;if(s=b(s,1),y(e)){h.set("Milliseconds",p,u>=S.second?0:g*Math.floor(h.get("Milliseconds",p)/g)),u>=S.second&&h.set("Seconds",p,u>=S.minute?0:g*Math.floor(h.get("Seconds",p)/g)),u>=S.minute&&h.set("Minutes",p,u>=S.hour?0:g*Math.floor(h.get("Minutes",p)/g)),u>=S.hour&&h.set("Hours",p,u>=S.day?0:g*Math.floor(h.get("Hours",p)/g)),u>=S.day&&h.set("Date",p,u>=S.month?1:Math.max(1,g*Math.floor(h.get("Date",p)/g))),u>=S.month&&(h.set("Month",p,u>=S.year?0:g*Math.floor(h.get("Month",p)/g)),r=h.get("FullYear",p)),u>=S.year&&(r-=r%g,h.set("FullYear",p,r)),u===S.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*S.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(o=1;tt){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=e["isTouchDevice"],{fireEvent:a,merge:n}=o,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:o,merge:r,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,o,r=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(r&&r!==l)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(o=l.parsers[s]).regex.exec(t))&&(i=o.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&o(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=r(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(o(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[r,r];function g(t,e){for(;t.length{t=h(t.options.animation);r=p(e)&&n(e.defer)?s.defer:Math.max(r,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:f}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:o,css:u,error:g,isFunction:i,isString:r,objectEach:f,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(s){return f(s,(e,t)=>{let i=!0;-1===m.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?r(e)&&m.allowedReferences.some(t=>0===e.indexOf(t)):i)||(g(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),r(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let o;var r=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=m.bypassHTMLFiltering;if(r)if("#text"===r)o=a;else if(-1!==m.allowedTags.indexOf(r)||n){let t="svg"!==r&&l.namespaceURI||c,e=d.doc.createElementNS(t,r),i=s.attributes||{};f(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:m.filterUserAttributes(i)),s.style&&u(e,s.style),a&&e.appendChild(a),h(s.children||[],e),o=e}else g(33,!1,void 0,{"Invalid tagName in config":r});o&&l.appendChild(o),e=o}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=o("div");t.innerHTML=e,i={body:t}}let r=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var o=t.attributes;if(o){let e={};[].forEach.call(o,t=>{"data-style"===t.name?s.style=m.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{r(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>r(t,s)),s}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=h,m.bypassHTMLFiltering=!1,m}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:v,defaultTime:b}=t,{extend:o,getNestedProperty:S,isArray:r,isNumber:u,isObject:a,pick:k,pInt:g}=e,M={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!r(i)&&i.map((t,e)=>C(s.body,o(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function C(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,u=/\.(\d)/,g=v.lang,f=c&&c.time||b,m=c&&c.numberFormatter||A,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:S(t,d))},o,r,a=0,n;for(;null!==(o=e.exec(t));){var h,l=i.exec(o[1]),y=(l&&(o=l,n=!0),r&&r.isBlock||(r={ctx:d,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length}),o[1].split(" ")[0].replace("#","")),y=(M[y]&&(r.isBlock&&y===r.fn&&a++,r.fn||(r.fn=y)),"else"===o[1]);if(r.isBlock&&r.fn&&(o[1]==="/"+r.fn||y)?a?y||a--:(h=r.startInner,h=t.substr(h,o.index-h),void 0===r.body?(r.body=h,r.startInner=o.index+o[0].length):r.elseBody=h,r.find+=h+o[0],y||(s.push(r),r=void 0)):r.isBlock||s.push(r),l&&!r?.isBlock)break}return s.forEach(i=>{let s,o,{body:r,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(o=M[h].length;o--;)t.unshift(x(e[o+1]));s=M[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=C(s?r:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(u)||["","-1"])[1],10),null!==s&&(s=m(s,l,g.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(k(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>t;)f=e[c=Math.floor(p)],S(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(k(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:b(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=v(m-f.size*f.align,0,s-f.size);for(c=e.length,g=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(r,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(r[c].pos=t.pos+e,void 0!==o&&Math.abs(r[c].pos-r[c].target)>o?(r.slice(0,c+1).forEach(t=>delete t.pos),r.reducedLen=(r.reducedLen||s)-.1*s,r.reducedLen>.1*s&&i(r,s,o),!0):(e+=r[c].size,c++,!1)))}),k(r,a),r}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,m,i,e){let{animate:r,animObject:a,stop:d}=t,{deg2rad:R,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:o,attr:c,createElement:p,crisp:u,css:x,defined:y,erase:g,extend:v,fireEvent:b,isArray:S,isFunction:k,isObject:f,isString:M,merge:C,objectEach:A,pick:w,pInt:T,pushUnique:P,replaceNested:O,syncTimeout:E,uniqueKey:L}=e;class D{_defaultGetter(t){let e=w(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o,r,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||M(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),w(i,l[p],l)),p=t.align,u=t.verticalAlign;return o=(i.x||0)+(t.x||0),r=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(o+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(o),"bottom"===u?n=1:"middle"===u&&(n=2),n&&(r+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(w(e,this.renderer.globalAnimation,!0)),o=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),E(()=>{this.element&&r(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),A(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let o=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(o.style.fill)):t).split(" "),r=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:r,stroke:r,"stroke-width":a,"stroke-linejoin":"round"}),o.querySelector("textPath")||o),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(o.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let o=this["element"],r=D.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,o):(A(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==r.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,o)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=L()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),v(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,i=u(i,e),s=u(s,e);return v(t,{x:i,y:s,width:u(o,e)-i,height:u(r,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,u,g=[],f;b(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,S(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!y(a.gradientUnits)&&(n=a,a=C(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),A(a,function(t,e){"id"!==e&&g.push(e,t)}),A(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=L();let e=h[g]=s.createElement(r).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(o=m.parse(t[1])).get("rgb"),o.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let i=this.styles,s={},o=this.element,r,a=!i;if(i&&A(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?v(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===o.nodeName.toLowerCase()&&t.width&&(r=this.textWidth=T(t.width)),v(this.styles,t),r&&!h&&this.renderer.forExport&&delete t.width;let e=C(t);o.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(o,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*w(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,o="SPAN"===t.nodeName&&i.parentGroup||void 0,r,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=w(e,this.rotation,0),f=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=r&&!t?c[r]:i)||i.polygon){if(u||h.forExport){try{o=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},k(o)&&o("none"),i=n.getBBox?v({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},k(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},`+Math.round(s)]||s);e={bBox:i=g?this.getRotatedBox(i,g):i};b(this,"afterGetBBox",e),i=e.bBox}if(r&&(""===d||0[t-t*g,t*f]),C=i+d*(o-m)+b+M+c*y,A=C+m,w=A-r*y,T=w-m,P=s+c-d*x-S+k+c*v,O=P+x,E=O-r*v,L=E-x,D=Math.min(C,A,w,T),j=Math.min(P,O,E,L),B=Math.max(C,A,w,T)-D,I=Math.max(P,O,E,L)-j;return{x:D,y:j,width:B,height:I,polygon:[[C,P],[A,O],[w,E],[T,L]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},b(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=o(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(M(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=C(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;D.symbolCustomAttribs.forEach(function(t){i[t]=w(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=O(w(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+w(o,e.getAttribute("x"),0)+" "+w(r,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+w(a,1)+" "+w(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,u;if(y(t)?(r.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;0<=u&&!d;u--)c=!y(l=(h=n[u]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:r,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&r(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!r(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var o=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||o).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-o.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}o=this.getCrispAdjust(),e.x=o,e.y=(this.baseline?-this.baselineOffset:0)+o,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);r(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:b,isNumber:d,pick:S}=t;function o(g,f,m,x,y){let v=[];if(y){let t=y.start||0,e=S(y.r,m),i=S(y.r,x||m),s=2e-4/(y.borderRadius?1:Math.max(e,1)),o=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=u(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),u(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",o=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;o.length;)o.length&&!this.noWrap&&0o.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",u(e,{dy:r,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===o.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===o.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:o={},tagName:r}=e,a=this.renderer.styledMode;if("b"===r||"strong"===r?a?s.class="highcharts-strong":o.fontWeight="bold":"i"!==r&&"em"!==r||(a?s.class="highcharts-emphasized":o.fontStyle="italic"),o&&o.color&&(o.fill=o.color),"br"===r){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===r&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==r&&"a"!==r&&(e.tagName="tspan"),l(e,{attributes:s,style:o}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(o,t,r,a,e,i){function s(t,e){let i=e||t,s=o.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,r?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=r?1:0,u=(t||r||"").length,g=u;if(l.rotation=0,a+(h=s(o.textContent.length))>e){for(;p<=u;)g=Math.ceil((p+u)/2),r&&(n=i(r,g)),h=s(g,n&&n.length-1),p===u?p=u+1:h>e?u=g-1:p=g;0===u?o.textContent="":t&&u===t.length-1||(o.textContent=n||i(t||r,g))}r&&r.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return r(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,o,l,r,a,n){let h,v=t["defaultOptions"],{charts:f,deg2rad:d,doc:m,isFirefox:c,isMS:b,isWebKit:p,noop:u,SVG_NS:g,symbolSizes:x,win:S}=i,{addEvent:k,attr:M,createElement:C,crisp:A,css:w,defined:T,destroyObjectProperties:P,extend:O,isArray:E,isNumber:L,isObject:D,isString:R,merge:j,pick:B,pInt:z,replaceNested:G,uniqueKey:N}=n;class I{constructor(t,e,i,s,o,r,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),M(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&M(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.7")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),h=t.getBoundingClientRect(),w(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=k(S,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&m.getElementsByTagName("base").length&&(T(h)||(t=N(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body),w(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=m.elementFromPoint(6,6),h="hitme"===(e&&e.id),m.body.removeChild(t)),h))return G(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=O({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0,g=(o=j(v.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]),o.states||{}),f=o.style||{},m=(delete o.states,delete o.style,[y.filterUserAttributes(o)]),x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(j(m[0],y.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),k(d.element,b?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),k(d.element,b?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(m[t]),t=x[t],D(t)&&d.css(t))},d.attr(m[0]),c||(d.css(O({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=A(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=A(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return E(t)?e.d=t:D(t)&&O(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a,n=(D(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,o,r){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,O(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,M(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,o,r){function a(t){h.attr({href:e}),r.call(h,t)}let n={preserveAspectRatio:"none"},h=(L(t)&&(n.x=t),L(i)&&(n.y=i),L(s)&&(n.width=s),L(o)&&(n.height=o),this.createElement("image").attr(n));if(r){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;k(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,o,d){let r,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof i&&(a=g.call(this.symbols,i||0,s||0,e||0,o||0,d)),r=this.path(a),l.styledMode||r.attr("fill","none"),O(r,{symbolName:u||void 0,x:i,y:s,width:e,height:o}),d&&O(r,d);else if(p){n=t.match(c)[1];let e=r=this.image(n);e.imgwidth=B(d&&d.width,x[n]&&x[n].width),e.imgheight=B(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:r,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&o&&r&&a&&n?(l=Math.min(o/a,r/n),M(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((o||0)-a*l)/2,((r||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),C("img",{onload:function(){let t=f[l.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return r}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),T(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(i,s,t){let o=t.getElementsByTagName("tspan"),r=t.getAttribute(s);for(let t=0,e;tt.align())}}return O(I.prototype,{Element:o,SVG_NS:g,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:r,draw:u}),s.registerRendererType("svg",I,!0),I}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:v,createElement:h,defined:b,extend:r,pInt:l,pushUnique:o}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){o(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=l(o)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),r(this.styles,t),v(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:o,renderer:r,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,u={left:0,center:.5,right:1}[l],g=t.whiteSpace;if(v(o,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===o.tagName){let t=[a,l,o.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(m=this.textPxLength||(v(o,{width:"",whiteSpace:g||"nowrap"}),o.offsetWidth),((f=d||0)>this.oldTextWidth||f{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||o);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(r,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:o,objectEach:e,removeEvent:r}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(r(i,e,i.eventOptions[e]),delete i.eventOptions[e]),o(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(M,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:C,defined:A,destroyObjectProperties:i,extend:w,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:O}=e;return class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=O(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(o?O(o[n],a[n],n):n),v=(r&&P(y)&&(y=C(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:P(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y}),b=(T(this,"labelFormat",v),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),M.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),S=b.call(v,v),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;xg||e.autoRotation&&(h.styles||{}).width)&&(m=g)),m&&(this.shortenLabel?this.shortenLabel():(u.width=Math.floor(m)+"px",(i.style||{}).textOverflow||(u.textOverflow="ellipsis"),h.css(u)))}moveLabel(e,t){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===e?(i.movedLabel=s,r=!0,delete i.label):n(o.ticks,function(t){r||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,r=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),r||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,o=s.horiz,r=this.pos,a=O(this.tickmarkOffset,s.tickmarkOffset),r=this.getPosition(o,r,a,e),a=r.x,n=r.y,h=s.pos,l=h+s.len,o=o?a:n,a=(!s.chart.polar&&this.isNew&&(C(o)A(e,void 0,void 0,B(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);f(u,{xAxis:r,yAxis:C(r,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=B(e.opposite,this.opposite),this.side=B(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),o=i.labels,r=i.type,e=(this.userOptions=e,this.minPixelPadding=0,this.reversed=B(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===r||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=E(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,B(i.crosshair,z(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!E(this.reversed)&&(this.reversed=!0),this.labelRotation=j(o.rotation)?o.rotation:void 0,n(this,i),D(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=C(e,u[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=j(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=u.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=""+this.value;else if(r)p=s.dateFormat(r,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;D(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(r=>{if(r.reserveSpace()){let t=r.options,e,i=t.threshold,s,o;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=r.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),j(i)&&j(s)&&j(o)&&i-s=o,r=(o-i+s)/2,n=[s-r,B(t.min,s-r)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+o,B(t.max,s+o)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=m([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,-1===(s=E(s)?s:this.options.uniqueNames&&i?e?i.indexOf(t.name):B(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(o=i.length):o=s,void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let o=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(o.max=Math.max(o.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=o.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,o=!!s.categories,r=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(r||o||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=o?1:r?B(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!o||(t=t.is("xrange")?!r:r,h=Math.max(h,t&&M(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&o?1:t),r&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,D(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return j(t)&&j(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=j(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:f,softMin:m}=h,x=j(g)&&i[this.coll]?.[g],y=h.tickPixelInterval,v=h.maxPadding,b=h.minPadding,S=0,k,M=j(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,C,A,w,T;if(r||e||x||this.getTickAmount(),w=B(this.userMin,h.min),T=B(this.userMax,h.max),x?(k=(this.linkedParent=x).getExtremes(),this.min=B(k.min,k.dataMin),this.max=B(k.max,k.dataMax),h.type!==x.options.type&&L(11,!0,i)):(l&&E(d)&&j(s)&&j(o)&&(d<=o?(C=d,b=0):s<=d&&(A=d,v=0)),this.min=B(w,C,o),this.max=B(T,A,s)),j(this.max)&&j(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,B(o,this.min))<=0&&L(10,!0,i),this.min=O(n.log2lin(this.min),16),this.max=O(n.log2lin(this.max),16)),this.range&&j(o)&&(this.userMin=this.min=w=Math.max(o,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),j(this.min)&&j(this.max)&&(!j(this.userMin)&&j(m)&&mthis.max&&(this.max=T=f),e||this.axisPointRange||this.stacking?.usePercentage||x||!(S=this.max-this.min)||(!E(w)&&b&&(this.min-=S*b),!E(T)&&v&&(this.max+=S*v)),!j(this.userMin)&&j(u)&&(this.min=Math.max(this.min,u)),!j(this.userMax)&&j(p)&&(this.max=Math.min(this.max,p)),l&&j(o)&&j(s)&&(P=d||0,!E(w)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(E(h.min)?this.max=this.min:E(h.max)&&(this.min=this.max)),S=this.max-this.min),this.min!==this.max&&j(this.min)&&j(this.max)?x&&!M&&y===x.options.tickPixelInterval?this.tickInterval=M=x.tickInterval:this.tickInterval=B(M,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,e?1:S*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),D(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!M&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=B(h.minTickInterval,r&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!M&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],L(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=I(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&j(this.min)&&j(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==r&&i(t)===s&&(o=!0,a.push(t))})}if(o&&s){a.forEach(t=>{t=t.getThresholdAlignment(r);j(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return o}getThresholdAlignment(t){if((!j(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),j(this.threshold)){let t=v((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!E(t.tickInterval)&&!i&&this.lenr.push(O(r[r.length-1]+p)),f=()=>r.unshift(O(r[0]-p));if(j(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&j(s)&&j(i)){var m=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(j(u)&&j(t.threshold)){for(;r[u]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f:g)();if(p>8*t.tickInterval)break;p*=2}m()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){this.series.forEach(t=>{delete t.kdTree}),D(this,"setExtremes",o=f(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(T(B(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(T(B(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(B(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(B(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-e,this.len=Math.max(s?o:r,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?O(t.lin2log(this.min)):this.min,max:t?O(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&r!==1/0&&h&&(e=Math.ceil(h/o)),O(e*o)}let t=this.options.labels,s=t.padding||0,e=this.horiz,o=this.tickInterval,r=this.len/(((this.categories?1:0)+this.max-this.min)/o),a=t.rotation,n=O(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=o,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(j(a)?p=[a]:rg&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",m=i.length;!o&&m--;)(f=r[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=r[t],i=e&&e.label,s=a.width,o={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${o.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(r.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",r.gridZIndex),this.axisGroup=e("axis","",r.zIndex),this.labelGroup=e("axis-labels","-labels",r.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][o]:o,l=e.hasData(),d=s.title,c=s.labels,p=j(s.crossing),u=t.axisOffset,g=t.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,v=0,b=0,S,k;var M;e.showAxis=m=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===o||2===o||{1:"left",3:"right"}[o]===e.labelAlign,B(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){b=Math.max(r[t].getLabelSize(),b)}),e.staggerLines&&(b*=e.staggerLines),e.labelOffset=b*(e.opposite?-1:1)):w(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],v=E(y=d.offset)?0:B(d.margin,i?5:10))),e.renderLine(),e.offset=f*B(s.offset,u[o]?u[o]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},k=0===o?-e.labelMetrics().h:2===o?e.tickRotCorr.y:0,S=Math.abs(b)+v,b&&(S=(S-=k)+f*(i?B(c.y,e.tickRotCorr.y+f*c.distance):B(c.x,f*c.distance))),e.axisTitleMargin=B(y,S),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g&&(M=this.tickSize("tick"),u[o]=Math.max(u[o],(e.axisTitleMargin||0)+x+f*e.offset,S,a&&a.length&&M?M[0]+f*e.offset:0),M=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,g[h]=Math.max(g[h],M)),D(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],o=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],r={x:e?a+l:o+(n?this.width:0)+h+l,y:e?o+d-(n?this.height:0)+h:a+d};return D(this,"afterGetTitlePosition",{titlePosition:r}),r}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new S(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new S(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let s,o,r=this,a=r.chart,n=r.logarithmic,t=a.renderer,e=r.options,i=r.isLinked,h=r.tickPositions,l=r.axisTitle,d=r.ticks,c=r.minorTicks,p=r.alternateBands,u=e.stackLabels,g=e.alternateGridColor,f=e.crossing,m=r.tickmarkOffset,x=r.axisLine,y=r.showAxis,v=k(t.globalAnimation);if(r.labelEdge.length=0,r.overlap=!1,[d,c,p].forEach(function(t){w(t,function(t){t.isActive=!1})}),j(f)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(f,!0);r.horiz&&(t=e.len-t),r.offset=i*t}}if(r.hasData()||i){let i=r.chart.hasRendered&&r.old&&j(r.old.min);r.minorTickInterval&&!r.categories&&r.getMinorTickPositions().forEach(function(t){r.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){r.renderTick(t,e,i)}),m&&(0===r.min||r.single)&&(d[-1]||(d[-1]=new S(r,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(t,e){o=void 0!==h[e+1]?h[e+1]+m:r.max-m,e%2==0&&th&&(!d||r<=l)&&void 0!==r&&c.push(r),r>l&&(a=!0),r=o}else{var p=this.lin2log(h),s=this.lin2log(l),o=d?t.getMinorTickInterval():i.tickInterval,r=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=u(n=g("auto"===o?null:o,this.minorAutoInterval,(s-p)*r/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=r}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:r,extend:s,isNumber:c}=t;{t=e=e||{};let o;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new o(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),r=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&o)for(s&&(d=n.toString()===o.toString(),l=0),h=0;h{f?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),!b&&f.d||!m?.length?f&&(m?(f.show(),f.animate({d:m})):f.d&&(f.hide(),g&&(this.label=g=g.destroy()))):f.attr({d:m}),u&&(M(u.text)||M(u.formatter))&&m?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,o.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=R,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:o,outside:u,pointer:e}=this,{inverted:r,plotLeft:a,plotTop:n,polar:h}=o,{plotX:l=0,plotY:d=0}=t,g={},f=r&&t.h||0,{height:c,width:m}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,v=t=>t*x.scaleY,b=t=>{var e="x"===t;return[t,e?m:c,e?i:s].concat(u?[e?y(i):v(s),e?x.left-p+y(l+a):x.top-p+v(d+n),0,e?m:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+o.plotWidth:n+o.plotHeight])},S=b("y"),k=b("x"),M,C=!!t.negative,A=(!h&&o.hoverSeries?.yAxis?.reversed&&(C=!C),!this.followPointer&&H(t.ttBelow,!h&&!r===C)),w=function(t,e,i,s,o,r,a){var n=u?("y"===t?v:y)(p):p,h=(i-s)/2,l=se?o:o+f)}},T=function(t,e,i,s,o){if(oe-p)return!1;g[t]=o{!1!==w.apply(0,S)?!1!==T.apply(0,k)||M||(P(!0),O()):M?g.x=g.y=0:(P(!0),O())};return(r&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=H(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let o=this,r=h(!o.isHidden&&o.options.animation),a=o.followPointer||1<(o.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(r,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=k(r),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,u=a.styledMode,g={},f=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!S(r)&&r.series&&r.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var r=this.getAnchor(r,t),m=r[0],x=r[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(g=d.getLabelConfig()).points=i):g=d.getLabelConfig(),this.len=i.length;let s=X(c)?v(c,g,a):p.call(g,this),o=d.series;if(this.distance=H(o.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=m,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==o.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(f&&this.tt||{});n.style.width&&!u||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),u||t.attr({stroke:n.borderColor||d.color||o.color||"#666666"}),this.updatePosition({plotX:m,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:r[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}b(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:u,plotLeft:g,plotTop:f,scrollablePixelsY:o=0,scrollablePixelsX:r,styledMode:m},distance:x,options:y,options:{positioner:v},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},b=p.outside&&"number"!=typeof r?R.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},S=p.getLabel(),k=this.renderer||e.renderer,M=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),C=f+h,A,w=u-o;function T(t,e,i,s,o=!0){let r,a;return{x:a=i?(r=M?0:w,N(t-s/2,b.left,b.right-s-(p.outside?l:0))):(r=e-C,N(a=o?t-s-x:t+x,o?a:b.left,b.right)),y:r}}let P=(t=X(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(r,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:u,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:o,series:r}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=k.label("",0,0,y[o?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,o)).attr(t).add(S)}return s.isActive=!0,s.attr({text:i}),m||s.css(y.style).attr({stroke:y.borderColor||e.color||r.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),o=s.width+i.strokeWidth();t&&(A=s.height,w+=A,M&&(C-=A));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:o=0,series:r}=h;var a,n;return i?(t=Math.max(g+s,g),e=f+u/2):({xAxis:a,yAxis:n}=r,t=a.pos+N(s,-x,a.len+x),r.shouldShowTooltip(0,n.pos-f+o,{ignoreX:!0})&&(e=n.pos+o)),{anchorX:t=N(t,b.left-x,b.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=v?v.call(p,o,l,h):T(n,a,t,o),r.push({align:v?0:void 0,anchorX:n,anchorY:a,boxWidth:o,point:h,rank:H(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return r},[]),O=(!v&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return W(t,{target:i,x:e})})),p.cleanSplit(),G(P,w),{left:l,right:l}),{container:E,outside:L,renderer:D}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tO.right&&(O.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:o,point:{isHeader:r}}=t,a={visibility:void 0===o?"hidden":"inherit",x:e,y:(o||0)+C,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(f(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),o&&(e.setState(),h(o,e),o.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),g(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),C(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,o=[],r={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),i.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),e=o.length;e--;)s[t=o[e]]&&r.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&r.plural.push(e)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=m()),this.resolveColor(),t.chart.pointCount++,C(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(A(t)||null===t)r[s[0]]=t;else if(d(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?r.name=t[0]:"number"==a&&(r.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:o}=e,r=0,a=0;if(A(t)&&A(h))return n&&(r=s?s.pos:i.plotLeft,a=o?o.pos:i.plotTop),i.inverted&&s&&o?[o.len-h+a,s.len-t+r]:[t+r,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=w(this.options.colorIndex,a),this.color=w(this.options.color,s)}setNestedProperty(t,o,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?o:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=w(i.valueDecimals,""),o=i.valuePrefix||"",r=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=o||r?e.replace(RegExp(t+"}","g"),o+t+"}"+r):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let o,r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(e);var t=n&&r.hasMockGraphic,t=null===r.y?!t:t;n&&t&&(r.graphic=n.destroy(),delete r.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(r.graphic=n.destroy()),e?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index,a.updateParallelArrays(r,o),l.data[o]=p(l.data[o],!0)||p(e,!0)?r.options:w(e,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=w(i,!0),!1===t?d():r.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=w(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=u(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(f(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=o(this,t,e))}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=k.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=w(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&A(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,w(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));var y=o.halo,v=this.graphic||m,b=v&&v.visibility||"inherit";y&&y.size&&v&&"hidden"!==b&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(v.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+w(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:b,zIndex:-1}),p.point=this,d.styledMode||p.attr(M({fill:this.color||i.color,"fill-opacity":y.opacity},S.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),C(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(r(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,o,e){var i;let v=t["parse"],{charts:g,composed:s,isTouchDevice:r}=o,{addEvent:f,attr:a,css:n,extend:h,find:m,fireEvent:p,isNumber:l,isObject:b,objectEach:d,offset:c,pick:x,pushUnique:u,splat:y}=e;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],o.chartCount||(S.unbindDocumentMouseUp&&S.unbindDocumentMouseUp.forEach(t=>t()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:o}=this,{mouseDownX:r=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=o?1:i.plotHeight,s&&(e=h-r,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),!(10t.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),e=!0));var r;e&&i.redraw(),s&&t&&(this.hasDragged&&(r=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...r},from:r})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:o,yAxis:r}=i.series,a=i.shapeArgs;if(o&&r){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:r.len+r.pos-e,chartY:o.len+o.pos-t}:{chartX:t+o.pos,chartY:e+r.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!r?t:this.findNearestKDPoint(l,o,r));return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=m(t.points,function(t){return t.x===c.x&&!t.isNull});b(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var o=s.pageX-e.left,r=s.pageY-e.top;return h(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),o.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(g[x(S.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){g[x(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:o}=i,r=[].map.call(e.touches||[],t=>i.normalize(t)),a=r.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(r),from:t(o),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=r}reset(e,t){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let o=this.chart,i=o.series,r=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,a=!!r&&r.shared,n=t||o.hoverPoint,h=n&&n.series||o.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==o.hoverPoint||r&&r.isHidden)){if((o.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),o.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!n.series)return;o.hoverPoints=c,(o.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(u?c:n,s)})}else p&&r&&!r.isHidden&&(t=r.getAnchor([{}],s),o.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(o.container.ownerDocument,"mousemove",t=>g[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=o.hoverPoint)&&t.series[e.coll]===e?t:m(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(f(t,"mouseenter",this.onContainerMouseEnter.bind(this)),f(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=[]),S.unbindDocumentMouseUp.push(f(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(f(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(f(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),f(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=f(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),f(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(r){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),f(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=o.charts[x(S.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(S.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&16<=Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}return(i=S=S||{}).compose=function(t){u(s,"Core.Pointer")&&f(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},S}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:v,pick:b}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,b(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,u=a-Math.round(h*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"!==r.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,u],["L",n-x,u]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),m&&!1!==m.enabled&&n){let t=Math.min(b(m.radius,d),d);0===l.indexOf("url")&&(m=v(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,u-t,2*t,2*t,y({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,o){let r=h.plotOptions||{};if(e=e||"",r[t]=c(r[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,o){class p extends a{}l(p.prototype,o),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,o=e.prototype;return o.type=t,o.pointClass||(o.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,l,r,a,d,c){let{animObject:p,setAnimation:u}=t,g=e["defaultOptions"],n=i["registerEventOptions"],{svg:f,win:m}=s,y=a["seriesTypes"],{arrayMax:M,arrayMin:C,clamp:A,correctFloat:w,crisp:x,defined:T,destroyObjectProperties:R,diffObjects:z,erase:v,error:P,extend:b,find:G,fireEvent:O,getClosestDistance:N,getNestedProperty:h,insertItem:S,isArray:E,isNumber:L,isString:W,merge:D,objectEach:k,pick:j,removeEvent:X,splat:H,syncTimeout:B}=c;class I{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(O(this,"init",{options:e}),this),o=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,r=!1!==e.visible,r=(s.linkedSeries=[],s.bindAxes(),b(s,{name:e.name,state:"",visible:r,selected:!0===e.selected}),n(this,e),e.events);(r&&r.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),o.length&&(i=o[o.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,o)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),O(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,o=s.options,t=s.chart;O(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(o[e],0)===t.index||void 0!==o[e]&&o[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),O(this,"afterBindAxes")}updateParallelArrays(i,s,e){let o=i.series,t=L(s)?function(t){var e="y"===t&&o.toYData?o.toYData(i):i[t];o[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(o[t+"Data"],e)};o.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},r||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(r?{}:{color:this.color,fillColor:this.fillColor}),O(this,"afterSetOptions",{options:c}),c}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o,r=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||r.options.chart.colorCount;e||(T(o=j("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||g.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,o;var r=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(r){r=this.chart.get(r);r instanceof l&&(i=r)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=G(n,t)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),-1!==(o=void 0===o&&L(a)?this.xData.indexOf(a,t):o)&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),o=!s&&L(o)&&n[o]&&n[o].touched?void 0:o}updateData(t,e){let o=this.options,r=o.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||L(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==o.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||r&&r.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||r&&r.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=M(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let o=this,r=o.points,a=r&&r.length||0,n=o.options,h=o.chart,l=n.dataSorting,d=o.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=o.pointArrayMap,f=g&&g.length,m=n.keys,x,y,v,b=0,S=1,k;h.options.chart.allowMutatingData||(n.data&&delete o.options.data,o.userOptions.data&&delete o.userOptions.data,k=D(!0,e));var M=(e=k||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(v=h.options.chart.allowMutatingData&&!1!==s&&M&&a&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.boosted?this.updateData(e,i):v)){o.xIncrement=null,o.colorCounter=0,this.parallelArrays.forEach(function(t){o[t+"Data"].length=0});let t=c&&c!(!E(t)||!m&&!L(t[0]));if(L(s)&&L(C))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],u=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,h=a.start,n=!0));t=N([o?p.map(o.log2lin):p],()=>e.requireSorting&&!g&&P(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,O(this,"afterProcessData")}cropData(t,e,i,s){let o=t.length,r,a,n=0,h=o;for(r=0;r=i){n=Math.max(0,r-1);break}for(a=r;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,o=this.pointClass,r=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g=x&&(S[f-r]||u)<=y,c&&p)if(m=g.length)for(;m--;)L(g[m])&&(o[v++]=g[m]);else o[v++]=g;var k={activeYData:o,dataMin:C(o),dataMax:M(o)};return O(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;0<=o&&o{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,O(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=j(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:o}=t,r=(i=y?a-i:i)-s;o?.push(["L",e,Math.abs(r){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],b?a-t[1]:t[1],b?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=A(r.toPixels(j(t.value,e),!0)||0,0,a)}),f&&!this.showLine&&f.hide(),g&&g.hide(),"y"===o&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:o}=(m.reversed&&e.reverse(),t),r=0,a=0,n=m.len,h=x.len;b?(r=i,n=u):(a=i,h=u);var l=[["M",r,a],["L",n,a],["L",n,h],["L",r,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),u=i,y&&(c(d),g&&c(l)),s?(s.animate({d:d}),o?.animate({d:l})):(s=t.clip=v.path(d),g&&(o=t.simpleClip=v.path(l))),f&&t.graph?.clip(s),g&&t.area?.clip(o)})}else this.visible&&(f&&f.show(),g&&g.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||X(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=p(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;O(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,O(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[o]||0)-(e[o]||0)),{point:e[r=Math.floor(a/2)],left:t(e.slice(0,r),i+1,s),right:t(e.slice(r+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let g=this,[f,m]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(g.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!g.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){let r=i.point,a=g.kdAxisArray[s%o],n,h,l=r;p=r,u=(d=e)[f],c=p[f],u=T(u)&&T(c)?u-c:null,c=d[m],d=p[m],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((u&&u*u||0)+c*c)-d,p.distX=T(u)?Math.abs(u)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(r[a]||0)+(y&&r.marker?.radius||0),p=c<0?"left":"right",u=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,o))[x]{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(f?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),O(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=j(e,!0);var g={series:this},f=(this.pointClass.prototype.applyOptions.apply(g,[t]),g.x);if(a=u.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[f]=g.name),p.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==o&&O(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===r.length&&n.splice(t,1),r.splice(t,1),o.options.data.splice(t,1),o.updateParallelArrays(a||{series:o},"splice",[t,1]),a&&a.destroy(),o.isDirty=!0,o.isDirtyData=!0,e&&h.redraw()}let o=this,r=o.data,a=r[t],n=o.points,h=o.chart;u(i,h),e=j(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),j(t,!0)&&r.redraw(e)}!1!==i?O(o,"remove",null,a):a()}update(t,e){O(this,"update",{options:t=z(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=y[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),f=(u=u||r,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&b(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=D(o,{index:(void 0===o.index?i:o).index,pointStart:a?.series?.pointStart??o.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[u].prototype);else{var m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;b(i,y[u].prototype),m?i.hcEvents=m:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),O(this,"afterUpdate"),j(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&O(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&O(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=j(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=j(a[e].opacity,l)),o&&!o.dashstyle&&L(h))for(var d of[o,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&r&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!r:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),o&&(s.isDirtyBox=!0),O(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),O(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){o[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return I.defaultOptions=r,I.types=a.seriesTypes,I.registerType=a.registerSeriesType,b(I.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=I}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,u,g,s,o,r){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],f=o["format"],{addEvent:m,createElement:x,css:y,defined:v,discardElement:b,find:S,fireEvent:k,isNumber:M,merge:C,pick:A,pushUnique:w,relativeLength:T,stableSort:P,syncTimeout:O}=r;class E{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=A(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=C(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=A(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(C(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,A(e,!0)&&i.redraw(),k(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:o,marker:r}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(C(h?this.itemStyle:t)),c?.attr(a({stroke:o||n.color})),p&&p.attr(a(r&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}k(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s},e[v(e.translateY)?"animate":"attr"](h,void 0,()=>{k(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&b(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,o=this.group&&this.group.alignAttr,r=this.clipHeight||this.legendHeight,a=this.titleHeight;o&&(s=o.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:o.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*S?b.height:S))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?A(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&A(e.showInLegend,!v(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),k(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let o=this.chart,r=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!v(i[e])&&(o[l[e]]=Math.max(o[l[e]],o.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*r[e%2?"x":"y"]+A(r.margin,12)+s[e]+(o.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,o,r;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=S(s?t.points:t.points.slice(0).reverse(),function(t){return M(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,r=t.yAxis.top-a.plotTop,o=t.visible?(e?e.plotY:t.yAxis.height)+(r-.3*i):r+t.yAxis.height,n.push({target:o,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},M(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0v&&!1!==c.enabled?(this.clipHeight=m=Math.max(v-20-this.titleHeight-l,0),this.currentPage=A(this.currentPage,1),this.fullHeight=t,f.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=g.length;(!o||i-g[o-1]>m&&(x||i)!==g[o-1])&&(g.push(x||i),o++),y.pageIx=o-1,x&&((f[e-1].legendItem||{}).pageIx=o-1),e===f.length-1&&i+s-g[o-1]>m&&i>g[o-1]&&(g.push(i),y.pageIx=o),i!==x&&(x=i)}),S||(S=s.clipRect=r.clipRect(0,l-2,9999,0),s.contentGroup.clip(S)),e(m),b||(this.nav=b=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol("triangle",0,0,u,u).add(b),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=r.text("",15,10).addClass("highcharts-legend-navigation"),!o.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(b),this.down=r.symbol("triangle-down",0,0,u,u).add(b),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=v):b&&(e(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>o?o:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),O(()=>{k(this,"afterScroll",{currentPage:l})},d(A(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,o=i.legendItem||{},r=s.chart.renderer.boxWrapper,a=i instanceof g,n=i instanceof u,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,o.symbol]:[o.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&r.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(C(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),i.setState()}).on("click",function(t){r.removeClass(h),k(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&k(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),m(e.checkbox,"click",function(t){t=t.target;k(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=E=E||{}).compose=function(t){w(h,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},E}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,z,a,G,N,W,X,u,o,c,H){let{animate:n,animObject:F,setAnimation:f}=t,{defaultOptions:h,defaultTime:Y}=e,U=i["numberFormat"],g=z["registerEventOptions"],{charts:p,doc:m,marginNames:l,svg:V,win:r}=a,d=W["seriesTypes"],{addEvent:x,attr:y,createElement:v,css:b,defined:C,diffObjects:S,discardElement:_,erase:Z,error:k,extend:A,find:M,fireEvent:w,getStyle:T,isArray:q,isNumber:P,isObject:K,isString:O,merge:E,objectEach:L,pick:D,pInt:$,relativeLength:j,removeEvent:B,splat:I,syncTimeout:J,uniqueKey:Q}=o;class R{static chart(t,e,i){return new R(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(O(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:D(t.zoomType,e.type),key:D(t.zoomKey,e.key),pinchType:D(t.pinchType,e.pinchType),singleTouch:D(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:E(e.resetButton,t.resetZoomButton)}}init(i,s){w(this,"init",{args:arguments},function(){var t=E(h,i),e=t.chart;this.userOptions=A({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new u(i.time):a.time,this.numberFormatter=e.numberFormatter||U,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,g(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),w(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],o=(s||k(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],o=this.options[t]=I(this.options[t]).slice(),r=this.userOptions[t]=this.userOptions[t]?I(this.userOptions[t]).slice():[];if(this.hasRendered&&(o.splice(i),r.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)),!i.ignoreY&&g.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+u:a+u)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(g.isInsidePlot=!1)),w(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){w(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&w(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){w(t,"afterSetExtremes",A(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),w(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),w(this,"redraw"),w(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let o=M(this.axes,s)||M(this.series,s);for(let t=0;!o&&t(t.getPointsCollection().forEach(t=>{D(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=E(this.options[i],t),o=this[i];o&&t&&(this[i]=o=o.destroy()),e&&!o&&((o=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||o.css(A("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=o)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",o="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var r;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,r=Math.round(e.getBBox(i.useHTML).height),e.align(A({y:"bottom"===s?t:o+t,height:r},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+r):"bottom"===s&&(a[2]=Math.ceil(a[2]+r))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,w(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0}}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox();this.chartWidth=Math.max(0,e||i.width||600),this.chartHeight=Math.max(0,j(t,this.chartWidth)||(1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(r,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,f(i,s);var i=o.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:r=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:b)(s.container,{width:t+r+"px",height:e+a+"px"},i),s.setChartSize(!0),o.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,w(s,"resize"),setTimeout(()=>{s&&w(s,"endResize")},F(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),w(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){w(this,"resetMargins");let o=this,r=o.options.chart,t=r.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=r[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){o[i][e]=D(r[i+t],s[e])})}),l.forEach(function(t,e){o[t]=D(o.margin[e],o.spacing[e])}),o.axisOffset=[0,0,0,0],o.clipOffset=[e,e,e,e],o.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,v,b,S,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),o?v=b=m.strokeWidth():(b=(v=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(v||m["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=v),m.attr(S).shadow(t.shadow)),m[k]({x:b/2,y:b/2,width:i-b-v%2,height:s-b-v%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](u),o||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,w(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,o=this,r=o.options.chart,a=o.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[r.type],s=r[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);o[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(O(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=D(e.options.visible,t.options.visible,e.visible))}}),w(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(var l of(this.setTitle(),w(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){r=d.tickLength,l.createGroups();let t=new H(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),r=e&&D(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):r){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||1(h?1:1.1),n=g/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=E(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(r.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,o=i.container,r=o&&o.parentNode;for(w(i,"destroy"),i.renderer.forExport?Z(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),B(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),o&&(o.innerHTML=c.emptyHTML,B(o),r&&_(o)),L(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),q(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),w(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),w(this,"load"),w(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),w(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),b(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:o,selection:r,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:u,len:g,minPointOffset:f=0,options:m,reversed:x}=p,y=u?"width":"height",v=u?"x":"y",b=D(a[y],p.len),y=D(i[y],p.len),S=Math.abs(b)<10?1:b/y,y=(i[v]||0)+y/2-p.pos,v=y-((a[v]??p.pos)+b/2-p.pos)/S,b=x&&!h||!x&&h?-1:1;if(o||!(y<0||y>p.len)){let t=p.toValue(v,!0)+(r?0:f*b),e=p.toValue(v+g/S,!0)-(!r&&f*b||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==S&&!o&&"yAxis"===p.coll&&!i){for(var k of p.series){k=k.getExtremes(k.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(k.dataMin)&&P(k.dataMax)&&(i.dataMin=Math.min(k.dataMin,i.dataMin),i.dataMax=Math.max(k.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:g,max:f}=A(p.getExtremes(),i||{}),b=x??m.min,x=y??m.max,y=e-t,M=p.categories?0:Math.min(y,x-b),b=b-M*(C(m.min)?0:m.minPadding),x=x+M*(C(m.max)?0:m.maxPadding),M=p.allowZoomOutside||1==S||"zoom"!==n&&1m&&(e=m,1<=S&&(t=e-y)),(o||p.series.length&&(t!==g||e!==f)&&t>=b&&e<=m)&&(r?r[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(o?void 0:t,o?void 0:e,!1,!1,{move:v,trigger:n,scale:S}),!o&&(t>b||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return A(R.prototype,{callbacks:[],collectionsWithInit:{xAxis:[R.prototype.addAxis,[!0]],yAxis:[R.prototype.addAxis,[!1]],series:[R.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),R}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let A=t["stop"],s=e["composed"],{addEvent:u,createElement:g,css:w,defined:T,merge:f,pushUnique:o}=i;function r(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){o(s,this.compose)&&(u(t,"afterInit",a),u(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),u(e,"render",r),u(i,"show",a))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=f(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=f(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),T(o)&&!e.skipAxes))for(var c of t.axes)c.horiz===o&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),o=t.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),w(i.renderTo,{overflow:"visible"}),u(i,"afterShowResetZoom",r),u(i,"afterApplyDrilldown",r),u(i,"afterLayOutTitles",r),u(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+u,y=(e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),A(t.container),w(n,{width:m+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),w(s,{width:r+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*g,s.scrollTop=u*f),d-o[0]-1),v=l-o[3]-1,b=d+h+o[2]+1,S=l+c+o[1]+1,k=l+c-p,M=d+h-u,C=[["M",0,0]];p?C=[["M",0,y],["L",l-1,y],["L",l-1,b],["L",0,b],["Z"],["M",k,y],["L",r,y],["L",r,b],["L",k,b],["Z"]]:u&&(C=[["M",v,0],["L",v,d-1],["L",S,d-1],["L",S,0],["Z"],["M",v,M],["L",v,a],["L",S,a],["L",S,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:C})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let r=t["format"],g=e["series"],{destroyObjectProperties:s,fireEvent:f,isNumber:m,pick:x}=i;return class{constructor(t,e,i,s,o){var r=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,o=t?r(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=i.renderer.label(o,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:o,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,f(this,"afterRender")}setOffset(t,e,o,r,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:o,boxTop:r,defaultX:i,xAxis:s}),u=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))?i:!1)&&g.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=m(h.x)&&m(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}f(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||m(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,w,s){let a=t["getDeferredAnimation"],{prototype:o}=i["series"],{addEvent:r,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:O,isNumber:l,objectEach:d,pick:E}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,E(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function u(){this.stacking||(this.stacking=new v(this))}function g(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function f(){let r,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,o;for(;e--;)i=h[e],r=a.getStackIndicator(r,i,a.index,t),(o=(s=n[t]?.[i])?.points[r.key||""])&&l.call(a,o,s,e)})}function m(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}return{compose:function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(r(t,"init",u),r(t,"destroy",p),s.getStacks=c,o.getStackIndicator=g,o.modifyStacks=f,o.percentStacker=m,o.setGroupedPoints=x,o.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:m,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,o=s?"animate":"attr",r=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},r?i.dashstyle=r:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[o](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],u=[],g,f=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&t&&(f=4-f),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,o=t.plotY,r=n[e-1],a=t.isNull||"number"!=typeof o;(t.leftCliff||r&&r.rightCliff)&&!l&&(g=!0),g=a&&!m(h)&&0{let i={},s=t.fillColor||n.fillColor,o=t.area,r=o?"animate":"attr";o?(o.endX=this.preventGraphAnimation?null:a.xMap,o.animate({d:a})):(i.zIndex=0,(o=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,o.css({pointerEvents:this.stickyTracking?"none":"auto"})),o[r](i),o.startX=a.xMap,o.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],o=p&&x[s.x].points[m],r=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||r?(n=(r?o[0]:o[1])+a,h=o[0]+a,l=!!r):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(f.push({plotX:c,plotY:null===n?v:u.getThreshold(n),isNull:l,isCliff:!0}),g.push({plotX:c,plotY:null===h?v:u.getThreshold(h),doCurve:!1}))}let c,s,o,t=S.prototype.getGraphPath,e=this.options,p=e.stacking,u=this.yAxis,g=[],f=[],m=this.index,x=u.stacking.stacks[this.stackKey],y=e.threshold,v=Math.round(u.getThreshold(e.threshold)),r=k(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=b.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,b}getStackPoints(e){let d=this,s=[],c=[],o=this.xAxis,p=this.yAxis,u=p.stacking.stacks[this.stackKey],g={},f=p.series,m=f.length,x=p.options.reversedStacks?1:-1,y=f.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(r,a){let e=0,n,h;if(g[r]&&!g[r].isNull)s.push(g[r]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=u[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,o=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof r.x){let e=t[r.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),o=t.length}}}),s=this.xAxis.reversed?o-1-s:s;var n=(o-1)*a.paddedWidth+e;t=(r.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,u=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(u.borderWidth,t?0:1),g=c.xAxis,f=c.yAxis,m=u.threshold,x=P(u.minPointLength,5),y=c.getColumnMetrics(),v=y.width,b=c.pointXOffset=y.offset,S=c.dataMin,k=c.dataMax,M=c.translatedThreshold=f.getThreshold(m),C=c.barW=Math.max(v,1+2*e);u.pointPadding&&(C=Math.ceil(C)),o.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,M),i=999+Math.abs(e),s=t.plotX||0,o=A(t.plotY,-i,f.len+i),r,a=Math.min(o,e),n=Math.max(o,e)-a,h=v,l=s+b,d=C;x&&Math.abs(n)x?e-x:M-(r?x:0)),w(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-v)/2)),u.centerInCategory&&!u.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[A(f.len+f.pos-p.plotLeft-o,f.pos-p.plotLeft,f.len+f.pos-p.plotLeft),g.len+g.pos-p.plotTop-l-d/2,n]:[g.left-p.plotLeft+l+d/2,A(o+f.pos-p.plotTop,f.pos-p.plotTop,f.len+f.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?M:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=P(t&&t.opacity,i.opacity,1),g=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&f(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,u=P(a.opacity,u)),{fill:l,stroke:d,"stroke-width":p,opacity:u});return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let r,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,o=i&&n.pointCountt?.enabled)}function a(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===L(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||L(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();var f,m,x,y,v;u&&g&&(f=e.getBBox(),m=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=b({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),b(i,{width:f.width,height:f.height}),v=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,v),e.align(S(i,{width:m.width,height:m.height}),!1,s,!1),e.alignAttr.x+=x*(m.width-f.width),e.alignAttr.y+=y*(m.height-f.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(f.width-m.width)/2,y:e.alignAttr.y+(f.height-m.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,f,s,o):L(i.crop,!0)&&({x:t,y:v}=e.alignAttr,u=r.isInsidePlot(t,v,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+f.width-1,v+f.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})),o&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let b,S=(t=t||this.points,this),k=S.chart,M=S.options,C=k.renderer,{backgroundColor:e,plotBackgroundColor:i}=k.options.chart,A=C.getContrast(O(i)&&i||O(e)&&e||"#000000"),s=g(S),{animation:o,defer:r}=s[0],a=r?n(k,o,S):{defer:0,duration:0};P(this,"drawDataLabels"),S.hasDataLabels?.()&&(b=this.initDataLabels(a),t.forEach(y=>{let v=y.dataLabels||[],t=(h(u(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(f=x.operator,m=y[x.property],x=x.value,">"===f&&x="===f&&x<=m||"<="===f&&m<=x||"=="===f&&m==x||"==="===f&&m===x||"!="===f&&m!=x||"!=="===f&&m!==x)),{backgroundColor:s,borderColor:o,distance:r,style:a={}}=t,n,h,l,d,c={},p=v[e],u=!p,g;var f,m,x;i&&(h=L(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?w(h,n,k):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,k.styledMode||(a.color=L(t.color,a.color,O(S.color)?S.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(g=s),y.contrastColor=C.getContrast("auto"!==g&&g||y.color||S.color),a.color=g||!T(r)&&t.inside||D(r||0)<0||M.stacking?y.contrastColor:A):delete y.contrastColor,M.cursor&&(a.cursor=M.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},k.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===o?y.color:o,c["stroke-width"]=t.borderWidth),E(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,u=!0),i&&T(l)&&(p?c.text=l:(p=C.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),k.styledMode||p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(b),S.alignDataLabel(y,p,t,void 0,u),p.isActive=!0,v[e]&&v[e]!==p&&v[e].destroy(),v[e]=p))}),v.length);for(;t--;)v[t]&&v[t].isActive?v[t].isActive=!1:(v[t]?.destroy(),v.splice(t,1));y.dataLabel=v[0],y.dataLabels=v})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&0<=g?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&0<=f?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function u(e,i){let t=[],s;if(o(e)&&!o(i))t=e.map(function(t){return S(t,i)});else if(o(i)&&!o(e))t=i.map(function(t){return S(e,t)});else if(o(e)||o(i)){if(o(e)&&o(i))for(s=Math.max(e.length,i.length);s--;)t[s]=S(e[s],i[s])}else t=S(e,i);return t}function g(t){var e=t.chart.options.plotOptions;return h(u(u(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function f(t,e,i,s,o){var r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?o.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var o;let r=t["composed"],c=i["series"],{merge:p,pick:u,pushUnique:a}=s;return(o||(o={})).compose=function(t){e.compose(c),a(r,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},o;function n(t,e,i,s,o){var r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=u(t.below,t.plotY>u(this.translatedThreshold,a)),d=u(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:o}=e.seriesTypes,{addEvent:r,extend:a,merge:n}=i;class h extends o{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,o,r;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),r=h[t+"Axis"],s=l[t]*r.transA,r&&!r.logarithmic&&(o=Math.max(0,(a[i]||0)-s),r=Math.min(r.len,(a[i]||0)+s),a[i]=o+(r-o)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(o.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(r[0],"50%"),x(r[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,o,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;o(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:o}=e,r=this["series"],[a,n,h]=r.center,l=h/2,{plotLeft:d,plotWidth:c}=r.chart,p="left"===t.alignment,{x:u,y:g}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",u,g]];return(p?f<=u&&f>=s.x:f>=u&&f<=s.x)&&m.push(["L",f,g]),m.push(["L",s.x,s.y],["L",o.x,o.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:v,merge:p,pick:u}=h;class g extends r{animate(t){let s=this,e=s.points,o=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:o,end:o}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var o=this.center,i=this.radii?this.radii[i.index]||0:o[2]/2,r=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-o[1])/(i+r),-1,1));return o[0]+Math.cos(t)*(i+r)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}v(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function d(t,e){var{center:i,options:s}=this,o=i[2]/2,r=t.angle||0,a=Math.cos(r),r=Math.sin(r),n=i[0]+a*o,i=i[1]+r*o,o=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+r*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*o,y:i+r*o},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,r=Math.round(a.chartWidth/3),v=f.center,b=v[2]/2,n=v[1],h=[[],[]],S=[0,0,0,0],k=f.dataLabelPositioners,l,M,C,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(o=>{(o.dataLabels||[]).forEach((t,e)=>{var i=v[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[o.half].push(o),!A(s?.style?.width)&&t.getBBox().width>r&&(t.css({width:Math.round(.7*r)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(o,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,o;t&&(f.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,o=s?.natural.y||0,r=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=o,d="inherit";if(s){if(g&&A(i)&&0m-r&&0===u&&(t=Math.round(h+M-m+r),S[1]=Math.max(t,S[1])),l-C/2<0?S[0]=Math.max(Math.round(-l+C/2),S[0]):l+C/2>x&&(S[2]=Math.max(Math.round(l+C/2-x),S[2])),s.sideOverflow=t}}})}))}),0!==u(S)&&!this.verifyDataLabelOverflow(S)||(this.placeDataLabels(),this.points.forEach(r=>{(r.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},o=t.dataLabelPosition;s&&(l=t.connector,o&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return a||(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h(r,o,e[2]-Math.max(t[0],t[2])):(r=h(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;o(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=o.labelrank{a(t,t=>{t.label&&o.push(t.label)})});for(var i of s.series||[]){var r;i.visible&&i.hasDataLabels?.()&&((r=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(r&&(s-=f),o+=f),m(g,{brBoxHeight:o,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,o={}){let r=C(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(o=M(c,c-u),f[0]-=o,m[0]+=o,x[1]=k[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function r(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,o)},this),l(...o.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,o=o.toString()||void 0;e=s&&s.ruleIds;o!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,o,r,a,n,h,l,d,c,p,u,g,f,m,x,y,v,b,S,k,M,C,A,w,T,P,O,E,L,D,j,B,I){return t.AST=r,t.Axis=p,t.Chart=k,t.Color=B,t.DataLabel=E,t.Fx=s,t.HTMLElement=c,t.Legend=b,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||L,t.PlotLineOrBand=f,t.Point=y,t.Pointer=v,t.RendererRegistry=n,t.Series=w,t.SeriesRegistry=T,t.StackItem=A,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=I,t.Tooltip=x,t.animate=o.animate,t.animObject=o.animObject,t.chart=k.chart,t.color=B.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=o.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=o.setAnimation,t.setOptions=i.setOptions,t.stop=o.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),E.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),b.compose(t.Chart),g.compose(t.Axis),L.compose(t.Chart),O.compose(t.Series.types.pie),f.compose(t.Axis),v.compose(t.Chart),j.compose(t.Chart),M.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Series/DataModifyComposition.js",[t["Core/Axis/Axis.js"],t["Core/Series/Point.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,e,i,s){var o;let r=e.prototype["tooltipFormatter"],{addEvent:a,arrayMax:n,arrayMin:h,correctFloat:l,defined:d,isArray:c,isNumber:p,isString:u,pick:g}=s;{function f(e,i,t){this.isXAxis||(this.series.forEach(function(t){"compare"===e&&"boolean"!=typeof i?t.setCompare(i,!1):"cumulative"!==e||u(i)||t.setCumulative(i,!1)}),g(t,!0)&&this.chart.redraw())}function m(e){function t(t){e=e.replace("{point."+t+"}",(0{delete t.change}):this.dataModify.initCompare(t)}function b(){if(this.xAxis&&this.processedYData&&this.dataModify){let t=this.processedXData,e=this.processedYData,i=e.length,s=!0===this.options.compareStart?0:1,o=-1,r;for(this.pointArrayMap&&(o=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),r=0;r=(this.xAxis.min||0)){this.dataModify.compareValue=a;break}}}}function S(t,e){this.setModifier("compare",t,e)}function k(t,e){t=g(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},g(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function M(t,e){this.setModifier("cumulative",t,e)}(e=o=o||{}).compose=function(t,e,i){let s=e.prototype,o=i.prototype,r=t.prototype;return r.setCompare||(r.setCompare=v,r.setCumulative=k,a(t,"afterInit",x),a(t,"afterGetExtremes",y),a(t,"afterProcessData",b)),s.setCompare||(s.setCompare=S,s.setModifier=f,s.setCumulative=M,o.tooltipFormatter=m),t};class C{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let i=1/0,s=-1/0;return t.reduce((t,e)=>{e=t+e;return i=Math.min(i,e,t),s=Math.max(s,e,t),e}),[i,s]}initCompare(s){this.modifyValue=function(e,i){var t=this.compareValue;if(void 0===(e=null===e?0:e)||void 0===t)return 0;if("value"===s?e-=t:e=e/t*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}}initCumulative(){this.modifyValue=function(s,o){if(void 0===(s=null===s?0:s)||void 0===o)return 0;{var r=0=this.series.xAxis.min;return t&&(t.cumulativeSum=!e||i?s:void 0),s}}}}e.Additions=C}return o}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let o,i=t["isTouchDevice"],{addEvent:r,merge:a,pick:n}=s,h=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,o=this.navigator;var r,a;o&&(t=s&&s.options,e=o.xAxis,i=o.yAxis,{scrollbarHeight:r,scrollButtonSize:a}=o,this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new o(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new o(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function f(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(h,e)){let t=e.prototype;o=i,t.callbacks.push(g),r(e,"afterAddSeries",l),r(e,"afterSetChartSize",d),r(e,"afterUpdate",c),r(e,"beforeRender",p),r(e,"beforeShowResetZoom",u),r(e,"update",f)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:h,defined:c,isNumber:l,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function o(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;var l;this.isXAxis&&(o?.enabled||n?.enabled)&&("y"===h&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===h||d&&"xy"===a)&&this.options.range&&(l=r.previousZoom,c(t.min)?r.previousZoom=[this.min,this.max]:l&&(t.min=l[0],t.max=l[1],r.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class r{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=h(a+r)),c(s)||(n=h(n-r)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=h(a+r)),c(s)||(n=h(n-r)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,o={}){var i=o.width?o.width/2:i,r=n(o.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:r})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i,a,n){let h=t["setOptions"],l=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:u,pushUnique:g}=n;function f(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(l,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,r),p(i,"afterUpdate",f),h({navigator:o}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let o=t["composed"],{addEvent:r,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function h(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function l(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),r(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:o,scrollMin:r,scrollMax:a}=c(n),a=a-r;d(s)&&d(o)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=r+a*this.to,r+a*this.from):(e=r+a*(1-this.from),r+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:o}=c(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,h=this.options.margin||0;var l;r&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(n[1]+=h),1):(this.opposite&&(n[0]+=a),l=r.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:h):this.opposite?0:h,r.position(l,this.top,this.width,this.height),this.opposite&&(n[0]+=h),0),n[t]+=r.size+(r.options.margin||0),isNaN(s)||isNaN(o)||!d(this.min)||!d(this.max)||this.min===this.max?r.setRange(0,1):(e=(this.min-s)/(o-s),i=(this.max-s)/(o-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,i):r.setRange(1-i,1-e)))}t.compose=function(t,e){n(o,"Axis.Scrollbar")&&(i=e,r(t,"afterGetOffset",h),r(t,"afterInit",l),r(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["defaultOptions"],{addEvent:h,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:l,merge:p,pick:u,removeEvent:g}=o;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,o=this.scrollbarButtons,r=this.options,a=this.size,n=s.g().add(this.group);if(o.push(n),r.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:r.buttonBorderRadius},t.strokeWidth())),s.path(f.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(o[i]));this.chart.styledMode||e.attr({fill:r.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,r),y:-a(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var o,r=this.options,a=r.vertical,n=r.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(o=h*Math.min(e,1),i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=d(o-i),ss||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,h=a.chart,e=h.inverted,l=h.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=l.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));h.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:o,width:r}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]?i!==a.handles[t].symbolName&&(e=p[i].call(p,-r/2-1,0,r,o),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]=l.symbol(i,-r/2-1,0,r,o,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c)),h.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(o+r)/2}),h.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-r/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(S(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),C(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var o;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{P(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,o=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:o,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,v;if(!this.hasDragged||C(i)){if(this.isDirty&&this.renderElements(),t=M(t-a/2),e=M(e+a/2),!w(t)||!w(e)){if(!l)return;i=0,s=T(r.width,n.width)}this.left=T(r.left,o.plotLeft+u+(d?o.plotWidth:0));var b=this.size=y=T(r.len,(d?o.plotHeight:o.plotWidth)-2*u),t=(g=d?x:y+2*u,i=T(i,r.toPixels(t,!0)),s=T(s,r.toPixels(e,!0)),w(i)&&Math.abs(i)!==1/0||(i=0,s=g),r.toValue(i,!0)),e=r.toValue(s,!0),S=((S=Math.abs(M(e-t)))p&&(this.grabbedLeft?i=r.toPixels(e-p-a,!0):this.grabbedRight&&(s=r.toPixels(t+p+a,!0))),this.zoomedMax=k(Math.max(i,s),0,b),this.zoomedMin=k(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,b),this.range=this.zoomedMax-this.zoomedMin,b=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),v=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,b,d,v),this.drawOutline(S,b,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,v),this.drawHandle(b,1,d,v))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,A(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],o,r;e.mouseMoveHandler=o=function(t){e.onMouseMove(t)},e.mouseUpHandler=r=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(y(t.renderTo,"mousemove",o),y(i.ownerDocument,"mouseup",r),y(t.renderTo,"touchmove",o),y(i.ownerDocument,"touchend",r)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(y(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let o=this,r=[];return["shades","handles"].forEach(function(i){o[i].forEach(function(t,e){r.push(y(t.element,s,function(t){o[i+"Mousedown"](t,e)}))})}),r}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-o):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,C((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&A(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&T(e.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),C((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&A(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&w(this.zoomedMin)&&w(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){P(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&P(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},o=s.enabled,r=i&&e.height||0,a=o&&s.height||0,h=s.buttonsEnabled&&a||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=o,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,p=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,l.navigatorEnabled?(g=this.getXAxisOffsets(),l.xAxis=new f(n,S({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:r}:{offsets:g,height:r}),"xAxis"),l.yAxis=new f(n,S(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:T(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||e.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=y(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,o){let r=this,a=r.chart,n=r.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=r.series=(r.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(P(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=r.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=v({color:t.color,visible:t.visible},b(p)?g.navigator.series:p);var s;e&&!1===r.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(c=S(d,h,i,u)).pointRange=T(i.pointRange,u.pointRange,g.plotOptions[c.type||"line"].pointRange),s=u.data||i.data,r.hasNavigatorData=r.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,o):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!b(p)||(r.hasNavigatorData=!1,(p=O(p)).forEach((t,e)=>{h.name="Navigator "+(l.length+1),(c=S(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},h,t)).data=t.data,c.data&&(r.hasNavigatorData=!0,l.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(y(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(y(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(y(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(y(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),C(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=T(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&w(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=T(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!w(i)||!w(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,p,u,e){var i;let{addEvent:o,correctFloat:l,css:v,defined:b,error:S,isNumber:s,pick:k,timeUnits:M,isString:r}=e;{var a=i=i||{};function n(t,e,l,i,s=[],o=0,r){let d={},c=this.options.tickPixelInterval,a=this.chart.time,n=[],h,p,u,g,f,m=0,x=[],y=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var v=s.length;for(h=0;hl,s[h]5*o||f){if(s[h]>y){for(p=a.getTimeTicks(t,s[m],s[h],i);p.length&&p[0]<=y;)p.shift();p.length&&(y=p[p.length-1]),n.push(x.length),x=x.concat(p)}m=h+1}if(f)break}if(p){if(g=p.info,r&&g.unitRange<=M.hour){for(m=1,h=x.length-1;mt-e),(a=i[Math.floor(i.length/2)])<.6*c&&(a=null),h=x[t-1]>l?t-1:t,r=void 0;h--;)n=Math.abs(r-(o=e[h])),r&&n<.8*c&&(null===a||n<.8*a)?(d[x[h]]&&!d[x[h+1]]?(s=h+1,r=o):s=h,x.splice(s,1)):r=o}return x}function h(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,o=e.getExtendedPositions();if(o&&o.length){var r,a,n=l((t-i)*s+this.minPixelPadding),n=l(e.getIndexOfPoint(n,o)),h=l(n%1);if(0<=n&&n<=o.length-1)return r=o[Math.floor(n)],a=o[Math.ceil(n)],o[Math.floor(n)]+h*(a-r)}return t}function c(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function f(){var{eventArgs:t,options:e}=this;this.isXAxis&&b(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&b(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function m(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function x(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function y(t){let f=this.xAxis[0],m=f.ordinal.convertOverscroll(f.options.overscroll),x=t.originalEvent.chartX,e=this.options.chart.panning,y=!1;if(e&&"y"!==e.type&&f.options.ordinal&&f.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=f.getExtremes(),o=s.dataMin,r=s.dataMax,a=s.min,n=s.max,h=this.hoverPoints,l=f.closestPointRange||f.ordinal&&f.ordinal.overscrollPointsRange,d=Math.round((i-x)/(f.translationSlope*(f.ordinal.slope||l))),c=f.ordinal.getExtendedPositions(),p={ordinal:{positions:c,extendedOrdinalPositions:c}},u=f.index2val,g=f.val2lin;if(a<=o&&d<0||r<=n+m&&0(e=p.ordinal.positions)[e.length-1]&&e.push(r),this.setFixedRange(n-a),(t=f.navigatorAxis.toFixedRange(void 0,void 0,u.apply(p,[g.apply(p,[a,!0])+d]),u.apply(p,[g.apply(p,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(r,n)+m&&f.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=x,v(this.container,{cursor:"move"})):y=!0}else y=!0;y||e&&/y/.test(e.type)?m&&(f.max=f.dataMax+m):t.preventDefault()}function C(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function A(t,e){let i,s=this.ordinal,o=s.positions,r=s.slope,a;if(!o)return t;var n=o.length;if(o[0]<=t&&o[n-1]>=t)i=c(o,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,h=(r=r||(a[n-1]-a[0])/n,c(a,o[0]));if(t>=a[0]&&t<=a[n-1])i=c(a,t)-h;else{if(!e)return t;i=tl||o-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===n?f=g[1]-g[0]:1===n?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=k(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{var e=t.points?.[0];b(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,o=e.x)}),i=i??s.minPixelPadding;var r=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=l((t-i)/r);return w.findIndexOf(e,o,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],o=t.dataMax;if(b(i))for(;o<=t.dataMax+e;)s.push(o+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return k(i.originalOrdinalRange,b(s.dataMax)&&b(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var o;return r(t)?(o=parseInt(t,10),/%$/.test(t)?e(o/100):/px/.test(t)?e((o=Math.min(o,.9*s.len)/s.len)/(1-o)):0):t}}a.Additions=w}return i}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let r,o=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:h,extend:l,isNumber:d,merge:c,pick:p,pushUnique:u}=i,g=[];function f(){function t(t,e){let i="year"===r?"FullYear":"Month",s=new a.Date(t),o=a.get(i,s);return a.set(i,s,o+e),o===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,r=s.type,o=this.max,a=this.chart.time;d(s)?(e=o-s,i=s):s&&(e=o+t(o,-(s.count||1)),this.chart&&this.chart.setFixedRange(o-e));var n=p(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,p(this.dataMax,Number.MAX_VALUE))),d(o)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function m(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new r(this))}function x(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function y(){let s,o=this.rangeSelector;if(o){let t=this.xAxis[0].getExtremes(),e=this.legend,i=o&&o.options.verticalAlign;d(t.min)&&o.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=c(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=o.getHeight(),e.group.placed=!1,e.align(s))}}function v(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function b(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function S(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;e&&e.enabled&&!h(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new r(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o&&(t=e&&e.verticalAlign||o.options&&o.options.verticalAlign,o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(r=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=f,n(i,"afterGetContainer",m),n(i,"beforeRender",x),n(i,"destroy",v),n(i,"getMargins",b),n(i,"redraw",y),n(i,"update",S),t.callbacks.push(y),l(o,{rangeSelector:s.rangeSelector}),l(o.lang,s.lang)}}}}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(y,t,m,i,s,e,w){let T=t["defaultOptions"],{addEvent:v,createElement:x,css:P,defined:b,destroyObjectProperties:o,discardElement:r,extend:S,fireEvent:k,isNumber:O,merge:M,objectEach:a,pad:n,pick:C,pInt:h,splat:A}=e;class l{static compose(t,e){i.compose(t,e,l)}constructor(t){this.buttonOptions=l.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,h=r.dataMin,l=r.dataMax,d,c=o&&Math.round(Math.min(o.max,C(l,o.max))),p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,y.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=o.minFromRange.call(f),O(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)c=Math.min((d=Math.max(c-u,h))+u,l),x=!1;else if("ytd"===a){if(!o)return void(this.deferredYTDClick=t);void 0!==l&&void 0!==h||(h=Number.MAX_VALUE,l=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(h=Math.min(t[0],h),l=Math.max(t[t.length-1],l))}),e=!1),d=g=(m=this.getYTDExtremes(l,h,i.time.useUTC)).min,c=m.max}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&b(d)&&(d+=s._offsetMin),s._offsetMax&&b(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)o.setExtremes(d,c,C(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{p=A(i.options.xAxis)[0];let e=v(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});v(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=p.range,t.options.min=p.min,e()})}k(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&k(t,"blur"),e&&e.blur&&k(e,"blur")}let i=this,s=e.options.rangeSelector,o=s.buttons||i.defaultButtons.slice(),r=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(v(e.container,"mousedown",t)),this.eventsToUnbind.push(v(e,"resize",t)),o.forEach(i.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(v(e,"load",function(){e.xAxis&&e.xAxis[0]&&v(e.xAxis[0],"setExtremes",function(t){O(this.max)&&O(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let p=this,t=this.chart,s=this.dropdown,o=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),f=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,m=e.dataMin,x=e.dataMax,i=p.getYTDExtremes(x,m,t.time.useUTC),y=i.min,v=i.max,b=p.selected,S=p.options.allButtonsEnabled,k=Array(p.buttonOptions.length).fill(0),M=O(b),r=p.buttons,C=!1,A=null;p.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,o=t.count||1,r=t._offsetMax-t._offsetMin,a=e===b,n=i>x-m,h=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*o-r&&g-36e5<=864e5*{month:31,year:366}[s]*o+r?d=!0:"ytd"===s?(d=v-y+r===g,l=!a):"all"===s&&(d=u.max-u.min>=x-m);var t=!S&&!(C&&"all"===s)&&(n||h||f),c=C&&"all"===s||!l&&d||a&&p.frozenStates;t?k[e]=3:!c||M&&e!==b||(A=e)}),null!==A?(k[A]=2,p.setSelected(A)):(p.setSelected(),o&&(o.setState(0),o.attr({text:(T.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?h=void 0:ha&&(h=a)),void 0!==h&&s.setExtremes(c?h:s.min,c?s.max:h,void 0,void 0,{trigger:"rangeSelectorInput"}))}let h=a[c?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=o.label(h,0).addClass("highcharts-range-label").attr({padding:h?2:0,height:h?r.inputBoxHeight:0}).add(i),u=o.label("",0).addClass("highcharts-range-input").attr({padding:2,width:r.inputBoxWidth,height:r.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(l.styledMode||u.attr({stroke:r.inputBoxBorderColor,"stroke-width":1}),u.add(i),x("input",{name:e,className:"highcharts-range-selector"},void 0,t)),f=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(r.inputDateFormat||"%e %b %Y")),l.styledMode||(p.css(M(s,r.labelStyle)),u.css(M({color:"#333333"},s,r.inputStyle)),P(g,S({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},r.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===m.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{f||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{f=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get("FullYear",o),a=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),n=o.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=C(s.chart.style?.zIndex,0)+1;var n;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=x("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(b(t.dataMin)&&b(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=T.lang,r=e.renderer,a=M(i.buttonTheme),n=a&&a.states,h=a.width||28,l=(delete a.width,delete a.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group),this.dropdown=x("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),o=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=r.button("",0,0,()=>{},M(a,{"stroke-width":C(a["stroke-width"],0),width:"auto",paddingLeft:C(i.buttonTheme.paddingLeft,o?.padding,8),paddingRight:C(i.buttonTheme.paddingRight,o?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),v(l,"touchstart",()=>{l.style.fontSize="16px"}),m.isMS?"mouseover":"mouseenter"),c=m.isMS?"mouseout":"mouseleave";v(l,d,()=>{k(this.dropdownLabel.element,d)}),v(l,c,()=>{k(this.dropdownLabel.element,c)}),v(l,"change",()=>{k(this.buttons[l.selectedIndex-1].element,"click")}),this.zoomText=r.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=C(a["stroke-width"],0)),x("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,l),this.buttonOptions.forEach((s,o)=>{x("option",{textContent:s.title||s.text},void 0,l),t[o]=r.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(o),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:h}).add(this.buttonGroup),s.title&&t[o].attr("title",s.title)})}alignElements(){let{buttonGroup:h,buttons:l,chart:d,group:c,inputGroup:p,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:f,inputPosition:m,verticalAlign:x}=u,y=(t,e)=>i&&this.titleCollision(d)&&"top"===x&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,v=d.plotLeft;if(c&&f&&m){let t=f.x-d.spacing[3];if(h){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),l.forEach((t,e)=>{i+=t.width||0,e!==l.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}v-=d.spacing[3];var b=y(h,f);this.alignButtonGroup(b),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),c.placed=h.placed=d.hasLoaded}let e=0,i=(p&&(e=y(p,m),"left"===m.align?t=v:"right"===m.align&&(t=-Math.max(d.axisOffset[1],-e)),p.align({y:m.y,width:p.getBBox().width,align:m.align,x:m.x+t-2},!0,d.spacingBox),p.placed=d.hasLoaded),this.handleCollision(e),c.align({verticalAlign:x},!0,d.spacingBox),c.alignAttr.translateY),s=c.getBBox().height+20,o=0;"bottom"===x&&(b=d.legend&&d.legend.options,o=i-(s=s+(b&&"bottom"===b.verticalAlign&&b.enabled&&!b.floating?d.legend.legendHeight+C(b.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===x?(u.floating&&(o=0),d.titleOffset&&d.titleOffset[0]&&(o=d.titleOffset[0]),o+=d.margin[0]-d.spacing[0]||0):"middle"===x&&(m.y===f.y?o=i:(m.y||f.y)&&(m.y<0||f.y<0?o-=Math.min(m.y,f.y):o=i-s)),c.translate(u.x,u.y+Math.floor(o));let{minInput:r,maxInput:a,dropdown:n}=this;u.inputEnabled&&r&&a&&(r.style.marginTop=c.translateY+"px",a.style.marginTop=c.translateY+"px"),n&&(n.style.marginTop=c.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,r=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-a:"center"===r.align&&(n-=a/2),o&&o.align({y:r.y,width:C(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,o=t.hasLoaded?"animate":"attr",r=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[o]({x:C(a+r.x,a)}),n+=r.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!r)&&(e=a.alignAttr.translateX+a.alignOptions.x-o+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=r.alignAttr.translateX+r.getBBox().x)+t&&s{a&&r&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-o?0:-o),translateY:a.alignAttr.translateY+r.getBBox().height+10})};if(r){if("always"===e)return this.collapseButtons(),void(s(i())&&l());"never"===e&&this.expandButtons()}a&&r?h.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&l()):l():"responsive"===e&&this.expandButtons():r&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var o,r;t&&s&&({translateX:r=0,translateY:o=0}=t,r=e.plotLeft+r,i.attr({x:r,y:o}).show(),P(s,{left:r+"px",top:o+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),P(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;var h=Math.min(a,r);return(a<0&&r<0||0t()),i.eventsToUnbind=void 0),o(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof d.HTMLElement&&r(t)),t!==l.prototype[e]&&(i[e]=null)},this)}}return S(l.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),l}),e(t,"Core/Chart/StockChart.js",[t["Core/Chart/Chart.js"],t["Core/Templating.js"],t["Core/Defaults.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,i,n,h,l,s,o){let w=e["format"],d=i["getOptions"],r=s["setFixedRange"],{addEvent:a,clamp:k,crisp:c,defined:M,extend:T,find:C,isNumber:P,isString:A,merge:p,pick:O,splat:u}=o;function g(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!(!e.categories&&"category"!==e.type),title:{text:"Values"!==i.title?.text?i.title?.text:null}}:{}}function f(t,i){if("xAxis"!==t)return{};{let t=O(i.navigator&&i.navigator.enabled,n.enabled,!0),e={type:"datetime",categories:void 0};return t&&(e.startOnTick=!1,e.endOnTick=!1),e}}class m extends t{init(e,t){let i=d(),s=e.xAxis,o=e.yAxis,r=O(e.navigator&&e.navigator.enabled,n.enabled,!0),a=(e.xAxis=e.yAxis=void 0,p({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:r},scrollbar:{enabled:O(l.enabled,!0)},rangeSelector:{enabled:O(h.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:O(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},e,{isStock:!0}));e.xAxis=s,e.yAxis=o,a.xAxis=u(e.xAxis||{}).map(t=>p(g("xAxis",t,i.xAxis),t,f("xAxis",e))),a.yAxis=u(e.yAxis||{}).map(t=>p(g("yAxis",t,i.yAxis),t)),super.init(a,t)}createAxis(t,e){return e.axis=p(g(t,e.axis,d()[t]),e.axis,f(t,this.userOptions)),super.createAxis(t,e)}}return a(t,"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(p(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),(j=m=m||{}).compose=function(t,e,i,s){let o=i.prototype;o.forceCropping||(a(e,"afterDrawCrosshair",x),a(e,"afterHideCrosshair",y),a(e,"autoLabelAlign",v),a(e,"destroy",b),a(e,"getPlotLinePath",S),t.prototype.setFixedRange=r,o.forceCropping=L,a(i,"setOptions",E),s.prototype.crispPolyLine=D)},j.stockChart=function(t,e,i){return new j(t,e,i)},m;function x(C){if(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&P(this.min)&&P(this.max)){let t=this.chart,e=this.logarithmic,i=this.crosshair.label,s=this.horiz,o=this.opposite,r=this.left,a=this.top,n=this.width,h="inside"===this.options.tickPosition,l=!1!==this.crosshair.snap,d=C.e||this.cross&&this.cross.e,c=C.point,p=this.crossLabel,u,g,f=i.format,m="",x,y=0,v=this.min,b=this.max;e&&(v=e.lin2log(this.min),b=e.lin2log(this.max));C=s?"center":o?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";p||(p=this.crossLabel=t.renderer.label("",0,void 0,i.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(c&&c.series?c.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:i.align||C,padding:O(i.padding,8),r:O(i.borderRadius,3),zIndex:2}).add(this.labelGroup),t.styledMode||p.attr({fill:i.backgroundColor||c&&c.series&&c.series.color||"#666666",stroke:i.borderColor||"","stroke-width":i.borderWidth||0}).css(T({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},i.style||{}))),g=s?(u=l?(c.plotX||0)+r:d.chartX,a+(o?0:this.height)):(u=r+this.offset+(o?n:0),l?(c.plotY||0)+a:d.chartY),f||i.formatter||(this.dateTime&&(m="%b %d, %Y"),f="{value"+(m?":"+m:"")+"}");let S=l?this.isXAxis?c.x:c.y:this.toValue(s?d.chartX:d.chartY),k=c&&c.series?c.series.isPointInside(c):P(S)&&S>v&&S=x.right&&(y=-(A+C.width-x.right)),p.attr({x:u+y,y:g,anchorX:s?u:this.opposite?0:t.chartWidth,anchorY:s?this.opposite?t.chartHeight:0:g+C.height/2})}}function y(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function v(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;var r;e.options.isStock&&"yAxis"===this.coll&&(r=i.top+","+i.height,!s[r]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[r]=this,t.align="right",t.preventDefault()))}function b(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function S(t){let i=this,s=(i.isLinked&&!i.series&&i.linkedParent?i.linkedParent:i).series,o=i.chart,e=o.renderer,r=i.left,a=i.top,n=[],h=t.translatedValue,l=t.value,d=t.force,c,p,u,g,f=[],m,x;if(o.options.isStock&&!1!==t.acrossPanes&&"xAxis"===i.coll||"yAxis"===i.coll){for(var y of(t.preventDefault(),f=(()=>{let e="xAxis"===i.coll?"yAxis":"xAxis",t=i.options[e];return P(t)?[o[e][t]]:A(t)?[o.get(t)]:s.map(t=>t[e])})(),i.isXAxis?o.yAxis:o.xAxis)){var v;y.options.isInternal||(v=y.isXAxis?"yAxis":"xAxis",i===(M(y.options[v])?o[v][y.options[v]]:o[v][0])&&f.push(y))}for(let e of(m=f.length?[]:[(i.isXAxis?o.yAxis:o.xAxis)[0]],f))-1!==m.indexOf(e)||C(m,t=>t.pos===e.pos&&t.len===e.len)||m.push(e);if(P(x=O(h,i.translate(l||0,void 0,void 0,t.old))))if(i.horiz)for(var b of m){let t;g=(p=b.pos)+b.len,c=u=Math.round(x+i.transB),"pass"!==d&&(cr+i.width)&&(d?c=u=k(c,r,r+i.width):t=!0),t||n.push(["M",c,p],["L",u,g])}else for(var S of m){let t;u=(c=S.pos)+S.len,p=g=Math.round(a+i.height-x),"pass"!==d&&(pa+i.height)&&(d?p=g=k(p,a,a+i.height):t=!0),t||n.push(["M",c,p],["L",u,g])}t.path=0 {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),e(t,"Series/HLC/HLCSeries.js",[t["Series/HLC/HLCPoint.js"],t["Series/HLC/HLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let o=i.seriesTypes["column"],{crisp:n,extend:r,merge:a}=s;class h extends o{extendStem(t,e,i){let s=t[0],o=t[1];"number"==typeof s[2]&&(s[2]=Math.max(i+e,s[2])),"number"==typeof o[2]&&(o[2]=Math.min(i-e,o[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,o=n(t.plotX||0,i),r=Math.round(t.shapeArgs.width/2),a=[["M",o,Math.round(t.yBottom)],["L",o,Math.round(t.plotHigh)]];return null!==t.close&&(e=n(t.plotClose,i),a.push(["M",o,e],["L",o+r,e]),s.extendStem(a,i/2,e)),a}drawSinglePoint(t){let e=t.series,i=e.chart,s,o=t.graphic;void 0!==t.plotY&&(o||(t.graphic=o=i.renderer.path().add(e.group)),i.styledMode||o.attr(e.pointAttribs(t,t.selected&&"select")),s=e.getPointPath(t,o),o[o?"animate":"attr"]({d:s}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let o=this,r=o.yAxis,t=this.pointArrayMap&&this.pointArrayMap.slice()||[],a=t.map(t=>"plot"+(t.charAt(0).toUpperCase()+t.slice(1)));a.push("yBottom"),t.push("low"),super.translate.apply(o),o.points.forEach(function(s){t.forEach(function(t,e){let i=s[t];null!==i&&(o.dataModify&&(i=o.dataModify.modifyValue(i)),s[a[e]]=r.toPixels(i,!0))}),s.tooltipPos[1]=s.plotHigh+r.pos-o.chart.plotTop})}}return h.defaultOptions=a(o.defaultOptions,e),r(h.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",h),h}),e(t,"Series/OHLC/OHLCPoint.js",[t["Core/Series/SeriesRegistry.js"]],function(t){var t=t["seriesTypes"]["hlc"];class e extends t.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}}),e(t,"Series/OHLC/OHLCSeries.js",[t["Core/Globals.js"],t["Series/OHLC/OHLCPoint.js"],t["Series/OHLC/OHLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["composed"],a=s.seriesTypes["hlc"],{addEvent:n,crisp:h,extend:l,merge:d,pushUnique:c}=o;function p(t){let e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function u(t){t=t.options;t.useOhlcData&&"highcharts-navigator-series"!==t.id&&l(this,{pointValKey:g.prototype.pointValKey,pointArrayMap:g.prototype.pointArrayMap,toYData:g.prototype.toYData})}class g extends a{static compose(t){c(r,"OHLCSeries")&&(n(t,"afterSetOptions",p),n(t,"init",u))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),o=h(t.plotX||0,s),r=Math.round(t.shapeArgs.width/2);return null!==t.open&&(e=h(t.plotOpen,s),i.push(["M",o,e],["L",o-r,e]),super.extendStem(i,s/2,e)),i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.opent.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);f--&&o[c];)if(x=n[f],(p=o[c]).y=x.y,x.x<=p.x&&void 0!==x[g]){if(p.x<=y&&(p.plotY=x[g],x.xMath.pow(1-t,3)*i[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*r[e]+t*t*t*s[e],a=0,n=1,h;for(let t=0;t<100;t++){var k=(a+n)/2,M=e(k,0);if(null===M)break;if(Math.abs(M-p.plotX)<.25){h=k;break}M{let i;t.plotX+=m,void 0!==t.plotY&&!h||(0<=t.plotX&&t.plotX<=l.len?h?(t.plotY=l.translate(t.x,0,1,0,1),t.plotX=A(t.y)?d.translate(t.y,0,0,0,1):0):t.plotY=(l.opposite?0:s.yAxis.len)+l.offset:t.shapeArgs={}),(u=o[e-1])&&u.plotX===t.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),i=u.stackIndex+1),t.stackIndex=i}),this.onSeries=r}}),e(t,"Series/Flags/FlagsSeries.js",[t["Series/Flags/FlagsPoint.js"],t["Series/Flags/FlagsSeriesDefaults.js"],t["Series/Flags/FlagsSymbols.js"],t["Core/Globals.js"],t["Series/OnSeriesComposition.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r,a,k,n){let h=s["noop"],M=r["distribute"],{series:l,seriesTypes:{column:d}}=a,{addEvent:c,defined:C,extend:p,isNumber:A,merge:w,objectEach:T,wrap:P}=n;class u extends d{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,a,n,h,l,d,c=this.points,p=this.chart,u=p.renderer,g=p.inverted,f=this.options,m=f.y,x=this.yAxis,y={},v=[],b=A(f.borderRadius)?f.borderRadius:0;for(s=c.length;s--;)o=c[s],l=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,a=o.stackIndex,i=o.options.shape||f.shape,void 0!==(e=o.plotY)&&(e=o.plotY+m-(void 0!==a&&a*f.stackDistance)),o.anchorX=a?void 0:o.plotX,n=a?void 0:o.plotY,d="flag"!==i,r=o.graphic,void 0!==e&&0<=t&&!l?((r=r&&o.hasNewShapeType()?r.destroy():r)||(r=o.graphic=u.label("",0,void 0,i,void 0,void 0,f.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:d?"center":"left",width:f.width,height:f.height,"text-align":f.textAlign,r:b}),p.styledMode||r.attr(this.pointAttribs(o)).css(w(f.style,o.style)).shadow(f.shadow),0e.to||r>e.from&&ae.from&&ae.from&&a>e.to&&ar&&i>=this.basePointRange&&(r=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>r&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][n]=new h(o,o.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",l),s(e,"afterInit",r),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=p,t.gappedPath=m,s(i,"afterGeneratePoints",d),s(i,"afterRender",c)}return e};class x{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,o=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=o:s=s);r++)(o.to=t)break;if(x.isInBreak(o,t)){s-=t-o.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)l-=a;for(;lthis.chart.plotSizeX/i||o&&r.forced)&&(s=!0));return s?i:0}function d(){this.series.forEach(function(t){t.hasProcessed=!1})}function c(e,t){let i;if(t=n(t,!0),e=e||{forced:!1,units:null},this instanceof s)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:e},!1);else this.chart.options.series.forEach(function(t){t.dataGrouping="boolean"==typeof e?e:r(e,t.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),t&&this.chart.redraw()}return{compose:function(t){var e=(s=t).prototype;e.applyGrouping||(i(t,"afterSetScale",d),i(t,"postProcessData",h),o(e,{applyGrouping:h,getGroupPixelWidth:l,setDataGrouping:c}))}}}),e(t,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[t["Extensions/DataGrouping/ApproximationRegistry.js"],t["Extensions/DataGrouping/DataGroupingDefaults.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Defaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(T,E,L,n,t,e){let{prototype:D}=t["series"],{addEvent:i,defined:j,error:B,extend:s,isNumber:I,merge:P,pick:o}=e,r=D.generatePoints;function a(m){let x,y,v=this.chart,b=this.options.dataGrouping,t=!1!==this.allowDG&&b&&o(b.enabled,v.options.isStock),S=this.reserveSpace(),e=this.currentDataGrouping,k,M,i=!1;t&&!this.requireSorting&&(this.requireSorting=i=!0);m=0==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!m)||!t;if(i&&(this.requireSorting=!1),!m){this.destroyGroupedData();let d=b.groupAll?this.xData:this.processedXData,c=b.groupAll?this.yData:this.processedYData,p=v.plotSizeX,u=this.xAxis,g=u.options.ordinal,f=this.groupPixelWidth;if(f&&d&&d.length&&p){y=!0,this.isDirty=!0,this.points=null;let t=u.getExtremes(),e=t.min,i=t.max,s=g&&u.ordinal&&u.ordinal.getGroupIntervalFactor(e,i,this)||1,o=f*(i-e)/p*s,r=u.getTimeTicks(L.Additions.prototype.normalizeTimeTickInterval(o,b.units||E.units),Math.min(e,d[0]),Math.max(i,d[d.length-1]),u.options.startOfWeek,d,this.closestPointRange),a=D.groupData.apply(this,[d,c,r,b.approximation]),n=a.groupedXData,h=a.groupedYData,l=0;for(b&&b.smoothed&&n.length&&(b.firstAnchor="firstPoint",b.anchor="middle",b.lastAnchor="lastPoint",B(32,!1,v,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),x=1;x=C[0]){let t;r++;var w=m.groupMap[0].start,P=m.groupMap[0].length;I(w)&&I(P)&&(t=w+(P-1)),C[0]={start:C[0],middle:C[0]+.5*T,end:C[0]+T,firstPoint:m.xData[0],lastPoint:t&&m.xData[t]}[i]}if(0=A-T&&(o--,w=m.groupMap[m.groupMap.length-1].start,C[t]={start:C[t],middle:C[t]+.5*T,end:C[t]+T,firstPoint:w&&m.xData[w],lastPoint:m.xData[m.xData.length-1]}[s]),e&&"start"!==e)for(var O=T*{middle:.5,end:1}[e];o>=r;)C[o]+=O,o--}S&&(j((P=n)[0])&&I(u.min)&&I(u.dataMin)&&P[0]u.max&&((!j(u.options.max)&&I(u.dataMax)&&u.max>=u.dataMax||u.max===u.dataMax)&&(u.max=Math.max(P[P.length-1],u.max)),u.dataMax=Math.max(P[P.length-1],u.dataMax))),b.groupAll&&(this.allGroupedData=h,n=(M=this.cropData(n,h,u.min,u.max)).xData,h=M.yData,this.cropStart=M.start),this.processedXData=n,this.processedYData=h}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=y,this.preventGraphAnimation=(e&&e.totalRange)!==(k&&k.totalRange)}}function h(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function l(){r.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function d(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function c(e,i,s,t){let o=this,r=o.data,a=o.options&&o.options.data,n=[],h=[],l=[],d=e.length,c=!!i,p=[],u=o.pointArrayMap,g=u&&u.length,f=["x"].concat(u||["y"]),m=this.options.dataGrouping&&this.options.dataGrouping.groupAll,x,y,v,b=0,S=0,k="function"==typeof t?t:t&&T[t]?T[t]:T[o.getDGApproximation&&o.getDGApproximation()||"average"];if(g){let t=u.length;for(;t--;)p.push([])}else p.push([]);var M=g||1;for(let t=0;t<=d;t++)if(!(e[t]=s[b+1]||t===d;){x=s[b],o.dataGroupInfo={start:m?S:o.cropStart+S,length:p[0].length,groupStart:x},v=k.apply(o,p),o.pointClass&&!j(o.dataGroupInfo.options)&&(o.dataGroupInfo.options=P(o.pointClass.prototype.optionsToObject.call({series:o},o.options.data[o.cropStart+S])),f.forEach(function(t){delete o.dataGroupInfo.options[t]})),void 0!==v&&(n.push(x),h.push(v),l.push(o.dataGroupInfo)),S=t;for(let t=0;t{var e=t.axis.getExtremes(),i=e.min,e=e.max,s=a(t.axis.minPointOffset,0);return r(i)&&r(e)&&t.value>=i-s&&t.value<=e+s&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=n[t],s=typeof e;return{string:"text",number:"number",boolean:"checkbox"}[s=o(i)?i:s]}}}),e(t,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[t["Core/Utilities.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(t,e){let l,{addEvent:i,isObject:s,pick:d,defined:c,merge:o}=t,h=e["getAssignedAxis"],r=[],a={enabled:!0,sensitivity:1.1};function n(){t=this.zooming.mouseWheel,s(t)||(t={enabled:t??!0});let n=o(a,t);var t;n.enabled&&i(this.container,"wheel",t=>{t=this.pointer?.normalize(t)||t;let e=this["pointer"],i=e&&!e.inClass(t.target,"highcharts-no-mousewheel");var s,o,r,a;this.isInsidePlot(t.chartX-this.plotLeft,t.chartY-this.plotTop)&&i&&(s=n.sensitivity||1.1,o=t.detail||(t.deltaY||0)/120,r=h(e.getCoordinates(t).xAxis),a=h(e.getCoordinates(t).yAxis),function(t,e,i,s,o,r,a){let n=d(a.type,t.zooming.type,""),h=[];"x"===n?h=i:"y"===n?h=s:"xy"===n&&(h=t.axes);a=t.transform({axes:h,to:{x:o-5,y:r-5,width:10,height:10},from:{x:o-5*e,y:r-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return a&&(c(l)&&clearTimeout(l),l=setTimeout(()=>{t.pointer?.drop()},400)),a}(this,Math.pow(s,o),r?[r.axis]:this.xAxis,a?[a.axis]:this.yAxis,t.chartX,t.chartY,n)&&t.preventDefault?.())})}return{compose:function(t){-1===r.indexOf(t)&&(r.push(t),i(t,"afterGetContainer",n))}}}),e(t,"masters/modules/mouse-wheel-zoom.src.js",[t["Core/Globals.js"],t["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(t,e){return t.MouseWheelZoom=t.MouseWheelZoom||e,t.MouseWheelZoom.compose(t.Chart),t}),e(t,"masters/modules/stock.src.js",[t["Core/Globals.js"],t["Series/DataModifyComposition.js"],t["Stock/Navigator/Navigator.js"],t["Core/Axis/OrdinalAxis.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Core/Chart/StockChart.js"],t["Series/OHLC/OHLCSeries.js"],t["Series/Flags/FlagsSeries.js"]],function(t,e,i,s,o,r,a,n,h){return t.Navigator=t.Navigator||i,t.OrdinalAxis=t.OrdinalAxis||s,t.RangeSelector=t.RangeSelector||o,t.Scrollbar=t.Scrollbar||r,t.stockChart=t.stockChart||a.stockChart,t.StockChart=t.StockChart||t.stockChart,t.extend(t.StockChart,a),e.compose(t.Series,t.Axis,t.Point),h.compose(t.Renderer),n.compose(t.Series),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.OrdinalAxis.compose(t.Axis,t.Series,t.Chart),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t.StockChart.compose(t.Chart,t.Axis,t.Series,t.SVGRenderer),t}),e(t,"masters/highstock.src.js",[t["masters/highcharts.src.js"]],function(t){return t.product="Highstock",t}),(t["masters/highstock.src.js"]._modules=t)["masters/highstock.src.js"]}); \ No newline at end of file +!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define("highcharts/highstock",function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(d){"use strict";var t={};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),d&&"function"==typeof CustomEvent&&d.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}return e(t,"Core/Globals.js",[],function(){var t,i=t={SVG_NS:"http://www.w3.org/2000/svg",product:"Highcharts",version:"11.4.8"};return i.win=void 0!==d?d:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&parseInt(i.userAgent.split("Firefox/")[1],10)<4,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;var e;return i.isMS||(e=Object.defineProperty({},"passive",{get:function(){t=!0}}),i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))),t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,t}),e(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){let i,{charts:e,doc:a,win:h}=n;function l(t,e,i,s){var o=e?"Highcharts error":"Highcharts warning";let r=f(t=32===t?o+": Deprecated member":t),a=r?o+` #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let i="";r&&(a+="?"),M(s,function(t,e){i+=` + - ${e}: `+t,r&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=i}A(n,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);h.console&&-1===l.messages.indexOf(a)&&console.warn(a)}),l.messages.push(a)}function d(t,e){return parseInt(t,e||10)}function c(t){return"string"==typeof t}function p(t){t=Object.prototype.toString.call(t);return"[object Array]"===t||"[object Array Iterator]"===t}function u(t,e){return!(!t||"object"!=typeof t||e&&p(t))}function r(t){return u(t)&&"number"==typeof t.nodeType}function g(t){var e=t&&t.constructor;return!(!u(t,!0)||r(t)||!e||!e.name||"Object"===e.name)}function f(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&-1/0{m(t)?i.setAttribute(e,t):o?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?r(e,t):M(t,r),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function v(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,r)&&r.preventDefault()})}t&&!r.defaultPrevented&&t.call(s,r)}M({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var o=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t,r=(Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={}),o.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(s),r[e].sort((t,e)=>t.order-e.order),function(){C(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:b,defined:m,destroyObjectProperties:function(i,s,o){M(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&o||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,o,r,a){let n=i?o:t;M(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let r=h.getComputedStyle(s,void 0);return r&&(o=r.getPropertyValue(t),v(e,"opacity"!==t)&&(o=d(o))),o},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return k(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:M,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:v,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:C,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var o=t.length;for(e=0;e{try{var e="shortOffset,"+(r.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:r.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),o=-36e5*(i+s/60);if(n(o))return o}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return u.defaultOptions.lang&&u.defaultOptions.lang.invalidDate||"";i=b(i,"%Y-%m-%d %H:%M:%S");let o=this,e=new this.Date(s),r=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=u.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return g(v({a:p?p[a]:c[a].substr(0,3),A:c[a],d:f(n),e:f(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:f(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:f(r),k:r,I:f(r%12||12),l:r%12||12,M:f(this.get("Minutes",e)),p:r<12?"AM":"PM",P:r<12?"am":"pm",S:f(this.get("Seconds",e)),L:f(Math.floor(s%1e3),3)},u.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(o,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=o(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o,r,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),u=t.unitRange,g=t.count||1;if(s=b(s,1),y(e)){h.set("Milliseconds",p,u>=S.second?0:g*Math.floor(h.get("Milliseconds",p)/g)),u>=S.second&&h.set("Seconds",p,u>=S.minute?0:g*Math.floor(h.get("Seconds",p)/g)),u>=S.minute&&h.set("Minutes",p,u>=S.hour?0:g*Math.floor(h.get("Minutes",p)/g)),u>=S.hour&&h.set("Hours",p,u>=S.day?0:g*Math.floor(h.get("Hours",p)/g)),u>=S.day&&h.set("Date",p,u>=S.month?1:Math.max(1,g*Math.floor(h.get("Date",p)/g))),u>=S.month&&(h.set("Month",p,u>=S.year?0:g*Math.floor(h.get("Month",p)/g)),r=h.get("FullYear",p)),u>=S.year&&(r-=r%g,h.set("FullYear",p,r)),u===S.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*S.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(o=1;tt){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=e["isTouchDevice"],{fireEvent:a,merge:n}=o,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:o,merge:r,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,o,r=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(r&&r!==l)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(o=l.parsers[s]).regex.exec(t))&&(i=o.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&o(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=r(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(o(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[r,r];function g(t,e){for(;t.length{t=h(t.options.animation);r=p(e)&&n(e.defer)?s.defer:Math.max(r,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:f}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:o,css:u,error:g,isFunction:i,isString:r,objectEach:f,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(s){return f(s,(e,t)=>{let i=!0;-1===m.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?r(e)&&m.allowedReferences.some(t=>0===e.indexOf(t)):i)||(g(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),r(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let o;var r=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=m.bypassHTMLFiltering;if(r)if("#text"===r)o=a;else if(-1!==m.allowedTags.indexOf(r)||n){let t="svg"!==r&&l.namespaceURI||c,e=d.doc.createElementNS(t,r),i=s.attributes||{};f(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:m.filterUserAttributes(i)),s.style&&u(e,s.style),a&&e.appendChild(a),h(s.children||[],e),o=e}else g(33,!1,void 0,{"Invalid tagName in config":r});o&&l.appendChild(o),e=o}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=o("div");t.innerHTML=e,i={body:t}}let r=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var o=t.attributes;if(o){let e={};[].forEach.call(o,t=>{"data-style"===t.name?s.style=m.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{r(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>r(t,s)),s}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=h,m.bypassHTMLFiltering=!1,m}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:v,defaultTime:b}=t,{extend:o,getNestedProperty:S,isArray:r,isNumber:u,isObject:a,pick:k,pInt:g}=e,M={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!r(i)&&i.map((t,e)=>C(s.body,o(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function C(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,u=/\.(\d)/,g=v.lang,f=c&&c.time||b,m=c&&c.numberFormatter||A,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:S(t,d))},o,r,a=0,n;for(;null!==(o=e.exec(t));){var h,l=i.exec(o[1]),y=(l&&(o=l,n=!0),r&&r.isBlock||(r={ctx:d,expression:o[1],find:o[0],isBlock:"#"===o[1].charAt(0),start:o.index,startInner:o.index+o[0].length,length:o[0].length}),o[1].split(" ")[0].replace("#","")),y=(M[y]&&(r.isBlock&&y===r.fn&&a++,r.fn||(r.fn=y)),"else"===o[1]);if(r.isBlock&&r.fn&&(o[1]==="/"+r.fn||y)?a?y||a--:(h=r.startInner,h=t.substr(h,o.index-h),void 0===r.body?(r.body=h,r.startInner=o.index+o[0].length):r.elseBody=h,r.find+=h+o[0],y||(s.push(r),r=void 0)):r.isBlock||s.push(r),l&&!r?.isBlock)break}return s.forEach(i=>{let s,o,{body:r,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(o=M[h].length;o--;)t.unshift(x(e[o+1]));s=M[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=C(s?r:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(u)||["","-1"])[1],10),null!==s&&(s=m(s,l,g.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(k(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>t;)f=e[c=Math.floor(p)],S(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(k(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:b(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=v(m-f.size*f.align,0,s-f.size);for(c=e.length,g=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(r,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(r[c].pos=t.pos+e,void 0!==o&&Math.abs(r[c].pos-r[c].target)>o?(r.slice(0,c+1).forEach(t=>delete t.pos),r.reducedLen=(r.reducedLen||s)-.1*s,r.reducedLen>.1*s&&i(r,s,o),!0):(e+=r[c].size,c++,!1)))}),k(r,a),r}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,m,i,e){let{animate:r,animObject:a,stop:d}=t,{deg2rad:R,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:o,attr:c,createElement:p,crisp:u,css:x,defined:y,erase:g,extend:v,fireEvent:b,isArray:S,isFunction:k,isObject:f,isString:M,merge:C,objectEach:A,pick:w,pInt:T,pushUnique:P,replaceNested:O,syncTimeout:E,uniqueKey:L}=e;class D{_defaultGetter(t){let e=w(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o,r,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||M(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),w(i,l[p],l)),p=t.align,u=t.verticalAlign;return o=(i.x||0)+(t.x||0),r=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(o+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(o),"bottom"===u?n=1:"middle"===u&&(n=2),n&&(r+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(w(e,this.renderer.globalAnimation,!0)),o=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),E(()=>{this.element&&r(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),A(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let o=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(o.style.fill)):t).split(" "),r=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:r,stroke:r,"stroke-width":a,"stroke-linejoin":"round"}),o.querySelector("textPath")||o),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(o.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let o=this["element"],r=D.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,o):(A(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==r.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,o)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=L()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),v(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,i=u(i,e),s=u(s,e);return v(t,{x:i,y:s,width:u(o,e)-i,height:u(r,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,u,g=[],f;b(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,S(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!y(a.gradientUnits)&&(n=a,a=C(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),A(a,function(t,e){"id"!==e&&g.push(e,t)}),A(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=L();let e=h[g]=s.createElement(r).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(o=m.parse(t[1])).get("rgb"),o.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let i=this.styles,s={},o=this.element,r,a=!i;if(i&&A(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?v(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===o.nodeName.toLowerCase()&&t.width&&(r=this.textWidth=T(t.width)),v(this.styles,t),r&&!h&&this.renderer.forExport&&delete t.width;let e=C(t);o.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(o,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*w(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,o="SPAN"===t.nodeName&&i.parentGroup||void 0,r,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=w(e,this.rotation,0),f=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=r&&!t?c[r]:i)||i.polygon){if(u||h.forExport){try{o=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},k(o)&&o("none"),i=n.getBBox?v({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},k(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},`+Math.round(s)]||s);e={bBox:i=g?this.getRotatedBox(i,g):i};b(this,"afterGetBBox",e),i=e.bBox}if(r&&(""===d||0[t-t*g,t*f]),C=i+d*(o-m)+b+M+c*y,A=C+m,w=A-r*y,T=w-m,P=s+c-d*x-S+k+c*v,O=P+x,E=O-r*v,L=E-x,D=Math.min(C,A,w,T),j=Math.min(P,O,E,L),B=Math.max(C,A,w,T)-D,I=Math.max(P,O,E,L)-j;return{x:D,y:j,width:B,height:I,polygon:[[C,P],[A,O],[w,E],[T,L]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},b(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=o(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(M(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=C(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;D.symbolCustomAttribs.forEach(function(t){i[t]=w(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=O(w(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+w(o,e.getAttribute("x"),0)+" "+w(r,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+w(a,1)+" "+w(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,u;if(y(t)?(r.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;0<=u&&!d;u--)c=!y(l=(h=n[u]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:r,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&r(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!r(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var o=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||o).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-o.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}o=this.getCrispAdjust(),e.x=o,e.y=(this.baseline?-this.baselineOffset:0)+o,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);r(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:b,isNumber:d,pick:S}=t;function o(g,f,m,x,y){let v=[];if(y){let t=y.start||0,e=S(y.r,m),i=S(y.r,x||m),s=2e-4/(y.borderRadius?1:Math.max(e,1)),o=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=u(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),u(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",o=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;o.length;)o.length&&!this.noWrap&&0o.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",u(e,{dy:r,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===o.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===o.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:o={},tagName:r}=e,a=this.renderer.styledMode;if("b"===r||"strong"===r?a?s.class="highcharts-strong":o.fontWeight="bold":"i"!==r&&"em"!==r||(a?s.class="highcharts-emphasized":o.fontStyle="italic"),o&&o.color&&(o.fill=o.color),"br"===r){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===r&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==r&&"a"!==r&&(e.tagName="tspan"),l(e,{attributes:s,style:o}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(o,t,r,a,e,i){function s(t,e){let i=e||t,s=o.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,r?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=r?1:0,u=(t||r||"").length,g=u;if(l.rotation=0,a+(h=s(o.textContent.length))>e){for(;p<=u;)g=Math.ceil((p+u)/2),r&&(n=i(r,g)),h=s(g,n&&n.length-1),p===u?p=u+1:h>e?u=g-1:p=g;0===u?o.textContent="":t&&u===t.length-1||(o.textContent=n||i(t||r,g))}r&&r.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return r(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,o,l,r,a,n){let h,v=t["defaultOptions"],{charts:f,deg2rad:d,doc:m,isFirefox:c,isMS:b,isWebKit:p,noop:u,SVG_NS:g,symbolSizes:x,win:S}=i,{addEvent:k,attr:M,createElement:C,crisp:A,css:w,defined:T,destroyObjectProperties:P,extend:O,isArray:E,isNumber:L,isObject:D,isString:R,merge:j,pick:B,pInt:z,replaceNested:G,uniqueKey:N}=n;class I{constructor(t,e,i,s,o,r,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),M(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&M(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),h=t.getBoundingClientRect(),w(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=k(S,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&m.getElementsByTagName("base").length&&(T(h)||(t=N(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body),w(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=m.elementFromPoint(6,6),h="hitme"===(e&&e.id),m.body.removeChild(t)),h))return G(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=O({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0,g=(o=j(v.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]),o.states||{}),f=o.style||{},m=(delete o.states,delete o.style,[y.filterUserAttributes(o)]),x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(j(m[0],y.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),k(d.element,b?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),k(d.element,b?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(m[t]),t=x[t],D(t)&&d.css(t))},d.attr(m[0]),c||(d.css(O({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=A(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=A(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return E(t)?e.d=t:D(t)&&O(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a,n=(D(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,o,r){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,O(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,M(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,o,r){function a(t){h.attr({href:e}),r.call(h,t)}let n={preserveAspectRatio:"none"},h=(L(t)&&(n.x=t),L(i)&&(n.y=i),L(s)&&(n.width=s),L(o)&&(n.height=o),this.createElement("image").attr(n));if(r){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;k(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,o,d){let r,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof i&&(a=g.call(this.symbols,i||0,s||0,e||0,o||0,d)),r=this.path(a),l.styledMode||r.attr("fill","none"),O(r,{symbolName:u||void 0,x:i,y:s,width:e,height:o}),d&&O(r,d);else if(p){n=t.match(c)[1];let e=r=this.image(n);e.imgwidth=B(d&&d.width,x[n]&&x[n].width),e.imgheight=B(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:r,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&o&&r&&a&&n?(l=Math.min(o/a,r/n),M(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((o||0)-a*l)/2,((r||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,e.symbolUrl=t,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),C("img",{onload:function(){let t=f[l.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return r}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),T(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(i,s,t){let o=t.getElementsByTagName("tspan"),r=t.getAttribute(s);for(let t=0,e;tt.align())}}return O(I.prototype,{Element:o,SVG_NS:g,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:r,draw:u}),s.registerRendererType("svg",I,!0),I}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:v,createElement:h,defined:b,extend:r,pInt:l,pushUnique:o}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){o(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=l(o)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),r(this.styles,t),v(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:o,renderer:r,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,u={left:0,center:.5,right:1}[l],g=t.whiteSpace;if(v(o,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===o.tagName){let t=[a,l,o.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(m=this.textPxLength||(v(o,{width:"",whiteSpace:g||"nowrap"}),o.offsetWidth),((f=d||0)>this.oldTextWidth||f{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||o);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(r,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:o,objectEach:e,removeEvent:r}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(r(i,e,i.eventOptions[e]),delete i.eventOptions[e]),o(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(M,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:C,defined:A,destroyObjectProperties:i,extend:w,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:O}=e;return class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=O(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(o?O(o[n],a[n],n):n),v=(r&&P(y)&&(y=C(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:P(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y}),b=(T(this,"labelFormat",v),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),M.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),S=b.call(v,v),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;xg||e.autoRotation&&(h.styles||{}).width)&&(m=g)),m&&(this.shortenLabel?this.shortenLabel():(u.width=Math.floor(m)+"px",(i.style||{}).textOverflow||(u.textOverflow="ellipsis"),h.css(u)))}moveLabel(e,t){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===e?(i.movedLabel=s,r=!0,delete i.label):n(o.ticks,function(t){r||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,r=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),r||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,o=s.horiz,r=this.pos,a=O(this.tickmarkOffset,s.tickmarkOffset),r=this.getPosition(o,r,a,e),a=r.x,n=r.y,h=s.pos,l=h+s.len,o=o?a:n,a=(!s.chart.polar&&this.isNew&&(C(o)A(e,void 0,void 0,B(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);f(u,{xAxis:r,yAxis:C(r,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=B(e.opposite,this.opposite),this.side=B(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),o=i.labels,e=(this.type??(this.type=i.type||"linear"),this.uniqueNames??(this.uniqueNames=i.uniqueNames??!0),D(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=B(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===this.type||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=E(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,B(i.crosshair,z(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!E(this.reversed)&&(this.reversed=!0),this.labelRotation=j(o.rotation)?o.rotation:void 0,n(this,i),D(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=C(e,u[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=j(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=u.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=""+this.value;else if(r)p=s.dateFormat(r,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;D(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(r=>{if(r.reserveSpace()){let t=r.options,e,i=t.threshold,s,o;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=r.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),j(i)&&j(s)&&j(o)&&i-s=o,r=(o-i+s)/2,n=[s-r,B(t.min,s-r)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+o,B(t.max,s+o)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=m([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,-1===(s=E(s)?s:this.uniqueNames&&i?e?i.indexOf(t.name):B(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(o=i.length):o=s,void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let o=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(o.max=Math.max(o.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=o.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,o=!!s.categories,r=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(r||o||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=o?1:r?B(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!o||(t=t.is("xrange")?!r:r,h=Math.max(h,t&&M(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&o?1:t),r&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,D(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return j(t)&&j(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=j(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:f,softMin:m}=h,x=j(g)&&i[this.coll]?.[g],y=h.tickPixelInterval,v=h.maxPadding,b=h.minPadding,S=0,k,M=j(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,C,A,w,T;if(r||e||x||this.getTickAmount(),w=B(this.userMin,h.min),T=B(this.userMax,h.max),x?(k=(this.linkedParent=x).getExtremes(),this.min=B(k.min,k.dataMin),this.max=B(k.max,k.dataMax),this.type!==x.type&&L(11,!0,i)):(l&&E(d)&&j(s)&&j(o)&&(d<=o?(C=d,b=0):s<=d&&(A=d,v=0)),this.min=B(w,C,o),this.max=B(T,A,s)),j(this.max)&&j(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,B(o,this.min))<=0&&L(10,!0,i),this.min=O(n.log2lin(this.min),16),this.max=O(n.log2lin(this.max),16)),this.range&&j(o)&&(this.userMin=this.min=w=Math.max(o,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),j(this.min)&&j(this.max)&&(!j(this.userMin)&&j(m)&&mthis.max&&(this.max=T=f),e||this.axisPointRange||this.stacking?.usePercentage||x||!(S=this.max-this.min)||(!E(w)&&b&&(this.min-=S*b),!E(T)&&v&&(this.max+=S*v)),!j(this.userMin)&&j(u)&&(this.min=Math.max(this.min,u)),!j(this.userMax)&&j(p)&&(this.max=Math.min(this.max,p)),l&&j(o)&&j(s)&&(P=d||0,!E(w)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(E(h.min)?this.max=this.min:E(h.max)&&(this.min=this.max)),S=this.max-this.min),this.min!==this.max&&j(this.min)&&j(this.max)?x&&!M&&y===x.options.tickPixelInterval?this.tickInterval=M=x.tickInterval:this.tickInterval=B(M,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,e?1:S*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),D(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!M&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=B(h.minTickInterval,r&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!M&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],L(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=I(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&j(this.min)&&j(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==r&&i(t)===s&&(o=!0,a.push(t))})}if(o&&s){a.forEach(t=>{t=t.getThresholdAlignment(r);j(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return o}getThresholdAlignment(t){if((!j(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),j(this.threshold)){let t=v((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!E(t.tickInterval)&&!i&&this.lenr.push(O(r[r.length-1]+p)),f=()=>r.unshift(O(r[0]-p));if(j(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&j(s)&&j(i)){var m=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(j(u)&&j(t.threshold)){for(;r[u]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f:g)();if(p>8*t.tickInterval)break;p*=2}m()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){this.series.forEach(t=>{delete t.kdTree}),D(this,"setExtremes",o=f(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(T(B(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(T(B(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(B(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(B(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-e,this.len=Math.max(s?o:r,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?O(t.lin2log(this.min)):this.min,max:t?O(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&r!==1/0&&h&&(e=Math.ceil(h/o)),O(e*o)}let t=this.options.labels,s=t.padding||0,e=this.horiz,o=this.tickInterval,r=this.len/(((this.categories?1:0)+this.max-this.min)/o),a=t.rotation,n=O(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=o,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(j(a)?p=[a]:rg&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",m=i.length;!o&&m--;)(f=r[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=r[t],i=e&&e.label,s=a.width,o={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${o.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(r.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",r.gridZIndex),this.axisGroup=e("axis","",r.zIndex),this.labelGroup=e("axis-labels","-labels",r.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][o]:o,l=e.hasData(),d=s.title,c=s.labels,p=j(s.crossing),u=t.axisOffset,g=t.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,v=0,b=0,S,k;var M;e.showAxis=m=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===o||2===o||{1:"left",3:"right"}[o]===e.labelAlign,B(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){b=Math.max(r[t].getLabelSize(),b)}),e.staggerLines&&(b*=e.staggerLines),e.labelOffset=b*(e.opposite?-1:1)):w(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],v=E(y=d.offset)?0:B(d.margin,i?5:10))),e.renderLine(),e.offset=f*B(s.offset,u[o]?u[o]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},k=0===o?-e.labelMetrics().h:2===o?e.tickRotCorr.y:0,S=Math.abs(b)+v,b&&(S=(S-=k)+f*(i?B(c.y,e.tickRotCorr.y+f*c.distance):B(c.x,f*c.distance))),e.axisTitleMargin=B(y,S),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g&&(M=this.tickSize("tick"),u[o]=Math.max(u[o],(e.axisTitleMargin||0)+x+f*e.offset,S,a&&a.length&&M?M[0]+f*e.offset:0),M=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,g[h]=Math.max(g[h],M)),D(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],o=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],r={x:e?a+l:o+(n?this.width:0)+h+l,y:e?o+d-(n?this.height:0)+h:a+d};return D(this,"afterGetTitlePosition",{titlePosition:r}),r}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new S(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new S(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let s,o,r=this,a=r.chart,n=r.logarithmic,t=a.renderer,e=r.options,i=r.isLinked,h=r.tickPositions,l=r.axisTitle,d=r.ticks,c=r.minorTicks,p=r.alternateBands,u=e.stackLabels,g=e.alternateGridColor,f=e.crossing,m=r.tickmarkOffset,x=r.axisLine,y=r.showAxis,v=k(t.globalAnimation);if(r.labelEdge.length=0,r.overlap=!1,[d,c,p].forEach(function(t){w(t,function(t){t.isActive=!1})}),j(f)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(f,!0);r.horiz&&(t=e.len-t),r.offset=i*t}}if(r.hasData()||i){let i=r.chart.hasRendered&&r.old&&j(r.old.min);r.minorTickInterval&&!r.categories&&r.getMinorTickPositions().forEach(function(t){r.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){r.renderTick(t,e,i)}),m&&(0===r.min||r.single)&&(d[-1]||(d[-1]=new S(r,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(t,e){o=void 0!==h[e+1]?h[e+1]+m:r.max-m,e%2==0&&th&&(!d||r<=l)&&void 0!==r&&c.push(r),r>l&&(a=!0),r=o}else{var p=this.lin2log(h),s=this.lin2log(l),o=d?t.getMinorTickInterval():i.tickInterval,r=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=u(n=g("auto"===o?null:o,this.minorAutoInterval,(s-p)*r/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=r}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:r,extend:s,isNumber:c}=t;{t=e=e||{};let o;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new o(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let o=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),r=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&o)for(s&&(d=n.toString()===o.toString(),l=0),h=0;h{let t=[];for(var e of this.axes)for(var{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),i.compose(r,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){C(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,n={},h=t.chart.renderer,l=e.to,d=e.from,c=e.value,p=e.borderWidth,u=e.label,{label:g,svgElem:f}=this,m=[],x,y=M(d)&&M(l),v=M(c),b=!f,S={class:"highcharts-plot-"+(y?"band ":"line ")+(e.className||"")},k=y?"bands":"lines";if(t.chart.styledMode||(v?(S.stroke=o||"#999999",S["stroke-width"]=T(e.width,1),e.dashStyle&&(S.dashstyle=e.dashStyle)):y&&(S.fill=o||"#e6e9ff",p&&(S.stroke=e.borderColor,S["stroke-width"]=p))),k+="-"+(n.zIndex=a),(x=t.plotLinesAndBandsGroups[k])||(t.plotLinesAndBandsGroups[k]=x=h.g("plot-"+k).attr(n).add()),f||(this.svgElem=f=h.path().attr(S).add(x)),M(c))m=t.getPlotLinePath({value:s?.log2lin(c)??c,lineWidth:f.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!M(d)||!M(l))return;m=t.getPlotBandPath(s?.log2lin(d)??d,s?.log2lin(l)??l,e)}return!this.eventsAdded&&r&&(w(r,(t,e)=>{f?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),!b&&f.d||!m?.length?f&&(m?(f.show(),f.animate({d:m})):f.d&&(f.hide(),g&&(this.label=g=g.destroy()))):f.attr({d:m}),u&&(M(u.text)||M(u.formatter))&&m?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,o.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=R,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:o,outside:u,pointer:e}=this,{inverted:r,plotLeft:a,plotTop:n,polar:h}=o,{plotX:l=0,plotY:d=0}=t,g={},f=r&&t.h||0,{height:c,width:m}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,v=t=>t*x.scaleY,b=t=>{var e="x"===t;return[t,e?m:c,e?i:s].concat(u?[e?y(i):v(s),e?x.left-p+y(l+a):x.top-p+v(d+n),0,e?m:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+o.plotWidth:n+o.plotHeight])},S=b("y"),k=b("x"),M,C=!!t.negative,A=(!h&&o.hoverSeries?.yAxis?.reversed&&(C=!C),!this.followPointer&&H(t.ttBelow,!h&&!r===C)),w=function(t,e,i,s,o,r,a){var n=u?("y"===t?v:y)(p):p,h=(i-s)/2,l=se?o:o+f)}},T=function(t,e,i,s,o){if(oe-p)return!1;g[t]=o{!1!==w.apply(0,S)?!1!==T.apply(0,k)||M||(P(!0),O()):M?g.x=g.y=0:(P(!0),O())};return(r&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=H(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let o=this,r=h(!o.isHidden&&o.options.animation),a=o.followPointer||1<(o.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(r,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=k(r),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,u=a.styledMode,g={},f=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!S(r)&&r.series&&r.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var r=this.getAnchor(r,t),m=r[0],x=r[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(g=d.getLabelConfig()).points=i):g=d.getLabelConfig(),this.len=i.length;let s=X(c)?v(c,g,a):p.call(g,this),o=d.series;if(this.distance=H(o.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=m,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==o.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(f&&this.tt||{});n.style.width&&!u||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),this.outside&&t.attr({x:N(t.x||0,0,this.getPlayingField().width-(t.width||0))}),u||t.attr({stroke:n.borderColor||d.color||o.color||"#666666"}),this.updatePosition({plotX:m,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:r[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}b(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:u,plotLeft:g,plotTop:f,scrollablePixelsY:o=0,scrollablePixelsX:r,styledMode:m},distance:x,options:y,options:{positioner:v},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},b=p.outside&&"number"!=typeof r?R.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},S=p.getLabel(),k=this.renderer||e.renderer,M=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),C=f+h,A,w=u-o;function T(t,e,i,s,o=!0){let r,a;return{x:a=i?(r=M?0:w,N(t-s/2,b.left,b.right-s-(p.outside?l:0))):(r=e-C,N(a=o?t-s-x:t+x,o?a:b.left,b.right)),y:r}}let P=(t=X(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(r,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:u,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:o,series:r}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=k.label("",0,0,y[o?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,o)).attr(t).add(S)}return s.isActive=!0,s.attr({text:i}),m||s.css(y.style).attr({stroke:y.borderColor||e.color||r.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),o=s.width+i.strokeWidth();t&&(A=s.height,w+=A,M&&(C-=A));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:o=0,series:r}=h;var a,n;return i?(t=Math.max(g+s,g),e=f+u/2):({xAxis:a,yAxis:n}=r,t=a.pos+N(s,-x,a.len+x),r.shouldShowTooltip(0,n.pos-f+o,{ignoreX:!0})&&(e=n.pos+o)),{anchorX:t=N(t,b.left-x,b.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=v?v.call(p,o,l,h):T(n,a,t,o),r.push({align:v?0:void 0,anchorX:n,anchorY:a,boxWidth:o,point:h,rank:H(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return r},[]),O=(!v&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return W(t,{target:i,x:e})})),p.cleanSplit(),G(P,w),{left:l,right:l}),{container:E,outside:L,renderer:D}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tO.right&&(O.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:o,point:{isHeader:r}}=t,a={visibility:void 0===o?"hidden":"inherit",x:e,y:(o||0)+C,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(f(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),o&&(e.setState(),h(o,e),o.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),g(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),C(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,o=[],r={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),i.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),e=o.length;e--;)s[t=o[e]]&&r.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&r.plural.push(e)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=m()),this.resolveColor(),t.chart.pointCount++,C(this,"afterInit")}isValid(){return(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(A(t)||null===t)r[s[0]]=t;else if(d(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?r.name=t[0]:"number"==a&&(r.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:o}=e,r=0,a=0;if(A(t)&&A(h))return n&&(r=s?s.pos:i.plotLeft,a=o?o.pos:i.plotTop),i.inverted&&s&&o?[o.len-h+a,s.len-t+r]:[t+r,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=w(this.options.colorIndex,a),this.color=w(this.options.color,s)}setNestedProperty(t,o,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?o:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=w(i.valueDecimals,""),o=i.valuePrefix||"",r=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=o||r?e.replace(RegExp(t+"}","g"),o+t+"}"+r):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let o,r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(e);var t=n&&r.hasMockGraphic,t=null===r.y?!t:t;n&&t&&(r.graphic=n.destroy(),delete r.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(r.graphic=n.destroy()),e?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index,a.updateParallelArrays(r,o),l.data[o]=p(l.data[o],!0)||p(e,!0)?r.options:w(e,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=w(i,!0),!1===t?d():r.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=w(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=u(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(f(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=o(this,t,e))}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=k.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=w(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&A(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,w(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));var y=o.halo,v=this.graphic||m,b=v&&v.visibility||"inherit";y&&y.size&&v&&"hidden"!==b&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(v.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+w(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:b,zIndex:-1}),p.point=this,d.styledMode||p.attr(M({fill:this.color||i.color,"fill-opacity":y.opacity},S.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),C(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(r(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,o,e){var i;let v=t["parse"],{charts:g,composed:s,isTouchDevice:r}=o,{addEvent:f,attr:a,css:n,extend:h,find:m,fireEvent:p,isNumber:l,isObject:b,objectEach:d,offset:c,pick:x,pushUnique:u,splat:y}=e;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],o.chartCount||(S.unbindDocumentMouseUp&&S.unbindDocumentMouseUp.forEach(t=>t()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:o}=this,{mouseDownX:r=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=o?1:i.plotHeight,s&&(e=h-r,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),!(10t.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),e=!0));var r;e&&i.redraw(),s&&t&&(this.hasDragged&&(r=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...r},from:r})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:o,yAxis:r}=i.series,a=i.shapeArgs;if(o&&r){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:r.len+r.pos-e,chartY:o.len+o.pos-t}:{chartX:t+o.pos,chartY:e+r.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!r?t:this.findNearestKDPoint(l,o,r));return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=m(t.points,function(t){return t.x===c.x&&!t.isNull});b(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var o=s.pageX-e.left,r=s.pageY-e.top;return h(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),o.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(g[x(S.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){g[x(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:o}=i,r=[].map.call(e.touches||[],t=>i.normalize(t)),a=r.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(r),from:t(o),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=r}reset(e,t){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let o=this.chart,i=o.series,r=o.tooltip&&o.tooltip.options.enabled?o.tooltip:void 0,a=!!r&&r.shared,n=t||o.hoverPoint,h=n&&n.series||o.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==o.hoverPoint||r&&r.isHidden)){if((o.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),o.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),o.hoverPoint&&o.hoverPoint.firePointEvent("mouseOut"),!n.series)return;o.hoverPoints=c,(o.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(u?c:n,s)})}else p&&r&&!r.isHidden&&(t=r.getAnchor([{}],s),o.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(o.container.ownerDocument,"mousemove",t=>g[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),o.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=o.hoverPoint)&&t.series[e.coll]===e?t:m(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(f(t,"mouseenter",this.onContainerMouseEnter.bind(this)),f(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=[]),S.unbindDocumentMouseUp.push(f(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(f(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(f(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),f(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=f(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),f(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(r){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),f(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=o.charts[x(S.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(S.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&16<=Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}return(i=S=S||{}).compose=function(t){u(s,"Core.Pointer")&&f(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},S}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:v,pick:b}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,b(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"!==r.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,u],["L",n-x,u]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),m&&!1!==m.enabled&&n){let t=Math.min(b(m.radius,d),d);0===l.indexOf("url")&&(m=v(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,u-t,2*t,2*t,y({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,o){let r=h.plotOptions||{};if(e=e||"",r[t]=c(r[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,o){class p extends a{}l(p.prototype,o),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,o=e.prototype;return o.type=t,o.pointClass||(o.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,l,r,a,d,c){let{animObject:p,setAnimation:u}=t,g=e["defaultOptions"],n=i["registerEventOptions"],{svg:f,win:m}=s,y=a["seriesTypes"],{arrayMax:M,arrayMin:C,clamp:A,correctFloat:w,crisp:x,defined:T,destroyObjectProperties:R,diffObjects:z,erase:v,error:P,extend:b,find:G,fireEvent:O,getClosestDistance:N,getNestedProperty:h,insertItem:S,isArray:E,isNumber:L,isString:W,merge:D,objectEach:k,pick:j,removeEvent:X,splat:H,syncTimeout:B}=c;class I{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(O(this,"init",{options:e}),this),o=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,r=!1!==e.visible,r=(s.linkedSeries=[],s.bindAxes(),b(s,{name:e.name,state:"",visible:r,selected:!0===e.selected}),n(this,e),e.events);(r&&r.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),o.length&&(i=o[o.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,o)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),O(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,o=s.options,t=s.chart;O(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(o[e],0)===t.index||void 0!==o[e]&&o[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),O(this,"afterBindAxes")}updateParallelArrays(i,s,e){let o=i.series,t=L(s)?function(t){var e="y"===t&&o.toYData?o.toYData(i):i[t];o[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(o[t+"Data"],e)};o.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},r||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(r?{}:{color:this.color,fillColor:this.fillColor}),O(this,"afterSetOptions",{options:c}),c}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o,r=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||r.options.chart.colorCount;e||(T(o=j("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||g.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,o;var r=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(r){r=this.chart.get(r);r instanceof l&&(i=r)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=G(n,t)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),-1!==(o=void 0===o&&L(a)?this.xData.indexOf(a,t):o)&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),o=!s&&L(o)&&n[o]&&n[o].touched?void 0:o}updateData(t,e){let o=this.options,r=o.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||L(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==o.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||r&&r.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||r&&r.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=M(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let o=this,r=o.points,a=r&&r.length||0,n=o.options,h=o.chart,l=n.dataSorting,d=o.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=o.pointArrayMap,f=g&&g.length,m=n.keys,x,y,v,b=0,S=1,k;h.options.chart.allowMutatingData||(n.data&&delete o.options.data,o.userOptions.data&&delete o.userOptions.data,k=D(!0,e));var M=(e=k||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(v=h.options.chart.allowMutatingData&&!1!==s&&M&&a&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.boosted?this.updateData(e,i):v)){o.xIncrement=null,o.colorCounter=0,this.parallelArrays.forEach(function(t){o[t+"Data"].length=0});let t=c&&c!(!E(t)||!m&&!L(t[0]));if(L(s)&&L(C))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],u=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,h=a.start,n=!0));t=N([o?p.map(o.log2lin):p],()=>e.requireSorting&&!g&&P(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,O(this,"afterProcessData")}cropData(t,e,i,s){let o=t.length,r,a,n=0,h=o;for(r=0;r=i){n=Math.max(0,r-1);break}for(a=r;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,o=this.pointClass,r=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g=x&&(S[f-r]||u)<=y,c&&p)if(m=g.length)for(;m--;)L(g[m])&&(o[v++]=g[m]);else o[v++]=g;var k={activeYData:o,dataMin:C(o),dataMax:M(o)};return O(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;0<=o&&o{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,O(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=j(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:o}=t,r=(i=y?a-i:i)-s;o?.push(["L",e,Math.abs(r){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],b?a-t[1]:t[1],b?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=A(r.toPixels(j(t.value,e),!0)||0,0,a)}),f&&!this.showLine&&f.hide(),g&&g.hide(),"y"===o&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:o}=(m.reversed&&e.reverse(),t),r=0,a=0,n=m.len,h=x.len;b?(r=i,n=u):(a=i,h=u);var l=[["M",r,a],["L",n,a],["L",n,h],["L",r,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),u=i,y&&(c(d),g&&c(l)),s?(s.animate({d:d}),o?.animate({d:l})):(s=t.clip=v.path(d),g&&(o=t.simpleClip=v.path(l))),f&&t.graph?.clip(s),g&&t.area?.clip(o)})}else this.visible&&(f&&f.show(),g&&g.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||X(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=p(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;O(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,O(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[o]||0)-(e[o]||0)),{point:e[r=Math.floor(a/2)],left:t(e.slice(0,r),i+1,s),right:t(e.slice(r+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let g=this,[f,m]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(g.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!g.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){let r=i.point,a=g.kdAxisArray[s%o],n,h,l=r;p=r,u=(d=e)[f],c=p[f],u=T(u)&&T(c)?u-c:null,c=d[m],d=p[m],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((u&&u*u||0)+c*c)-d,p.distX=T(u)?Math.abs(u)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(r[a]||0)+(y&&r.marker?.radius||0),p=c<0?"left":"right",u=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,o))[x]{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(f?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),O(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=j(e,!0);var g={series:this},f=(this.pointClass.prototype.applyOptions.apply(g,[t]),g.x);if(a=u.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[f]=g.name),p.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==o&&O(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===r.length&&n.splice(t,1),r.splice(t,1),o.options.data.splice(t,1),o.updateParallelArrays(a||{series:o},"splice",[t,1]),a&&a.destroy(),o.isDirty=!0,o.isDirtyData=!0,e&&h.redraw()}let o=this,r=o.data,a=r[t],n=o.points,h=o.chart;u(i,h),e=j(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),j(t,!0)&&r.redraw(e)}!1!==i?O(o,"remove",null,a):a()}update(t,e){O(this,"update",{options:t=z(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=y[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),f=(u=u||r,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&b(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=D(o,{index:(void 0===o.index?i:o).index,pointStart:a?.series?.pointStart??o.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[u].prototype);else{var m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;b(i,y[u].prototype),m?i.hcEvents=m:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),O(this,"afterUpdate"),j(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&O(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&O(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=j(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=j(a[e].opacity,l)),o&&!o.dashstyle&&L(h))for(var d of[o,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&r&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!r:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),o&&(s.isDirtyBox=!0),O(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),O(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){o[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return I.defaultOptions=r,I.types=a.seriesTypes,I.registerType=a.registerSeriesType,b(I.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=I}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,u,g,s,o,r){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],f=o["format"],{addEvent:m,createElement:x,css:y,defined:v,discardElement:b,find:S,fireEvent:k,isNumber:M,merge:C,pick:A,pushUnique:w,relativeLength:T,stableSort:P,syncTimeout:O}=r;class E{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=A(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=C(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=A(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(C(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,A(e,!0)&&i.redraw(),k(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:o,marker:r}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(C(h?this.itemStyle:t)),c?.attr(a({stroke:o||n.color})),p&&p.attr(a(r&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}k(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s},e[v(e.translateY)?"animate":"attr"](h,void 0,()=>{k(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&b(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,o=this.group&&this.group.alignAttr,r=this.clipHeight||this.legendHeight,a=this.titleHeight;o&&(s=o.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:o.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*S?b.height:S))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?A(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&A(e.showInLegend,!v(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),k(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let o=this.chart,r=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!v(i[e])&&(o[l[e]]=Math.max(o[l[e]],o.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*r[e%2?"x":"y"]+A(r.margin,12)+s[e]+(o.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,o,r;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=S(s?t.points:t.points.slice(0).reverse(),function(t){return M(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,r=t.yAxis.top-a.plotTop,o=t.visible?(e?e.plotY:t.yAxis.height)+(r-.3*i):r+t.yAxis.height,n.push({target:o,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},M(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0v&&!1!==c.enabled?(this.clipHeight=m=Math.max(v-20-this.titleHeight-l,0),this.currentPage=A(this.currentPage,1),this.fullHeight=t,f.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=g.length;(!o||i-g[o-1]>m&&(x||i)!==g[o-1])&&(g.push(x||i),o++),y.pageIx=o-1,x&&((f[e-1].legendItem||{}).pageIx=o-1),e===f.length-1&&i+s-g[o-1]>m&&i>g[o-1]&&(g.push(i),y.pageIx=o),i!==x&&(x=i)}),S||(S=s.clipRect=r.clipRect(0,l-2,9999,0),s.contentGroup.clip(S)),e(m),b||(this.nav=b=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol("triangle",0,0,u,u).add(b),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=r.text("",15,10).addClass("highcharts-legend-navigation"),!o.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(b),this.down=r.symbol("triangle-down",0,0,u,u).add(b),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=v):b&&(e(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>o?o:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),O(()=>{k(this,"afterScroll",{currentPage:l})},d(A(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,o=i.legendItem||{},r=s.chart.renderer.boxWrapper,a=i instanceof g,n=i instanceof u,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,o.symbol]:[o.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&r.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(C(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),i.setState()}).on("click",function(t){r.removeClass(h),k(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&k(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),m(e.checkbox,"click",function(t){t=t.target;k(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=E=E||{}).compose=function(t){w(h,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},E}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,z,a,G,N,W,X,u,o,c,H){let{animate:n,animObject:F,setAnimation:f}=t,{defaultOptions:h,defaultTime:Y}=e,U=i["numberFormat"],g=z["registerEventOptions"],{charts:p,doc:m,marginNames:l,svg:V,win:r}=a,d=W["seriesTypes"],{addEvent:x,attr:y,createElement:v,css:b,defined:C,diffObjects:S,discardElement:_,erase:Z,error:k,extend:A,find:M,fireEvent:w,getStyle:T,isArray:q,isNumber:P,isObject:K,isString:O,merge:E,objectEach:L,pick:D,pInt:$,relativeLength:j,removeEvent:B,splat:I,syncTimeout:J,uniqueKey:Q}=o;class R{static chart(t,e,i){return new R(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(O(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:D(t.zoomType,e.type),key:D(t.zoomKey,e.key),pinchType:D(t.pinchType,e.pinchType),singleTouch:D(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:E(e.resetButton,t.resetZoomButton)}}init(i,s){w(this,"init",{args:arguments},function(){var t=E(h,i),e=t.chart;this.userOptions=A({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new u(i.time):a.time,this.numberFormatter=e.numberFormatter||U,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,g(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),w(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],o=(s||k(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],o=this.options[t]=I(this.options[t]).slice(),r=this.userOptions[t]=this.userOptions[t]?I(this.userOptions[t]).slice():[];if(this.hasRendered&&(o.splice(i),r.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)),!i.ignoreY&&g.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+u:a+u)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(g.isInsidePlot=!1)),w(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){w(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&w(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){w(t,"afterSetExtremes",A(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),w(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),w(this,"redraw"),w(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let o=M(this.axes,s)||M(this.series,s);for(let t=0;!o&&t(t.getPointsCollection().forEach(t=>{D(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=E(this.options[i],t),o=this[i];o&&t&&(this[i]=o=o.destroy()),e&&!o&&((o=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||o.css(A("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=o)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",o="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var r;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,r=Math.round(e.getBBox(i.useHTML).height),e.align(A({y:"bottom"===s?t:o+t,height:r},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+r):"bottom"===s&&(a[2]=Math.ceil(a[2]+r))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,w(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{var e;if(t!==this.container)return e=t.style.display,t.style.display="none",[t,e]}),e={width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox(),s=1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(r,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,f(i,s);var i=o.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:r=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:b)(s.container,{width:t+r+"px",height:e+a+"px"},i),s.setChartSize(!0),o.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,w(s,"resize"),setTimeout(()=>{s&&w(s,"endResize")},F(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),w(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){w(this,"resetMargins");let o=this,r=o.options.chart,t=r.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=r[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){o[i][e]=D(r[i+t],s[e])})}),l.forEach(function(t,e){o[t]=D(o.margin[e],o.spacing[e])}),o.axisOffset=[0,0,0,0],o.clipOffset=[e,e,e,e],o.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,v,b,S,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),o?v=b=m.strokeWidth():(b=(v=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(v||m["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=v),m.attr(S).shadow(t.shadow)),m[k]({x:b/2,y:b/2,width:i-b-v%2,height:s-b-v%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](u),o||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,w(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,o=this,r=o.options.chart,a=o.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[r.type],s=r[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);o[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(O(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=D(e.options.visible,t.options.visible,e.visible))}}),w(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(var l of(this.setTitle(),w(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){r=d.tickLength,l.createGroups();let t=new H(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),r=e&&D(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):r){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||1(h?1:1.1),n=g/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=E(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(r.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,o=i.container,r=o&&o.parentNode;for(w(i,"destroy"),i.renderer.forExport?Z(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),B(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),o&&(o.innerHTML=c.emptyHTML,B(o),r&&_(o)),L(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),q(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),w(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),w(this,"load"),w(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),w(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),b(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:o,selection:r,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:u,len:g,minPointOffset:f=0,options:m,reversed:x}=p,y=u?"width":"height",v=u?"x":"y",b=D(a[y],p.len),y=D(i[y],p.len),S=Math.abs(b)<10?1:b/y,y=(i[v]||0)+y/2-p.pos,v=y-((a[v]??p.pos)+b/2-p.pos)/S,b=x&&!h||!x&&h?-1:1;if(o||!(y<0||y>p.len)){let t=p.toValue(v,!0)+(r||p.isOrdinal?0:f*b),e=p.toValue(v+g/S,!0)-(!r&&!p.isOrdinal&&f*b||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==S&&!o&&"yAxis"===p.coll&&!i){for(var k of p.series){k=k.getExtremes(k.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(k.dataMin)&&P(k.dataMax)&&(i.dataMin=Math.min(k.dataMin,i.dataMin),i.dataMax=Math.max(k.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:g,max:f}=A(p.getExtremes(),i||{}),b=x??m.min,x=y??m.max,y=e-t,M=p.categories?0:Math.min(y,x-b),b=b-M*(C(m.min)?0:m.minPadding),x=x+M*(C(m.max)?0:m.maxPadding),M=p.allowZoomOutside||1==S||"zoom"!==n&&1m&&(e=m,1<=S&&(t=e-y)),(o||p.series.length&&(t!==g||e!==f)&&t>=b&&e<=m)&&(r?r[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(o?void 0:t,o?void 0:e,!1,!1,{move:v,trigger:n,scale:S}),!o&&(t>b||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return A(R.prototype,{callbacks:[],collectionsWithInit:{xAxis:[R.prototype.addAxis,[!0]],yAxis:[R.prototype.addAxis,[!1]],series:[R.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),R}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let A=t["stop"],s=e["composed"],{addEvent:u,createElement:g,css:w,defined:T,merge:f,pushUnique:o}=i;function r(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){o(s,this.compose)&&(u(t,"afterInit",a),u(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),u(e,"render",r),u(i,"show",a))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=f(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=f(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),T(o)&&!e.skipAxes))for(var c of t.axes)c.horiz===o&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),o=t.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=g("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=g("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=g("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=g("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),w(i.renderTo,{overflow:"visible"}),u(i,"afterShowResetZoom",r),u(i,"afterApplyDrilldown",r),u(i,"afterLayOutTitles",r),u(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+u,y=(e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),A(t.container),w(n,{width:m+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),w(s,{width:r+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*g,s.scrollTop=u*f),d-o[0]-1),v=l-o[3]-1,b=d+h+o[2]+1,S=l+c+o[1]+1,k=l+c-p,M=d+h-u,C=[["M",0,0]];p?C=[["M",0,y],["L",l-1,y],["L",l-1,b],["L",0,b],["Z"],["M",k,y],["L",r,y],["L",r,b],["L",k,b],["Z"]]:u&&(C=[["M",v,0],["L",v,d-1],["L",S,d-1],["L",S,0],["Z"],["M",v,M],["L",v,a],["L",S,a],["L",S,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:C})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let r=t["format"],g=e["series"],{destroyObjectProperties:s,fireEvent:f,isNumber:m,pick:x}=i;return class{constructor(t,e,i,s,o){var r=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,o=t?r(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=i.renderer.label(o,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:o,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,f(this,"afterRender")}setOffset(t,e,o,r,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:o,boxTop:r,defaultX:i,xAxis:s}),u=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))?i:!1)&&g.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=m(h.x)&&m(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}f(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||m(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,w,s){let a=t["getDeferredAnimation"],{prototype:o}=i["series"],{addEvent:r,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:O,isNumber:l,objectEach:d,pick:E}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,E(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function u(){this.stacking||(this.stacking=new v(this))}function g(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function f(){let r,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,o;for(;e--;)i=h[e],r=a.getStackIndicator(r,i,a.index,t),(o=(s=n[t]?.[i])?.points[r.key||""])&&l.call(a,o,s,e)})}function m(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}return{compose:function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(r(t,"init",u),r(t,"destroy",p),s.getStacks=c,o.getStackIndicator=g,o.modifyStacks=f,o.percentStacker=m,o.setGroupedPoints=x,o.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:m,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,o=s?"animate":"attr",r=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},r?i.dashstyle=r:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[o](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],u=[],g,f=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&t&&(f=4-f),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,o=t.plotY,r=n[e-1],a=t.isNull||"number"!=typeof o;(t.leftCliff||r&&r.rightCliff)&&!l&&(g=!0),g=a&&!m(h)&&0{let i={},s=t.fillColor||n.fillColor,o=t.area,r=o?"animate":"attr";o?(o.endX=this.preventGraphAnimation?null:a.xMap,o.animate({d:a})):(i.zIndex=0,(o=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,o.css({pointerEvents:this.stickyTracking?"none":"auto"})),o[r](i),o.startX=a.xMap,o.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],o=p&&x[s.x].points[m],r=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||r?(n=(r?o[0]:o[1])+a,h=o[0]+a,l=!!r):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(f.push({plotX:c,plotY:null===n?v:u.getThreshold(n),isNull:l,isCliff:!0}),g.push({plotX:c,plotY:null===h?v:u.getThreshold(h),doCurve:!1}))}let c,s,o,t=S.prototype.getGraphPath,e=this.options,p=e.stacking,u=this.yAxis,g=[],f=[],m=this.index,x=u.stacking.stacks[this.stackKey],y=e.threshold,v=Math.round(u.getThreshold(e.threshold)),r=k(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=b.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,b}getStackPoints(e){let d=this,s=[],c=[],o=this.xAxis,p=this.yAxis,u=p.stacking.stacks[this.stackKey],g={},f=p.series,m=f.length,x=p.options.reversedStacks?1:-1,y=f.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(r,a){let e=0,n,h;if(g[r]&&!g[r].isNull)s.push(g[r]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=u[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,o=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof r.x){let e=t[r.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),o=t.length}}}),s=this.xAxis.reversed?o-1-s:s;var n=(o-1)*a.paddedWidth+e;t=(r.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,u=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(u.borderWidth,t?0:1),g=c.xAxis,f=c.yAxis,m=u.threshold,x=P(u.minPointLength,5),y=c.getColumnMetrics(),v=y.width,b=c.pointXOffset=y.offset,S=c.dataMin,k=c.dataMax,M=c.translatedThreshold=f.getThreshold(m),C=c.barW=Math.max(v,1+2*e);u.pointPadding&&(C=Math.ceil(C)),o.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,M),i=999+Math.abs(e),s=t.plotX||0,o=A(t.plotY,-i,f.len+i),r,a=Math.min(o,e),n=Math.max(o,e)-a,h=v,l=s+b,d=C;x&&Math.abs(n)x?e-x:M-(r?x:0)),w(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-v)/2)),u.centerInCategory&&!u.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[A(f.len+f.pos-p.plotLeft-o,f.pos-p.plotLeft,f.len+f.pos-p.plotLeft),g.len+g.pos-p.plotTop-l-d/2,n]:[g.left-p.plotLeft+l+d/2,A(o+f.pos-p.plotTop,f.pos-p.plotTop,f.len+f.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?M:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=P(t&&t.opacity,i.opacity,1),g=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&f(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,u=P(a.opacity,u)),{fill:l,stroke:d,"stroke-width":p,opacity:u});return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let r,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,o=i&&n.pointCountt?.enabled)}function a(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===L(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||L(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();var f,m,x,y,v;u&&g&&(f=e.getBBox(),m=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=b({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),b(i,{width:f.width,height:f.height}),v=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,v),e.align(S(i,{width:m.width,height:m.height}),!1,s,!1),e.alignAttr.x+=x*(m.width-f.width),e.alignAttr.y+=y*(m.height-f.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(f.width-m.width)/2,y:e.alignAttr.y+(f.height-m.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,f,s,o):L(i.crop,!0)&&({x:t,y:v}=e.alignAttr,u=r.isInsidePlot(t,v,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+f.width-1,v+f.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})),o&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let b,S=(t=t||this.points,this),k=S.chart,M=S.options,C=k.renderer,{backgroundColor:e,plotBackgroundColor:i}=k.options.chart,A=C.getContrast(O(i)&&i||O(e)&&e||"#000000"),s=g(S),{animation:o,defer:r}=s[0],a=r?n(k,o,S):{defer:0,duration:0};P(this,"drawDataLabels"),S.hasDataLabels?.()&&(b=this.initDataLabels(a),t.forEach(y=>{let v=y.dataLabels||[],t=(h(u(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(f=x.operator,m=y[x.property],x=x.value,">"===f&&x="===f&&x<=m||"<="===f&&m<=x||"=="===f&&m==x||"==="===f&&m===x||"!="===f&&m!=x||"!=="===f&&m!==x)),{backgroundColor:s,borderColor:o,distance:r,style:a={}}=t,n,h,l,d,c={},p=v[e],u=!p,g;var f,m,x;i&&(h=L(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?w(h,n,k):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,k.styledMode||(a.color=L(t.color,a.color,O(S.color)?S.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(g=s),y.contrastColor=C.getContrast("auto"!==g&&g||y.color||S.color),a.color=g||!T(r)&&t.inside||D(r||0)<0||M.stacking?y.contrastColor:A):delete y.contrastColor,M.cursor&&(a.cursor=M.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},k.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===o?y.color:o,c["stroke-width"]=t.borderWidth),E(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,u=!0),i&&T(l)&&(p?c.text=l:(p=C.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),k.styledMode?a.width&&p.css({width:a.width,textOverflow:a.textOverflow}):p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(b),S.alignDataLabel(y,p,t,void 0,u),p.isActive=!0,v[e]&&v[e]!==p&&v[e].destroy(),v[e]=p))}),v.length);for(;t--;)v[t]&&v[t].isActive?v[t].isActive=!1:(v[t]?.destroy(),v.splice(t,1));y.dataLabel=v[0],y.dataLabels=v})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&0<=g?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&0<=f?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function u(e,i){let t=[],s;if(o(e)&&!o(i))t=e.map(function(t){return S(t,i)});else if(o(i)&&!o(e))t=i.map(function(t){return S(e,t)});else if(o(e)||o(i)){if(o(e)&&o(i))for(s=Math.max(e.length,i.length);s--;)t[s]=S(e[s],i[s])}else t=S(e,i);return t}function g(t){var e=t.chart.options.plotOptions;return h(u(u(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function f(t,e,i,s,o){var r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?o.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var o;let r=t["composed"],c=i["series"],{merge:p,pick:u,pushUnique:a}=s;return(o||(o={})).compose=function(t){e.compose(c),a(r,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},o;function n(t,e,i,s,o){var r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=u(t.below,t.plotY>u(this.translatedThreshold,a)),d=u(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:o}=e.seriesTypes,{addEvent:r,extend:a,merge:n}=i;class h extends o{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,o,r;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),r=h[t+"Axis"],s=l[t]*r.transA,r&&!r.logarithmic&&(o=Math.max(0,(a[i]||0)-s),r=Math.min(r.len,(a[i]||0)+s),a[i]=o+(r-o)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(o.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,g,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,u=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(r[0],"50%"),x(r[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof g||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=y(p,[s,o,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;o(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:o}=e,r=this["series"],[a,n,h]=r.center,l=h/2,{plotLeft:d,plotWidth:c}=r.chart,p="left"===t.alignment,{x:u,y:g}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-g)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",u,g]];return(p?f<=u&&f>=s.x:f>=u&&f<=s.x)&&m.push(["L",f,g]),m.push(["L",s.x,s.y],["L",o.x,o.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:v,merge:p,pick:u}=h;class g extends r{animate(t){let s=this,e=s.points,o=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:u(t.startR,s.center&&s.center[3]/2),start:o,end:o}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var o=this.center,i=this.radii?this.radii[i.index]||0:o[2]/2,r=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-o[1])/(i+r),-1,1));return o[0]+Math.cos(t)*(i+r)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}v(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function d(t,e){var{center:i,options:s}=this,o=i[2]/2,r=t.angle||0,a=Math.cos(r),r=Math.sin(r),n=i[0]+a*o,i=i[1]+r*o,o=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+r*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*o,y:i+r*o},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,r=Math.round(a.chartWidth/3),v=f.center,b=v[2]/2,n=v[1],h=[[],[]],S=[0,0,0,0],k=f.dataLabelPositioners,l,M,C,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(o=>{(o.dataLabels||[]).forEach((t,e)=>{var i=v[2]/2,s=t.options,i=g(s?.distance||0,i);0===e&&h[o.half].push(o),!A(s?.style?.width)&&t.getBBox().width>r&&(t.css({width:Math.round(.7*r)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(o,i),d=Math.max(d,i)})}),h.forEach((p,u)=>{let t=p.length,g=[],e,i,s=0,o;t&&(f.sortByAngle(p,u-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,o=s?.natural.y||0,r=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=o,d="inherit";if(s){if(g&&A(i)&&0m-r&&0===u&&(t=Math.round(h+M-m+r),S[1]=Math.max(t,S[1])),l-C/2<0?S[0]=Math.max(Math.round(-l+C/2),S[0]):l+C/2>x&&(S[2]=Math.max(Math.round(l+C/2-x),S[2])),s.sideOverflow=t}}})}))}),0!==u(S)&&!this.verifyDataLabelOverflow(S)||(this.placeDataLabels(),this.points.forEach(r=>{(r.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},o=t.dataLabelPosition;s&&(l=t.connector,o&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return a||(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h(r,o,e[2]-Math.max(t[0],t[2])):(r=h(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;o(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=o.labelrank{a(t,t=>{t.label&&o.push(t.label)})});for(var i of s.series||[]){var r;i.visible&&i.hasDataLabels?.()&&((r=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(r&&(s-=f),o+=f),m(g,{brBoxHeight:o,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function u(t,e,i,s,o={}){let r=C(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return u&&(o=M(c,c-u),f[0]-=o,m[0]+=o,x[1]=k[1]=e+c-u),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function r(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,o)},this),l(...o.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,o=o.toString()||void 0;e=s&&s.ruleIds;o!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,o,r,a,n,h,l,d,c,p,u,g,f,m,x,y,v,b,S,k,M,C,A,w,T,P,O,E,L,D,j,B,I){return t.AST=r,t.Axis=p,t.Chart=k,t.Color=B,t.DataLabel=E,t.Fx=s,t.HTMLElement=c,t.Legend=b,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||L,t.PlotLineOrBand=f,t.Point=y,t.Pointer=v,t.RendererRegistry=n,t.Series=w,t.SeriesRegistry=T,t.StackItem=A,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=I,t.Tooltip=x,t.animate=o.animate,t.animObject=o.animObject,t.chart=k.chart,t.color=B.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=o.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=o.setAnimation,t.setOptions=i.setOptions,t.stop=o.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),E.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),b.compose(t.Chart),g.compose(t.Axis),L.compose(t.Chart),O.compose(t.Series.types.pie),f.compose(t.Chart,t.Axis),v.compose(t.Chart),j.compose(t.Chart),M.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Series/DataModifyComposition.js",[t["Core/Axis/Axis.js"],t["Core/Series/Point.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,e,i,s){var o;let r=e.prototype["tooltipFormatter"],{addEvent:a,arrayMax:n,arrayMin:h,correctFloat:l,defined:d,isArray:c,isNumber:p,isString:u,pick:g}=s;{function f(e,i,t){this.isXAxis||(this.series.forEach(function(t){"compare"===e&&"boolean"!=typeof i?t.setCompare(i,!1):"cumulative"!==e||u(i)||t.setCumulative(i,!1)}),g(t,!0)&&this.chart.redraw())}function m(e){function t(t){e=e.replace("{point."+t+"}",(0{delete t.change}):this.dataModify.initCompare(t)}function b(){if(this.xAxis&&this.processedYData&&this.dataModify){let t=this.processedXData,e=this.processedYData,i=e.length,s=!0===this.options.compareStart?0:1,o=-1,r;for(this.pointArrayMap&&(o=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),r=0;r=(this.xAxis.min||0)){this.dataModify.compareValue=a;break}}}}function S(t,e){this.setModifier("compare",t,e)}function k(t,e){t=g(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},g(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function M(t,e){this.setModifier("cumulative",t,e)}(e=o=o||{}).compose=function(t,e,i){let s=e.prototype,o=i.prototype,r=t.prototype;return r.setCompare||(r.setCompare=v,r.setCumulative=k,a(t,"afterInit",x),a(t,"afterGetExtremes",y),a(t,"afterProcessData",b)),s.setCompare||(s.setCompare=S,s.setModifier=f,s.setCumulative=M,o.tooltipFormatter=m),t};class C{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let i=1/0,s=-1/0;return t.reduce((t,e)=>{e=t+e;return i=Math.min(i,e,t),s=Math.max(s,e,t),e}),[i,s]}initCompare(s){this.modifyValue=function(e,i){var t=this.compareValue;if(void 0===(e=null===e?0:e)||void 0===t)return 0;if("value"===s?e-=t:e=e/t*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}}initCumulative(){this.modifyValue=function(s,o){if(void 0===(s=null===s?0:s)||void 0===o)return 0;{var r=0=this.series.xAxis.min;return t&&(t.cumulativeSum=!e||i?s:void 0),s}}}}e.Additions=C}return o}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let o,i=t["isTouchDevice"],{addEvent:r,merge:a,pick:n}=s,h=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,o=this.navigator;var r,a;o&&(t=s&&s.options,e=o.xAxis,i=o.yAxis,{scrollbarHeight:r,scrollButtonSize:a}=o,this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new o(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new o(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function f(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(h,e)){let t=e.prototype;o=i,t.callbacks.push(g),r(e,"afterAddSeries",l),r(e,"afterSetChartSize",d),r(e,"afterUpdate",c),r(e,"beforeRender",p),r(e,"beforeShowResetZoom",u),r(e,"update",f)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:h,defined:c,isNumber:l,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function o(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;var l;this.isXAxis&&(o?.enabled||n?.enabled)&&("y"===h&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===h||d&&"xy"===a)&&this.options.range&&(l=r.previousZoom,c(t.min)?r.previousZoom=[this.min,this.max]:l&&(t.min=l[0],t.max=l[1],r.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class r{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=h(a+r)),c(s)||(n=h(n-r)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=h(a+r)),c(s)||(n=h(n-r)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,o={}){var i=o.width?o.width/2:i,r=n(o.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:r})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i,a,n){let h=t["setOptions"],l=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:u,pushUnique:g}=n;function f(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(l,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,r),p(i,"afterUpdate",f),h({navigator:o}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let o=t["composed"],{addEvent:r,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function h(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function l(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),r(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:o,scrollMin:r,scrollMax:a}=c(n),a=a-r;d(s)&&d(o)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=r+a*this.to,r+a*this.from):(e=r+a*(1-this.from),r+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:o}=c(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,h=this.options.margin||0;var l;r&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(n[1]+=h),1):(this.opposite&&(n[0]+=a),l=r.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:h):this.opposite?0:h,r.position(l,this.top,this.width,this.height),this.opposite&&(n[0]+=h),0),n[t]+=r.size+(r.options.margin||0),isNaN(s)||isNaN(o)||!d(this.min)||!d(this.max)||this.dataMin===this.dataMax?r.setRange(0,1):this.min===this.max?(l=this.pointRange/(this.dataMax+1),e=l*this.min,i=l*(this.max+1),r.setRange(e,i)):(e=(this.min-s)/(o-s),i=(this.max-s)/(o-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,i):r.setRange(1-i,1-e)))}t.compose=function(t,e){n(o,"Axis.Scrollbar")&&(i=e,r(t,"afterGetOffset",h),r(t,"afterInit",l),r(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["defaultOptions"],{addEvent:h,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:l,merge:p,pick:u,removeEvent:g}=o;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,o=this.scrollbarButtons,r=this.options,a=this.size,n=s.g().add(this.group);if(o.push(n),r.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:r.buttonBorderRadius},t.strokeWidth())),s.path(f.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(o[i]));this.chart.styledMode||e.attr({fill:r.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,r),y:-a(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var o,r=this.options,a=r.vertical,n=r.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(o=h*Math.min(e,1),i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=d(o-i),ss||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,h=a.chart,e=h.inverted,l=h.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=l.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));h.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:o,width:r}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]&&a.handles[t].symbolUrl===i?a.handles[t].isImg||a.handles[t].symbolName===i||(e=p[i].call(p,-r/2-1,0,r,o),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]?.destroy(),a.handles[t]=l.symbol(i,-r/2-1,0,r,o,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c),a.addMouseEvents()),h.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(o+r)/2}),h.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-r/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(S(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),C(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var o;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{P(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,o=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:o,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,v;if(!this.hasDragged||C(i)){if(this.isDirty&&this.renderElements(),t=M(t-a/2),e=M(e+a/2),!w(t)||!w(e)){if(!l)return;i=0,s=T(r.width,n.width)}this.left=T(r.left,o.plotLeft+u+(d?o.plotWidth:0));var b=this.size=y=T(r.len,(d?o.plotHeight:o.plotWidth)-2*u),t=(g=d?x:y+2*u,i=T(i,r.toPixels(t,!0)),s=T(s,r.toPixels(e,!0)),w(i)&&Math.abs(i)!==1/0||(i=0,s=g),r.toValue(i,!0)),e=r.toValue(s,!0),S=((S=Math.abs(M(e-t)))p&&(this.grabbedLeft?i=r.toPixels(e-p-a,!0):this.grabbedRight&&(s=r.toPixels(t+p+a,!0))),this.zoomedMax=k(Math.max(i,s),0,b),this.zoomedMin=k(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,b),this.range=this.zoomedMax-this.zoomedMin,b=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),v=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,b,d,v),this.drawOutline(S,b,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,v),this.drawHandle(b,1,d,v))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,A(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],o,r;e.mouseMoveHandler=o=function(t){e.onMouseMove(t)},e.mouseUpHandler=r=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(y(t.renderTo,"mousemove",o),y(i.ownerDocument,"mouseup",r),y(t.renderTo,"touchmove",o),y(i.ownerDocument,"touchend",r)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(y(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let o=this,r=[];return["shades","handles"].forEach(function(i){o[i].forEach(function(t,e){r.push(y(t.element,s,function(t){o[i+"Mousedown"](t,e)}))})}),r}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-o):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,C((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&A(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&T(e.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),C((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&A(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&w(this.zoomedMin)&&w(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){P(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&P(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},o=s.enabled,r=i&&e.height||0,a=o&&s.height||0,h=s.buttonsEnabled&&a||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=o,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,p=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,l.navigatorEnabled?(g=this.getXAxisOffsets(),l.xAxis=new f(n,S({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:r}:{offsets:g,height:r}),"xAxis"),l.yAxis=new f(n,S(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:T(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||e.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=y(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,o){let r=this,a=r.chart,n=r.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=r.series=(r.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(P(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=r.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=v({color:t.color,visible:t.visible},b(p)?g.navigator.series:p);var s;e&&!1===r.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(c=S(d,h,i,u)).pointRange=T(i.pointRange,u.pointRange,g.plotOptions[c.type||"line"].pointRange),s=u.data||i.data,r.hasNavigatorData=r.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,o):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!b(p)||(r.hasNavigatorData=!1,(p=O(p)).forEach((t,e)=>{h.name="Navigator "+(l.length+1),(c=S(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},h,t)).data=t.data,c.data&&(r.hasNavigatorData=!0,l.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(y(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(y(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(y(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(y(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),C(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=T(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&w(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=T(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!w(i)||!w(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,p,u,e){var i;let{addEvent:o,correctFloat:l,css:v,defined:b,error:S,isNumber:s,pick:k,timeUnits:M,isString:r}=e;{var a=i=i||{};function n(t,e,l,i,s=[],o=0,r){let d={},c=this.options.tickPixelInterval,a=this.chart.time,n=[],h,p,u,g,f,m=0,x=[],y=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var v=s.length;for(h=0;hl,s[h]5*o||f){if(s[h]>y){for(p=a.getTimeTicks(t,s[m],s[h],i);p.length&&p[0]<=y;)p.shift();p.length&&(y=p[p.length-1]),n.push(x.length),x=x.concat(p)}m=h+1}if(f)break}if(p){if(g=p.info,r&&g.unitRange<=M.hour){for(m=1,h=x.length-1;mt-e),(a=i[Math.floor(i.length/2)])<.6*c&&(a=null),h=x[t-1]>l?t-1:t,r=void 0;h--;)n=Math.abs(r-(o=e[h])),r&&n<.8*c&&(null===a||n<.8*a)?(d[x[h]]&&!d[x[h+1]]?(s=h+1,r=o):s=h,x.splice(s,1)):r=o}return x}function h(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,o=e.getExtendedPositions();if(o&&o.length){var r,a,n=l((t-i)*s+this.minPixelPadding),n=l(e.getIndexOfPoint(n,o)),h=l(n%1);if(0<=n&&n<=o.length-1)return r=o[Math.floor(n)],a=o[Math.ceil(n)],o[Math.floor(n)]+h*(a-r)}return t}function c(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function f(){var{eventArgs:t,options:e}=this;this.isXAxis&&b(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&b(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function m(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function x(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function y(t){let f=this.xAxis[0],m=f.ordinal.convertOverscroll(f.options.overscroll),x=t.originalEvent.chartX,e=this.options.chart.panning,y=!1;if(e&&"y"!==e.type&&f.options.ordinal&&f.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=f.getExtremes(),o=s.dataMin,r=s.dataMax,a=s.min,n=s.max,h=this.hoverPoints,l=f.closestPointRange||f.ordinal&&f.ordinal.overscrollPointsRange,d=Math.round((i-x)/(f.translationSlope*(f.ordinal.slope||l))),c=f.ordinal.getExtendedPositions(),p={ordinal:{positions:c,extendedOrdinalPositions:c}},u=f.index2val,g=f.val2lin;if(a<=o&&d<0||r<=n+m&&0(e=p.ordinal.positions)[e.length-1]&&e.push(r),this.setFixedRange(n-a),(t=f.navigatorAxis.toFixedRange(void 0,void 0,u.apply(p,[g.apply(p,[a,!0])+d]),u.apply(p,[g.apply(p,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(r,n)+m&&f.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=x,v(this.container,{cursor:"move"})):y=!0}else y=!0;y||e&&/y/.test(e.type)?m&&(f.max=f.dataMax+m):t.preventDefault()}function C(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function A(t,e){let i,s=this.ordinal,o=s.positions,r=s.slope,a;if(!o)return t;var n=o.length;if(o[0]<=t&&o[n-1]>=t)i=c(o,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,h=(r=r||(a[n-1]-a[0])/n,c(a,o[0]));if(t>=a[0]&&t<=a[n-1])i=c(a,t)-h;else{if(!e)return t;i=tl||o-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===n?f=g[1]-g[0]:1===n?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=k(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{var e=t.points?.[0];b(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,o=e.x)}),i=i??s.minPixelPadding;var r=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=l((t-i)/r);return w.findIndexOf(e,o,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],o=t.dataMax;if(b(i))for(;o<=t.dataMax+e;)s.push(o+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return k(i.originalOrdinalRange,b(s.dataMax)&&b(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var o;return r(t)?(o=parseInt(t,10),/%$/.test(t)?e(o/100):/px/.test(t)?e((o=Math.min(o,.9*s.len)/s.len)/(1-o)):0):t}}a.Additions=w}return i}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let r,o=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:h,extend:l,isNumber:d,merge:c,pick:p,pushUnique:u}=i,g=[];function f(){function t(t,e){let i="year"===r?"FullYear":"Month",s=new a.Date(t),o=a.get(i,s);return a.set(i,s,o+e),o===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,r=s.type,o=this.max,a=this.chart.time;d(s)?(e=o-s,i=s):s&&(e=o+t(o,-(s.count||1)),this.chart&&this.chart.setFixedRange(o-e));var n=p(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,p(this.dataMax,Number.MAX_VALUE))),d(o)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function m(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new r(this))}function x(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function y(){let s,o=this.rangeSelector;if(o){let t=this.xAxis[0].getExtremes(),e=this.legend,i=o&&o.options.verticalAlign;d(t.min)&&o.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=c(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=o.getHeight(),e.group.placed=!1,e.align(s))}}function v(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function b(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function S(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;e&&e.enabled&&!h(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new r(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o&&(t=e&&e.verticalAlign||o.options&&o.options.verticalAlign,o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(r=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=f,n(i,"afterGetContainer",m),n(i,"beforeRender",x),n(i,"destroy",v),n(i,"getMargins",b),n(i,"redraw",y),n(i,"update",S),t.callbacks.push(y),l(o,{rangeSelector:s.rangeSelector}),l(o.lang,s.lang)}}}}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(y,t,m,i,s,e,w){let T=t["defaultOptions"],{addEvent:v,createElement:x,css:P,defined:b,destroyObjectProperties:o,discardElement:r,extend:S,fireEvent:k,isNumber:O,merge:M,objectEach:a,pad:n,pick:C,pInt:h,splat:A}=e;class l{static compose(t,e){i.compose(t,e,l)}constructor(t){this.buttonOptions=l.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,h=r.dataMin,l=r.dataMax,d,c=o&&Math.round(Math.min(o.max,C(l,o.max))),p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,y.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=o.minFromRange.call(f),O(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)c=Math.min((d=Math.max(c-u,h))+u,l),x=!1;else if("ytd"===a){if(!o)return void(this.deferredYTDClick=t);void 0!==l&&void 0!==h||(h=Number.MAX_VALUE,l=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(h=Math.min(t[0],h),l=Math.max(t[t.length-1],l))}),e=!1),d=g=(m=this.getYTDExtremes(l,h,i.time.useUTC)).min,c=m.max}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&b(d)&&(d+=s._offsetMin),s._offsetMax&&b(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)o.setExtremes(d,c,C(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{p=A(i.options.xAxis)[0];let e=v(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});v(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=p.range,t.options.min=p.min,e()})}k(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&k(t,"blur"),e&&e.blur&&k(e,"blur")}let i=this,s=e.options.rangeSelector,o=s.buttons||i.defaultButtons.slice(),r=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(v(e.container,"mousedown",t)),this.eventsToUnbind.push(v(e,"resize",t)),o.forEach(i.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(v(e,"load",function(){e.xAxis&&e.xAxis[0]&&v(e.xAxis[0],"setExtremes",function(t){O(this.max)&&O(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let p=this,t=this.chart,s=this.dropdown,o=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),f=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,m=e.dataMin,x=e.dataMax,i=p.getYTDExtremes(x,m,t.time.useUTC),y=i.min,v=i.max,b=p.selected,S=p.options.allButtonsEnabled,k=Array(p.buttonOptions.length).fill(0),M=O(b),r=p.buttons,C=!1,A=null;p.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,o=t.count||1,r=t._offsetMax-t._offsetMin,a=e===b,n=i>x-m,h=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*o-r&&g-36e5<=864e5*{month:31,year:366}[s]*o+r?d=!0:"ytd"===s?(d=v-y+r===g,l=!a):"all"===s&&(d=u.max-u.min>=x-m);var t=!S&&!(C&&"all"===s)&&(n||h||f),c=C&&"all"===s||!l&&d||a&&p.frozenStates;t?k[e]=3:!c||M&&e!==b||(A=e)}),null!==A?(k[A]=2,p.setSelected(A)):(p.setSelected(),o&&(o.setState(0),o.attr({text:(T.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?h=void 0:ha&&(h=a)),void 0!==h&&s.setExtremes(c?h:s.min,c?s.max:h,void 0,void 0,{trigger:"rangeSelectorInput"}))}let h=a[c?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=o.label(h,0).addClass("highcharts-range-label").attr({padding:h?2:0,height:h?r.inputBoxHeight:0}).add(i),u=o.label("",0).addClass("highcharts-range-input").attr({padding:2,width:r.inputBoxWidth,height:r.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(l.styledMode||u.attr({stroke:r.inputBoxBorderColor,"stroke-width":1}),u.add(i),x("input",{name:e,className:"highcharts-range-selector"},void 0,t)),f=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(r.inputDateFormat||"%e %b %Y")),l.styledMode||(p.css(M(s,r.labelStyle)),u.css(M({color:"#333333"},s,r.inputStyle)),P(g,S({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},r.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===m.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{f||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{f=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get("FullYear",o),a=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),n=o.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=C(s.chart.style?.zIndex,0)+1;var n;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=x("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(b(t.dataMin)&&b(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=T.lang,r=e.renderer,a=M(i.buttonTheme),n=a&&a.states,h=a.width||28,l=(delete a.width,delete a.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group),this.dropdown=x("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),o=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=r.button("",0,0,()=>{},M(a,{"stroke-width":C(a["stroke-width"],0),width:"auto",paddingLeft:C(i.buttonTheme.paddingLeft,o?.padding,8),paddingRight:C(i.buttonTheme.paddingRight,o?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),v(l,"touchstart",()=>{l.style.fontSize="16px"}),m.isMS?"mouseover":"mouseenter"),c=m.isMS?"mouseout":"mouseleave";v(l,d,()=>{k(this.dropdownLabel.element,d)}),v(l,c,()=>{k(this.dropdownLabel.element,c)}),v(l,"change",()=>{k(this.buttons[l.selectedIndex-1].element,"click")}),this.zoomText=r.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=C(a["stroke-width"],0)),x("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,l),this.buttonOptions.forEach((s,o)=>{x("option",{textContent:s.title||s.text},void 0,l),t[o]=r.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(o),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:h}).add(this.buttonGroup),s.title&&t[o].attr("title",s.title)})}alignElements(){let{buttonGroup:h,buttons:l,chart:d,group:c,inputGroup:p,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:f,inputPosition:m,verticalAlign:x}=u,y=(t,e)=>i&&this.titleCollision(d)&&"top"===x&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,v=d.plotLeft;if(c&&f&&m){let t=f.x-d.spacing[3];if(h){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),l.forEach((t,e)=>{i+=t.width||0,e!==l.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}v-=d.spacing[3];var b=y(h,f);this.alignButtonGroup(b),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),c.placed=h.placed=d.hasLoaded}let e=0,i=(p&&(e=y(p,m),"left"===m.align?t=v:"right"===m.align&&(t=-Math.max(d.axisOffset[1],-e)),p.align({y:m.y,width:p.getBBox().width,align:m.align,x:m.x+t-2},!0,d.spacingBox),p.placed=d.hasLoaded),this.handleCollision(e),c.align({verticalAlign:x},!0,d.spacingBox),c.alignAttr.translateY),s=c.getBBox().height+20,o=0;"bottom"===x&&(b=d.legend&&d.legend.options,o=i-(s=s+(b&&"bottom"===b.verticalAlign&&b.enabled&&!b.floating?d.legend.legendHeight+C(b.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===x?(u.floating&&(o=0),d.titleOffset&&d.titleOffset[0]&&(o=d.titleOffset[0]),o+=d.margin[0]-d.spacing[0]||0):"middle"===x&&(m.y===f.y?o=i:(m.y||f.y)&&(m.y<0||f.y<0?o-=Math.min(m.y,f.y):o=i-s)),c.translate(u.x,u.y+Math.floor(o));let{minInput:r,maxInput:a,dropdown:n}=this;u.inputEnabled&&r&&a&&(r.style.marginTop=c.translateY+"px",a.style.marginTop=c.translateY+"px"),n&&(n.style.marginTop=c.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,r=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-a:"center"===r.align&&(n-=a/2),o&&o.align({y:r.y,width:C(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,o=t.hasLoaded?"animate":"attr",r=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[o]({x:C(a+r.x,a)}),n+=r.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!r)&&(e=a.alignAttr.translateX+a.alignOptions.x-o+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=r.alignAttr.translateX+r.getBBox().x)+t&&s{a&&r&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-o?0:-o),translateY:a.alignAttr.translateY+r.getBBox().height+10})};if(r){if("always"===e)return this.collapseButtons(),void(s(i())&&l());"never"===e&&this.expandButtons()}a&&r?h.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&l()):l():"responsive"===e&&this.expandButtons():r&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var o,r;t&&s&&({translateX:r=0,translateY:o=0}=t,r=e.plotLeft+r,i.attr({x:r,y:o}).show(),P(s,{left:r+"px",top:o+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),P(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;var h=Math.min(a,r);return(a<0&&r<0||0t()),i.eventsToUnbind=void 0),o(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof d.HTMLElement&&r(t)),t!==l.prototype[e]&&(i[e]=null)},this)}}return S(l.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),l}),e(t,"Core/Chart/StockChart.js",[t["Core/Chart/Chart.js"],t["Core/Templating.js"],t["Core/Defaults.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,i,n,h,l,s,o){let w=e["format"],d=i["getOptions"],r=s["setFixedRange"],{addEvent:a,clamp:k,crisp:c,defined:M,extend:T,find:C,isNumber:P,isString:A,merge:p,pick:O,splat:u}=o;function g(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!(!e.categories&&"category"!==e.type),title:{text:"Values"!==i.title?.text?i.title?.text:null}}:{}}function f(t,i){if("xAxis"!==t)return{};{let t=O(i.navigator&&i.navigator.enabled,n.enabled,!0),e={type:"datetime",categories:void 0};return t&&(e.startOnTick=!1,e.endOnTick=!1),e}}class m extends t{init(e,t){let i=d(),s=e.xAxis,o=e.yAxis,r=O(e.navigator&&e.navigator.enabled,n.enabled,!0),a=(e.xAxis=e.yAxis=void 0,p({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:r},scrollbar:{enabled:O(l.enabled,!0)},rangeSelector:{enabled:O(h.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:O(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},e,{isStock:!0}));e.xAxis=s,e.yAxis=o,a.xAxis=u(e.xAxis||{}).map(t=>p(g("xAxis",t,i.xAxis),t,f("xAxis",e))),a.yAxis=u(e.yAxis||{}).map(t=>p(g("yAxis",t,i.yAxis),t)),super.init(a,t)}createAxis(t,e){return e.axis=p(g(t,e.axis,d()[t]),e.axis,f(t,this.userOptions)),super.createAxis(t,e)}}return a(t,"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(p(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),(j=m=m||{}).compose=function(t,e,i,s){let o=i.prototype;o.forceCropping||(a(e,"afterDrawCrosshair",x),a(e,"afterHideCrosshair",y),a(e,"autoLabelAlign",v),a(e,"destroy",b),a(e,"getPlotLinePath",S),t.prototype.setFixedRange=r,o.forceCropping=L,a(i,"setOptions",E),s.prototype.crispPolyLine=D)},j.stockChart=function(t,e,i){return new j(t,e,i)},m;function x(C){if(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&P(this.min)&&P(this.max)){let t=this.chart,e=this.logarithmic,i=this.crosshair.label,s=this.horiz,o=this.opposite,r=this.left,a=this.top,n=this.width,h="inside"===this.options.tickPosition,l=!1!==this.crosshair.snap,d=C.e||this.cross&&this.cross.e,c=C.point,p=this.crossLabel,u,g,f=i.format,m="",x,y=0,v=this.min,b=this.max;e&&(v=e.lin2log(this.min),b=e.lin2log(this.max));C=s?"center":o?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";p||(p=this.crossLabel=t.renderer.label("",0,void 0,i.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(c&&c.series?c.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:i.align||C,padding:O(i.padding,8),r:O(i.borderRadius,3),zIndex:2}).add(this.labelGroup),t.styledMode||p.attr({fill:i.backgroundColor||c&&c.series&&c.series.color||"#666666",stroke:i.borderColor||"","stroke-width":i.borderWidth||0}).css(T({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},i.style||{}))),g=s?(u=l?(c.plotX||0)+r:d.chartX,a+(o?0:this.height)):(u=r+this.offset+(o?n:0),l?(c.plotY||0)+a:d.chartY),f||i.formatter||(this.dateTime&&(m="%b %d, %Y"),f="{value"+(m?":"+m:"")+"}");let S=l?this.isXAxis?c.x:c.y:this.toValue(s?d.chartX:d.chartY),k=c&&c.series?c.series.isPointInside(c):P(S)&&S>v&&S=x.right&&(y=-(A+C.width-x.right)),p.attr({x:u+y,y:g,anchorX:s?u:this.opposite?0:t.chartWidth,anchorY:s?this.opposite?t.chartHeight:0:g+C.height/2})}}function y(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function v(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;var r;e.options.isStock&&"yAxis"===this.coll&&(r=i.top+","+i.height,!s[r]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[r]=this,t.align="right",t.preventDefault()))}function b(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function S(t){let i=this,s=(i.isLinked&&!i.series&&i.linkedParent?i.linkedParent:i).series,o=i.chart,e=o.renderer,r=i.left,a=i.top,n=[],h=t.translatedValue,l=t.value,d=t.force,c,p,u,g,f=[],m,x;if(o.options.isStock&&!1!==t.acrossPanes&&"xAxis"===i.coll||"yAxis"===i.coll){for(var y of(t.preventDefault(),f=(()=>{let e="xAxis"===i.coll?"yAxis":"xAxis",t=i.options[e];return P(t)?[o[e][t]]:A(t)?[o.get(t)]:s.map(t=>t[e])})(),i.isXAxis?o.yAxis:o.xAxis)){var v;y.options.isInternal||(v=y.isXAxis?"yAxis":"xAxis",i===(M(y.options[v])?o[v][y.options[v]]:o[v][0])&&f.push(y))}for(let e of(m=f.length?[]:[(i.isXAxis?o.yAxis:o.xAxis)[0]],f))-1!==m.indexOf(e)||C(m,t=>t.pos===e.pos&&t.len===e.len)||m.push(e);if(P(x=O(h,i.translate(l||0,void 0,void 0,t.old))))if(i.horiz)for(var b of m){let t;g=(p=b.pos)+b.len,c=u=Math.round(x+i.transB),"pass"!==d&&(cr+i.width)&&(d?c=u=k(c,r,r+i.width):t=!0),t||n.push(["M",c,p],["L",u,g])}else for(var S of m){let t;u=(c=S.pos)+S.len,p=g=Math.round(a+i.height-x),"pass"!==d&&(pa+i.height)&&(d?p=g=k(p,a,a+i.height):t=!0),t||n.push(["M",c,p],["L",u,g])}t.path=0 {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),e(t,"Series/HLC/HLCSeries.js",[t["Series/HLC/HLCPoint.js"],t["Series/HLC/HLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let o=i.seriesTypes["column"],{crisp:n,extend:r,merge:a}=s;class h extends o{extendStem(t,e,i){let s=t[0],o=t[1];"number"==typeof s[2]&&(s[2]=Math.max(i+e,s[2])),"number"==typeof o[2]&&(o[2]=Math.min(i-e,o[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,o=n(t.plotX||0,i),r=Math.round(t.shapeArgs.width/2),a=[["M",o,Math.round(t.yBottom)],["L",o,Math.round(t.plotHigh)]];return null!==t.close&&(e=n(t.plotClose,i),a.push(["M",o,e],["L",o+r,e]),s.extendStem(a,i/2,e)),a}drawSinglePoint(t){let e=t.series,i=e.chart,s,o=t.graphic;void 0!==t.plotY&&(o||(t.graphic=o=i.renderer.path().add(e.group)),i.styledMode||o.attr(e.pointAttribs(t,t.selected&&"select")),s=e.getPointPath(t,o),o[o?"animate":"attr"]({d:s}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let o=this,r=o.yAxis,t=this.pointArrayMap&&this.pointArrayMap.slice()||[],a=t.map(t=>"plot"+(t.charAt(0).toUpperCase()+t.slice(1)));a.push("yBottom"),t.push("low"),super.translate.apply(o),o.points.forEach(function(s){t.forEach(function(t,e){let i=s[t];null!==i&&(o.dataModify&&(i=o.dataModify.modifyValue(i)),s[a[e]]=r.toPixels(i,!0))}),s.tooltipPos[1]=s.plotHigh+r.pos-o.chart.plotTop})}}return h.defaultOptions=a(o.defaultOptions,e),r(h.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",h),h}),e(t,"Series/OHLC/OHLCPoint.js",[t["Core/Series/SeriesRegistry.js"]],function(t){var t=t["seriesTypes"]["hlc"];class e extends t.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}}),e(t,"Series/OHLC/OHLCSeries.js",[t["Core/Globals.js"],t["Series/OHLC/OHLCPoint.js"],t["Series/OHLC/OHLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["composed"],a=s.seriesTypes["hlc"],{addEvent:n,crisp:h,extend:l,merge:d,pushUnique:c}=o;function p(t){let e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function u(t){t=t.options;t.useOhlcData&&"highcharts-navigator-series"!==t.id&&l(this,{pointValKey:g.prototype.pointValKey,pointArrayMap:g.prototype.pointArrayMap,toYData:g.prototype.toYData})}class g extends a{static compose(t){c(r,"OHLCSeries")&&(n(t,"afterSetOptions",p),n(t,"init",u))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),o=h(t.plotX||0,s),r=Math.round(t.shapeArgs.width/2);return null!==t.open&&(e=h(t.plotOpen,s),i.push(["M",o,e],["L",o-r,e]),super.extendStem(i,s/2,e)),i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.opent.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);f--&&o[c];)if(x=n[f],(p=o[c]).y=x.y,x.x<=p.x&&void 0!==x[g]){if(p.x<=y&&(p.plotY=x[g],x.xMath.pow(1-t,3)*i[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*r[e]+t*t*t*s[e],a=0,n=1,h;for(let t=0;t<100;t++){var k=(a+n)/2,M=e(k,0);if(null===M)break;if(Math.abs(M-p.plotX)<.25){h=k;break}M{let i;t.plotX+=m,void 0!==t.plotY&&!h||(0<=t.plotX&&t.plotX<=l.len?h?(t.plotY=l.translate(t.x,0,1,0,1),t.plotX=A(t.y)?d.translate(t.y,0,0,0,1):0):t.plotY=(l.opposite?0:s.yAxis.len)+l.offset:t.shapeArgs={}),(u=o[e-1])&&u.plotX===t.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),i=u.stackIndex+1),t.stackIndex=i}),this.onSeries=r}}),e(t,"Series/Flags/FlagsSeries.js",[t["Series/Flags/FlagsPoint.js"],t["Series/Flags/FlagsSeriesDefaults.js"],t["Series/Flags/FlagsSymbols.js"],t["Core/Globals.js"],t["Series/OnSeriesComposition.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r,a,k,n){let h=s["noop"],M=r["distribute"],{series:l,seriesTypes:{column:d}}=a,{addEvent:c,defined:C,extend:p,isNumber:A,merge:w,objectEach:T,wrap:P}=n;class u extends d{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,a,n,h,l,d,c=this.points,p=this.chart,u=p.renderer,g=p.inverted,f=this.options,m=f.y,x=this.yAxis,y={},v=[],b=A(f.borderRadius)?f.borderRadius:0;for(s=c.length;s--;)o=c[s],l=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,a=o.stackIndex,i=o.options.shape||f.shape,void 0!==(e=o.plotY)&&(e=o.plotY+m-(void 0!==a&&a*f.stackDistance)),o.anchorX=a?void 0:o.plotX,n=a?void 0:o.plotY,d="flag"!==i,r=o.graphic,void 0!==e&&0<=t&&!l?((r=r&&o.hasNewShapeType()?r.destroy():r)||(r=o.graphic=u.label("",0,void 0,i,void 0,void 0,f.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:d?"center":"left",width:f.width,height:f.height,"text-align":f.textAlign,r:b}),p.styledMode||r.attr(this.pointAttribs(o)).css(w(f.style,o.style)).shadow(f.shadow),0e.to||r>e.from&&ae.from&&ae.from&&a>e.to&&ar&&i>=this.basePointRange&&(r=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>r&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][n]=new h(o,o.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",l),s(e,"afterInit",r),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=p,t.gappedPath=m,s(i,"afterGeneratePoints",d),s(i,"afterRender",c)}return e};class x{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,o=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=o:s=s);r++)(o.to=t)break;if(x.isInBreak(o,t)){s-=t-o.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)l-=a;for(;lthis.chart.plotSizeX/i||o&&r.forced)&&(s=!0));return s?i:0}function d(){this.series.forEach(function(t){t.hasProcessed=!1})}function c(e,t){let i;if(t=n(t,!0),e=e||{forced:!1,units:null},this instanceof s)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:e},!1);else this.chart.options.series.forEach(function(t){t.dataGrouping="boolean"==typeof e?e:r(e,t.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),t&&this.chart.redraw()}return{compose:function(t){var e=(s=t).prototype;e.applyGrouping||(i(t,"afterSetScale",d),i(t,"postProcessData",h),o(e,{applyGrouping:h,getGroupPixelWidth:l,setDataGrouping:c}))}}}),e(t,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[t["Extensions/DataGrouping/ApproximationRegistry.js"],t["Extensions/DataGrouping/DataGroupingDefaults.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Defaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(T,E,L,n,t,e){let{prototype:D}=t["series"],{addEvent:i,defined:j,error:B,extend:s,isNumber:I,merge:P,pick:o}=e,r=D.generatePoints;function a(m){let x,y,v=this.chart,b=this.options.dataGrouping,t=!1!==this.allowDG&&b&&o(b.enabled,v.options.isStock),S=this.reserveSpace(),e=this.currentDataGrouping,k,M,i=!1;t&&!this.requireSorting&&(this.requireSorting=i=!0);m=0==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!m)||!t;if(i&&(this.requireSorting=!1),!m){this.destroyGroupedData();let d=b.groupAll?this.xData:this.processedXData,c=b.groupAll?this.yData:this.processedYData,p=v.plotSizeX,u=this.xAxis,g=u.options.ordinal,f=this.groupPixelWidth;if(f&&d&&d.length&&p){y=!0,this.isDirty=!0,this.points=null;let t=u.getExtremes(),e=t.min,i=t.max,s=g&&u.ordinal&&u.ordinal.getGroupIntervalFactor(e,i,this)||1,o=f*(i-e)/p*s,r=u.getTimeTicks(L.Additions.prototype.normalizeTimeTickInterval(o,b.units||E.units),Math.min(e,d[0]),Math.max(i,d[d.length-1]),u.options.startOfWeek,d,this.closestPointRange),a=D.groupData.apply(this,[d,c,r,b.approximation]),n=a.groupedXData,h=a.groupedYData,l=0;for(b&&b.smoothed&&n.length&&(b.firstAnchor="firstPoint",b.anchor="middle",b.lastAnchor="lastPoint",B(32,!1,v,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),x=1;x=C[0]){let t;r++;var w=m.groupMap[0].start,P=m.groupMap[0].length;I(w)&&I(P)&&(t=w+(P-1)),C[0]={start:C[0],middle:C[0]+.5*T,end:C[0]+T,firstPoint:m.xData[0],lastPoint:t&&m.xData[t]}[i]}if(0=A-T&&(o--,w=m.groupMap[m.groupMap.length-1].start,C[t]={start:C[t],middle:C[t]+.5*T,end:C[t]+T,firstPoint:w&&m.xData[w],lastPoint:m.xData[m.xData.length-1]}[s]),e&&"start"!==e)for(var O=T*{middle:.5,end:1}[e];o>=r;)C[o]+=O,o--}S&&(j((P=n)[0])&&I(u.min)&&I(u.dataMin)&&P[0]u.max&&((!j(u.options.max)&&I(u.dataMax)&&u.max>=u.dataMax||u.max===u.dataMax)&&(u.max=Math.max(P[P.length-1],u.max)),u.dataMax=Math.max(P[P.length-1],u.dataMax))),b.groupAll&&(this.allGroupedData=h,n=(M=this.cropData(n,h,u.min,u.max)).xData,h=M.yData,this.cropStart=M.start),this.processedXData=n,this.processedYData=h}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=y,this.preventGraphAnimation=(e&&e.totalRange)!==(k&&k.totalRange)}}function h(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function l(){r.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function d(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function c(e,i,s,t){let o=this,r=o.data,a=o.options&&o.options.data,n=[],h=[],l=[],d=e.length,c=!!i,p=[],u=o.pointArrayMap,g=u&&u.length,f=["x"].concat(u||["y"]),m=this.options.dataGrouping&&this.options.dataGrouping.groupAll,x,y,v,b=0,S=0,k="function"==typeof t?t:t&&T[t]?T[t]:T[o.getDGApproximation&&o.getDGApproximation()||"average"];if(g){let t=u.length;for(;t--;)p.push([])}else p.push([]);var M=g||1;for(let t=0;t<=d;t++)if(!(e[t]=s[b+1]||t===d;){x=s[b],o.dataGroupInfo={start:m?S:o.cropStart+S,length:p[0].length,groupStart:x},v=k.apply(o,p),o.pointClass&&!j(o.dataGroupInfo.options)&&(o.dataGroupInfo.options=P(o.pointClass.prototype.optionsToObject.call({series:o},o.options.data[o.cropStart+S])),f.forEach(function(t){delete o.dataGroupInfo.options[t]})),void 0!==v&&(n.push(x),h.push(v),l.push(o.dataGroupInfo)),S=t;for(let t=0;t{var e=t.axis.getExtremes(),i=e.min,e=e.max,s=a(t.axis.minPointOffset,0);return r(i)&&r(e)&&t.value>=i-s&&t.value<=e+s&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=n[t],s=typeof e;return{string:"text",number:"number",boolean:"checkbox"}[s=o(i)?i:s]}}}),e(t,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[t["Core/Utilities.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(t,e){let l,{addEvent:i,isObject:s,pick:d,defined:c,merge:o}=t,h=e["getAssignedAxis"],r=[],a={enabled:!0,sensitivity:1.1};function n(){t=this.zooming.mouseWheel,s(t)||(t={enabled:t??!0});let n=o(a,t);var t;n.enabled&&i(this.container,"wheel",t=>{t=this.pointer?.normalize(t)||t;let e=this["pointer"],i=e&&!e.inClass(t.target,"highcharts-no-mousewheel");var s,o,r,a;this.isInsidePlot(t.chartX-this.plotLeft,t.chartY-this.plotTop)&&i&&(s=n.sensitivity||1.1,o=t.detail||(t.deltaY||0)/120,r=h(e.getCoordinates(t).xAxis),a=h(e.getCoordinates(t).yAxis),function(t,e,i,s,o,r,a){let n=d(a.type,t.zooming.type,""),h=[];"x"===n?h=i:"y"===n?h=s:"xy"===n&&(h=t.axes);a=t.transform({axes:h,to:{x:o-5,y:r-5,width:10,height:10},from:{x:o-5*e,y:r-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return a&&(c(l)&&clearTimeout(l),l=setTimeout(()=>{t.pointer?.drop()},400)),a}(this,Math.pow(s,o),r?[r.axis]:this.xAxis,a?[a.axis]:this.yAxis,t.chartX,t.chartY,n)&&t.preventDefault?.())})}return{compose:function(t){-1===r.indexOf(t)&&(r.push(t),i(t,"afterGetContainer",n))}}}),e(t,"masters/modules/mouse-wheel-zoom.src.js",[t["Core/Globals.js"],t["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(t,e){return t.MouseWheelZoom=t.MouseWheelZoom||e,t.MouseWheelZoom.compose(t.Chart),t}),e(t,"masters/modules/stock.src.js",[t["Core/Globals.js"],t["Series/DataModifyComposition.js"],t["Stock/Navigator/Navigator.js"],t["Core/Axis/OrdinalAxis.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Core/Chart/StockChart.js"],t["Series/OHLC/OHLCSeries.js"],t["Series/Flags/FlagsSeries.js"]],function(t,e,i,s,o,r,a,n,h){return t.Navigator=t.Navigator||i,t.OrdinalAxis=t.OrdinalAxis||s,t.RangeSelector=t.RangeSelector||o,t.Scrollbar=t.Scrollbar||r,t.stockChart=t.stockChart||a.stockChart,t.StockChart=t.StockChart||t.stockChart,t.extend(t.StockChart,a),e.compose(t.Series,t.Axis,t.Point),h.compose(t.Renderer),n.compose(t.Series),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.OrdinalAxis.compose(t.Axis,t.Series,t.Chart),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t.StockChart.compose(t.Chart,t.Axis,t.Series,t.SVGRenderer),t}),e(t,"masters/highstock.src.js",[t["masters/highcharts.src.js"]],function(t){return t.product="Highstock",t}),(t["masters/highstock.src.js"]._modules=t)["masters/highstock.src.js"]}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/accessibility.min.js b/assets/js/external/highcharts/modules/accessibility.min.js index d6e74cf..a11f74d 100644 --- a/assets/js/external/highcharts/modules/accessibility.min.js +++ b/assets/js/external/highcharts/modules/accessibility.min.js @@ -1 +1 @@ -!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var e=r?r._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Accessibility/Utils/HTMLUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,t){let{doc:s,win:r}=e,i=t["css"],n=r.EventTarget&&new r.EventTarget||"none";function o(t){if("function"==typeof r.MouseEvent)return new r.MouseEvent(t.type,t);if(s.createEvent){let e=s.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t.type,t.bubbles,t.cancelable,t.view||r,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),e}return a(t.type)}function a(t,i,e){i=i||{x:0,y:0};if("function"==typeof r.MouseEvent)return new r.MouseEvent(t,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:e||n,view:r,detail:"click"===t?1:0,screenX:i.x,screenY:i.y,clientX:i.x,clientY:i.y});if(s.createEvent){let e=s.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t,!0,!0,r,"click"===t?1:0,i.x,i.y,i.x,i.y,!1,!1,!1,!1,0,null),e}return{type:t}}return{addClass:function(e,t){e.classList?e.classList.add(t):e.className.indexOf(t)<0&&(e.className+=" "+t)},cloneMouseEvent:o,cloneTouchEvent:function(t){var i=t=>{let i=[];for(let e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(e){return s.getElementById(e)},getFakeMouseEvent:a,getHeadingTagNameForElement:function(e){let i=e=>"h"+Math.min(6,parseInt(e.slice(1),10)+1),s=e=>/^H[1-6]$/i.test(e),r=e=>{var t=(e=>{let t=e;for(;t=t.previousSibling;){var i=t.tagName||"";if(s(i))return i}return""})(e);if(t)return i(t);t=e.parentElement;if(!t)return"p";e=t.tagName;return s(e)?i(e):r(t)};return r(e)},removeChildNodes:function(e){for(;e.lastChild;)e.removeChild(e.lastChild)},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(RegExp(t,"g"),"")},removeElement:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},reverseChildNodes:function(e){let t=e.childNodes.length;for(;t--;)e.appendChild(e.childNodes[t])},simulatedEventTarget:n,stripHTMLTagsFromString:function(e,t=!1){return"string"==typeof e?t?e.replace(/<\/?[^>]+(>|$)/g,""):e.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):e},visuallyHideElement:function(e){i(e,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",filter:"alpha(opacity=1)",opacity:.01})}}}),t(e,"Accessibility/A11yI18n.js",[e["Core/Templating.js"],e["Core/Utilities.js"]],function(e,t){var i;let a=e["format"],{getNestedProperty:d,pick:u}=t;return(e=i=i||{}).compose=function(e){let t=e.prototype;t.langFormat||(t.langFormat=s)},e.i18nFormat=n,i;function n(e,t,i){let s=[],r,n,o=0;for(;r=((e,t)=>{let i=e.slice(t||0),s=i.indexOf("{"),r=i.indexOf("}");if(-1{"statement"===e.type&&(e.value=function(o,a){let l,h;var c=o.indexOf("#each("),t=o.indexOf("#plural("),i=o.indexOf("["),s=o.indexOf("]");if(-1e+t.value,""),t,i)}function s(e,t){let i=e.split("."),s=this.options.lang,r=0;for(;r!!e.graphic))&&e.graphic&&e.graphic.element}function h(e){var t=r(e);return t&&t.parentNode||e.graph&&e.graph.element||e.group&&e.group.element}return{fireEventOnWrappedOrUnwrappedElement:function e(t,i){var s=i.type,r=t.hcEvents;n.createEvent&&(t.dispatchEvent||t.fireEvent)?t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(s,i):r&&r[s]?l(t,s,i):t.element&&e(t.element,i)},getChartTitle:function(e){return s(e.options.title.text||e.langFormat("accessibility.defaultChartTitle",{chart:e}),e.renderer.forExport)},getAxisDescription:function(e){return e&&(e.options.accessibility?.description||e.axisTitle?.textStr||e.options.id||e.categories&&"categories"||e.dateTime&&"Time"||"values")},getAxisRangeDescription:function(t){var e=t.options||{};{if(e.accessibility&&void 0!==e.accessibility.rangeDescription)return e.accessibility.rangeDescription;if(t.categories){let e=t.chart;return t.dataMax&&t.dataMin?e.langFormat("accessibility.axis.rangeCategories",{chart:e,axis:t,numCategories:t.dataMax-t.dataMin+1}):""}return(!t.dateTime||0!==t.min&&0!==t.dataMin?function(t){function e(e){return t.dateTime?i.time.dateFormat(r,n[e]):n[e].toString()}let i=t.chart,s=i.options,r=s&&s.accessibility&&s.accessibility.screenReaderSection.axisRangeDateFormat||"",n={min:t.dataMin||t.min||0,max:t.dataMax||t.max||0};return i.langFormat("accessibility.axis.rangeFromTo",{chart:i,axis:t,rangeFrom:e("min"),rangeTo:e("max")})}:function(e){let t=e.chart,i={},s=e.dataMin||e.min||0,r=e.dataMax||e.max||0,n="Seconds",o=(i.Seconds=(r-s)/1e3,i.Minutes=i.Seconds/60,i.Hours=i.Minutes/60,i.Days=i.Hours/24,["Minutes","Hours","Days"].forEach(function(e){2e.remover).indexOf(e);this.eventRemovers[e].remover(),this.eventRemovers.splice(e,1)}removeAddedEvents(){this.eventRemovers.map(e=>e.remover).forEach(e=>e()),this.eventRemovers=[]}}}),t(e,"Accessibility/AccessibilityComponent.js",[e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(e,i,s,t,r){let n=e["fireEventOnWrappedOrUnwrappedElement"],o=t["getFakeMouseEvent"],a=r["extend"];class l{initBase(e,t){this.chart=e,this.eventProvider=new s,this.domElementProvider=new i,this.proxyProvider=t,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(e,t,i,s){return this.eventProvider.addEvent(e,t,i,s)}createElement(e,t){return this.domElementProvider.createElement(e,t)}fakeClickEvent(e){n(e,o("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}return a(l.prototype,{init(){},getKeyboardNavigation:function(){},onChartUpdate(){},onChartRender(){},destroy(){}}),l}),t(e,"Accessibility/KeyboardNavigationHandler.js",[e["Core/Utilities.js"]],function(e){let r=e["find"];return class{constructor(e,t){this.chart=e,this.keyCodeMap=t.keyCodeMap||[],this.validate=t.validate,this.init=t.init,this.terminate=t.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(e){let t=e.which||e.keyCode,i=this.response.noHandler,s=r(this.keyCodeMap,function(e){return-1{let t=e+"Setter",i=y[t]||y._defaultSetter;y.focusBorderUpdateHooks[t]=i,y[t]=function(){var e=i.apply(y,arguments);return y.addFocusBorder.apply(y,v),e}}));var y,v,f=this;if(!f.focusBorderDestroyHook){let e=f.destroy;f.destroy=function(){return f.focusBorder&&f.focusBorder.destroy&&f.focusBorder.destroy(),e.apply(f,arguments)},f.focusBorderDestroyHook=e}}function l(){var i=this;i.focusBorderUpdateHooks&&(Object.keys(i.focusBorderUpdateHooks).forEach(e=>{var t=i.focusBorderUpdateHooks[e];t===i._defaultSetter?delete i[e]:i[e]=t}),delete i.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}e.compose=function(e,t){let i=e.prototype,s=t.prototype;i.renderFocusBorder||(i.renderFocusBorder=n,i.setFocusToElement=o),s.addFocusBorder||(s.addFocusBorder=a,s.removeFocusBorder=l)}}return t}),t(e,"Accessibility/Utils/Announcer.js",[e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(t,i,e,s,r){let n=e["doc"],{addClass:o,visuallyHideElement:a}=s,l=r["attr"];return class{constructor(e,t){this.chart=e,this.domElementProvider=new i,this.announceRegion=this.addAnnounceRegion(t)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(e){t.setElementHTML(this.announceRegion,e),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=t.emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(e){let t=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return l(i,{"aria-hidden":!1,"aria-live":e,"aria-atomic":!0}),this.chart.styledMode?o(i,"highcharts-visually-hidden"):a(i),t.appendChild(i),i}createAnnouncerContainer(){let e=this.chart,t=n.createElement("div");return l(t,{"aria-hidden":!1,class:"highcharts-announcer-container"}),t.style.position="relative",e.renderTo.insertBefore(t,e.renderTo.firstChild),e.announcerContainer=t}}}),t(e,"Accessibility/Components/AnnotationsA11y.js",[e["Accessibility/Utils/HTMLUtilities.js"]],function(e){let{escapeStringForHTML:i,stripHTMLTagsFromString:s}=e;function r(e){return(e.annotations||[]).reduce((e,t)=>e=t.options&&!1!==t.options.visible?e.concat(t.labels):e,[])}function h(e){return e.options&&e.options.accessibility&&e.options.accessibility.description||e.graphic&&e.graphic.text&&e.graphic.text.textStr||""}function n(e){var t=e.options&&e.options.accessibility&&e.options.accessibility.description;if(t)return t;let i=e.chart,s=h(e),r=e.points,n=r.filter(e=>!!e.graphic).map(e=>{var t=e.accessibility&&e.accessibility.valueDescription||((t=e).graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||""),e=e&&e.series.name||"";return(e?e+", ":"")+"data point "+t}).filter(e=>!!e),o=n.length,a=1{e=i(s(n(e),t.renderer.forExport));return e?`
  • ${e}
  • `:""})}return{getAnnotationsInfoHTML:function(e){var t=e.annotations;if(!t||!t.length)return"";let i=o(e);return`
      ${i.join(" ")}
    `},getAnnotationLabelDescription:n,getAnnotationListItems:o,getPointAnnotationTexts:function(t){let e=r(t.series.chart).filter(e=>-1""+h(e)):[]}}}),t(e,"Accessibility/Components/InfoRegionsComponent.js",[e["Accessibility/A11yI18n.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Components/AnnotationsA11y.js"],e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(l,e,i,t,o,s,r,n,a,h){let c=t["getAnnotationsInfoHTML"],{getAxisDescription:d,getAxisRangeDescription:u,getChartTitle:p,unhideChartElementFromAT:g}=s,m=r["format"],b=n["doc"],{addClass:y,getElement:v,getHeadingTagNameForElement:f,stripHTMLTagsFromString:x,visuallyHideElement:A}=a,{attr:C,pick:E,replaceNested:w}=h;function T(e){return w(e,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}return class extends e{constructor(){super(...arguments),this.screenReaderSections={}}init(){let e=this.chart,t=this;this.initRegionsDefinitions(),this.addEvent(e,"aftergetTableAST",function(e){t.onDataTableCreated(e)}),this.addEvent(e,"afterViewData",function(e){e.wasHidden&&(t.dataTableDiv=e.element,setTimeout(function(){t.focusDataTable()},300))}),this.addEvent(e,"afterHideData",function(){t.viewDataTableButton&&t.viewDataTableButton.setAttribute("aria-expanded","false")}),e.exporting&&this.addEvent(e,"afterPrint",function(){t.updateAllScreenReaderSections()}),this.announcer=new i(e,"assertive")}initRegionsDefinitions(){let i=this,s=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(e){let t=s.screenReaderSection.beforeChartFormatter;return t?t(e):i.defaultBeforeChartFormatter(e)},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.renderTo.firstChild)},afterInserted:function(){void 0!==i.sonifyButtonId&&i.initSonifyButton(i.sonifyButtonId),void 0!==i.dataTableButtonId&&i.initDataTableButton(i.dataTableButtonId)}},after:{element:null,buildContent:function(e){let t=s.screenReaderSection.afterChartFormatter;return t?t(e):i.defaultAfterChartFormatter()},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.container.nextSibling)},afterInserted:function(){i.chart.accessibility&&s.keyboardNavigation.enabled&&i.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),this.updateAllScreenReaderSections()}updateAllScreenReaderSections(){let t=this;Object.keys(this.screenReaderSections).forEach(function(e){t.updateScreenReaderSection(e)})}getLinkedDescriptionElement(){var e=this.chart.options.accessibility.linkedDescription;if(e){if("string"!=typeof e)return e;e=m(e,this.chart),e=b.querySelectorAll(e);return 1===e.length?e[0]:void 0}}setLinkedDescriptionAttrs(){let e=this.linkedDescriptionElement;e&&(e.setAttribute("aria-hidden","true"),y(e,"highcharts-linked-description"))}updateScreenReaderSection(e){let t=this.chart,i=this.screenReaderSections[e],s=i.buildContent(t),r=i.element=i.element||this.createElement("div"),n=r.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(r,e),o.setElementHTML(n,s),r.appendChild(n),i.insertIntoDOM(r,t),t.styledMode?y(n,"highcharts-visually-hidden"):A(n),g(t,n),i.afterInserted&&i.afterInserted()):(r.parentNode&&r.parentNode.removeChild(r),i.element=null)}setScreenReaderSectionAttribs(e,t){let i=this.chart,s=i.langFormat("accessibility.screenReaderSection."+t+"RegionLabel",{chart:i,chartTitle:p(i)});C(e,{id:`highcharts-screen-reader-region-${t}-`+i.index,"aria-label":s||void 0}),e.style.position="relative",s&&e.setAttribute("role","all"===i.options.accessibility.landmarkVerbosity?"region":"group")}defaultBeforeChartFormatter(){let e=this.chart,t=e.options.accessibility.screenReaderSection.beforeChartFormat;if(!t)return"";var i=this.getAxesDescription(),s=e.sonify&&e.options.sonification&&e.options.sonification.enabled,r="highcharts-a11y-sonify-data-btn-"+e.index,n="hc-linkto-highcharts-data-table-"+e.index,o=c(e),a=e.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:e}),i={headingTagName:f(e.renderTo),chartTitle:p(e),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:i.xAxis,yAxisDescription:i.yAxis,playAsSoundButton:s?this.getSonifyButtonText(r):"",viewTableButton:e.getCSV?this.getDataTableButtonText(n):"",annotationsTitle:o?a:"",annotationsList:o},s=l.i18nFormat(t,i,e);return this.dataTableButtonId=n,this.sonifyButtonId=r,T(s)}defaultAfterChartFormatter(){var e=this.chart,t=e.options.accessibility.screenReaderSection.afterChartFormat;if(!t)return"";var i={endOfChartMarker:this.getEndOfChartMarkerText()};return T(l.i18nFormat(t,i,e))}getLinkedDescription(){var e=this.linkedDescriptionElement;return x(e&&e.innerHTML||"",this.chart.renderer.forExport)}getLongdescText(){var e=this.chart.options,t=e.caption,t=t&&t.text,i=this.getLinkedDescription();return e.accessibility.description||i||t||""}getTypeDescriptionText(){var e,t,i,s,r,n,o=this.chart;return o.types?o.options.accessibility.typeDescription||(e=(o=o).types,s=e[0],r=o.series&&o.series[0]||{},n=o.mapView&&o.mapView.geoMap&&o.mapView.geoMap.title,r={numSeries:o.series.length,numPoints:r.points&&r.points.length,chart:o,mapTitle:n},s?"map"===s||"tiledwebmap"===s?r.mapTitle?o.langFormat("accessibility.chartTypes.mapTypeDescription",r):o.langFormat("accessibility.chartTypes.unknownMap",r):1'+t.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:t,chartTitle:p(t)})+""}getSonifyButtonText(e){let t=this.chart;return t.options.sonification&&!1===t.options.sonification.enabled?"":'"}getSubtitleText(){var e=this.chart.options.subtitle;return x(e&&e.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){var e=v("highcharts-end-of-chart-marker-"+this.chart.index);if(e)return e.outerHTML;let t=this.chart,i=t.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:t});return'
    '+i+"
    "}onDataTableCreated(t){let i=this.chart;if(i.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");let e=t.tree.attributes||{};e.tabindex=-1,e.summary=i.langFormat("accessibility.table.tableSummary",{chart:i}),t.tree.attributes=e}}focusDataTable(){let e=this.dataTableDiv,t=e&&e.getElementsByTagName("table")[0];t&&t.focus&&t.focus()}initSonifyButton(e){let t=this.sonifyButton=v(e),i=this.chart,s=e=>{t&&(t.setAttribute("aria-hidden","true"),t.setAttribute("aria-label","")),e.preventDefault(),e.stopPropagation();e=i.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:i});this.announcer.announce(e),setTimeout(()=>{t&&(t.removeAttribute("aria-hidden"),t.removeAttribute("aria-label")),i.sonify&&i.sonify()},1e3)};t&&i&&(t.setAttribute("tabindex",-1),t.onclick=function(e){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||s).call(this,e,i)})}initDataTableButton(e){let t=this.viewDataTableButton=v(e),i=this.chart,s=e.replace("hc-linkto-","");t&&(C(t,{tabindex:-1,"aria-expanded":!!v(s)}),t.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.viewData()})}getAxesDescription(){function e(e,t){return 1<(e=i[e]).length||e[0]&&E(e[0].options.accessibility&&e[0].options.accessibility.enabled,t)}let i=this.chart,t=!!i.types&&i.types.indexOf("map")<0&&i.types.indexOf("treemap")<0&&i.types.indexOf("tilemap")<0,s=!!i.hasCartesianSeries,r=e("xAxis",!i.angular&&s&&t),n=e("yAxis",s&&t),o={};return r&&(o.xAxis=this.getAxisDescriptionText("xAxis")),n&&(o.yAxis=this.getAxisDescriptionText("yAxis")),o}getAxisDescriptionText(e){let t=this.chart,i=t[e];return t.langFormat("accessibility.axis."+e+"Description"+(1{e&&("LI"!==e.tagName||e.children&&e.children.length?e.setAttribute("aria-hidden","true"):e.setAttribute("tabindex",-1))}),(i=t[0]&&t[0].parentNode)&&n(i,{"aria-hidden":void 0,"aria-label":e.langFormat("accessibility.exporting.chartMenuLabel",{chart:e}),role:"list"}))}getKeyboardNavigation(){let e=this.keyCodes,i=this.chart,s=this;return new r(i,{keyCodeMap:[[[e.left,e.up],function(){return s.onKbdPrevious(this)}],[[e.right,e.down],function(){return s.onKbdNext(this)}],[[e.enter,e.space],function(){return s.onKbdClick(this)}]],validate:function(){return!!i.exporting&&!1!==i.options.exporting.enabled&&!1!==i.options.exporting.accessibility.enabled},init:function(){var e=s.exportButtonProxy,t=s.chart.exportingGroup;e&&t&&i.setFocusToElement(t,e.innerElement)},terminate:function(){i.hideExportMenu()}})}onKbdPrevious(e){let t=this.chart,i=t.options.accessibility,s=e.response,r=t.highlightedExportItemIx||0;for(;r--;)if(t.highlightExportItem(r))return s.success;return i.keyboardNavigation.wrapAround?(t.highlightLastExportItem(),s.success):s.prev}onKbdNext(e){let t=this.chart,i=t.options.accessibility,s=e.response;for(let e=(t.highlightedExportItemIx||0)+1;e{e&&"highcharts-menu-item"===e.className&&e.onmouseout&&e.onmouseout(l("mouseout"))}),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function p(e){let t=this.exportDivElements&&this.exportDivElements[e],i=this.exportDivElements&&this.exportDivElements[this.highlightedExportItemIx];var s;return!(!t||"LI"!==t.tagName||t.children&&t.children.length)&&(s=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus,t.focus&&s&&t.focus(),i&&i.onmouseout&&i.onmouseout(l("mouseout")),t.onmouseover&&t.onmouseover(l("mouseover")),this.highlightedExportItemIx=e,!0)}function g(){if(this.exportDivElements){let e=this.exportDivElements.length;for(;e--;)if(this.highlightExportItem(e))return!0}return!1}}),t(e,"Accessibility/KeyboardNavigation.js",[e["Core/Globals.js"],e["Accessibility/Components/MenuComponent.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,i,e,s,r){let{doc:n,win:o}=t,{addEvent:a,defined:l,fireEvent:h}=e,{getElement:c,simulatedEventTarget:d}=r;class u{constructor(e,t){this.currentModuleIx=NaN,this.modules=[],this.init(e,t)}init(t,e){let i=this.eventProvider=new s;this.chart=t,this.components=e,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,"keydown",e=>this.onKeydown(e)),i.addEvent(this.tabindexContainer,"focus",e=>this.onFocus(e)),["mouseup","touchend"].forEach(e=>i.addEvent(n,e,e=>this.onMouseUp(e))),["mousedown","touchstart"].forEach(e=>i.addEvent(t.renderTo,e,()=>{this.isClickingChart=!0}))}update(e){let t=this.chart.options.accessibility,i=t&&t.keyboardNavigation,s=this.components;this.updateContainerTabindex(),i&&i.enabled&&e&&e.length?(this.modules=e.reduce(function(e,t){t=s[t].getKeyboardNavigation();return e.concat(t)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){var e=c("highcharts-end-of-chart-marker-"+this.chart.index);this.removeExitAnchor(),e?(this.makeElementAnExitAnchor(e),this.exitAnchor=e):this.createExitAnchor()}move(e){let t=this.modules&&this.modules[this.currentModuleIx],i=(t&&t.terminate&&t.terminate(e),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=e,this.modules&&this.modules[this.currentModuleIx]);if(i){if(i.validate&&!i.validate())return this.move(e);if(i.init)return i.init(e),!0}return this.currentModuleIx=0,this.exiting=!0,0e.element===this.exitAnchor))&&l(e.remover)&&this.eventProvider.removeEvent(e.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor)}addExitAnchorEventsToEl(e){let s=this.chart,r=this;this.eventProvider.addEvent(e,"focus",function(e){let t=e||o.event,i=!(t.relatedTarget&&s.container.contains(t.relatedTarget)||r.exiting);if(s.focusElement&&delete s.focusElement,i){if(r.tabbingInBackwards=!0,r.tabindexContainer.focus(),delete r.tabbingInBackwards,t.preventDefault(),r.modules&&r.modules.length){r.currentModuleIx=r.modules.length-1;let e=r.modules[r.currentModuleIx];e&&e.validate&&!e.validate()?r.move(-1):e&&e.init(-1)}}else r.exiting=!1})}getFirstValidModuleIx(){var e=this.modules.length;for(let t=0;t{e&&e.dismissPopupContent&&e.dismissPopupContent()})}}),t(e,"Accessibility/Components/LegendComponent.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Legend/Legend.js"],e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(e,t,i,s,r,n,o,a){let l=e["animObject"],h=t["doc"],{addEvent:c,fireEvent:d,isNumber:u,pick:p,syncTimeout:g}=s,m=o["getChartTitle"],{stripHTMLTagsFromString:b,addClass:y,removeClass:v}=a;function f(e){var t=e.legend&&e.legend.allItems,i=e.options.legend.accessibility||{},e=e.colorAxis&&e.colorAxis.some(e=>!e.dataClasses||!e.dataClasses.length);return t&&t.length&&!e&&!1!==i.enabled}function x(e,t){var i,s=t.legendItem||{};for(i of(t.setState(e?"hover":"",!0),["group","label","symbol"])){var r=s[i],r=r&&r.element||r;r&&d(r,e?"mouseover":"mouseout")}}class A extends r{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let t=this;this.recreateProxies(),this.addEvent(i,"afterScroll",function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),-1t.proxyProvider.updateGroupProxyElementPositions("legend"),l(p(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let r,n=this.chart,o=n.legend,e=o.allItems||[],a=o.currentPage||1,l=o.clipHeight||0;e.forEach(s=>{if(s.a11yProxyElement){let e=o.pages&&o.pages.length,t=s.a11yProxyElement.element,i=!1;r=s.legendItem||{},e&&(s=r.pageIx||0,i=(r.y||0)+(r.label?Math.round(r.label.getBBox().height):0)-o.pages[s]>l||s!==a-1),i?n.styledMode?y(t,"highcharts-a11y-invisible"):t.style.visibility="hidden":(v(t,"highcharts-a11y-invisible"),t.style.visibility="")}})}onChartRender(){f(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(e){let t=this.chart,i=t.legend,s=(i.currentPage||1)+e,r=i.pages||[];if(0/g," "),e.renderer.forExport),i=e.langFormat("accessibility.legend.legendLabel"+(t?"":"NoTitle"),{chart:e,legendTitle:t,chartTitle:m(e)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":i})}addLegendProxyGroup(){var e="all"===this.chart.options.accessibility.landmarkVerbosity?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:e})}proxyLegendItems(){let t,i=this;((this.chart.legend||{}).allItems||[]).forEach(e=>{(t=e.legendItem||{}).label&&t.label.element&&i.proxyLegendItem(e)})}proxyLegendItem(e){var t,i,s=e.legendItem||{};s.label&&s.group&&(t=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:b(e.name,this.chart.renderer.forExport),item:e}),t={tabindex:-1,"aria-pressed":e.visible,"aria-label":t},i=s.group.div?s.label:s.group,e.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:s.label,visual:i.element},"button",t))}getKeyboardNavigation(){let t=this.keyCodes,i=this,e=this.chart;return new n(e,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(e){return i.onKbdArrowKey(this,e)}],[[t.enter,t.space],function(){return i.onKbdClick(this)}],[[t.pageDown,t.pageUp],function(e){e=e===t.pageDown?1:-1;return i.highlightAdjacentLegendPage(e),this.response.success}]],validate:function(){return i.shouldHaveLegendNavigation()},init:function(){e.highlightLegendItem(0),i.highlightedLegendItemIx=0},terminate:function(){i.highlightedLegendItemIx=-1,e.legend.allItems.forEach(e=>x(!1,e))}})}onKbdArrowKey(e,t){let{keyCodes:{left:i,up:s},highlightedLegendItemIx:r,chart:n}=this,o=n.legend.allItems.length,a=n.options.accessibility.keyboardNavigation.wrapAround,l=t===i||t===s?-1:1;return n.highlightLegendItem(r+l)?this.highlightedLegendItemIx+=l:a&&1{var i,s=t.length;for(let e=0;ethis.calculatedWidth?t.minWidth:0;return{chartX:(e.chartX-this.x-this.xOffset)/(this.barWidth-t),chartY:(e.chartY-this.y-this.yOffset)/(this.barWidth-t)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,a(e.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,r=this.scrollbarButtons,n=this.options,o=this.size,a=s.g().add(this.group);if(r.push(a),n.buttonsEnabled){let e=s.rect().addClass("highcharts-scrollbar-button").add(a),t=(this.chart.styledMode||e.attr({stroke:n.buttonBorderColor,"stroke-width":n.buttonBorderWidth,fill:n.buttonBackgroundColor}),e.attr(e.crisp({x:-.5,y:-.5,width:o,height:o,r:n.buttonBorderRadius},e.strokeWidth())),s.path(m.swapXY([["M",o/2+(i?-1:1),o/2-3],["L",o/2+(i?-1:1),o/2+3],["L",o/2+(i?2:-2),o/2]],n.vertical)).addClass("highcharts-scrollbar-arrow").add(r[i]));this.chart.styledMode||t.attr({fill:n.buttonArrowColor})}}init(e,t,i){this.scrollbarButtons=[],this.renderer=e,this.userOptions=t,this.options=u(s,n.scrollbar,t),this.options.margin=p(this.options.margin,10),this.chart=i,this.size=p(this.options.size,this.options.height),t.enabled&&(this.render(),this.addEvents())}mouseDownHandler(e){e=this.chart.pointer?.normalize(e)||e,e=this.cursorToScrollbarPosition(e);this.chartX=e.chartX,this.chartY=e.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(e){var t=this.chart.pointer?.normalize(e)||e,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||e.touches&&0===e.touches[0][i]||(t=this.cursorToScrollbarPosition(t)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+t,s[1]+t),this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:e.type,DOMEvent:e}))}mouseUpHandler(e){this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:e.type,DOMEvent:e}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(e,t,i,s){let{buttonsEnabled:r,margin:n=0,vertical:o}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=e,this.y=t+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,o?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=r?this.size:0,this.barWidth=s-(r?2*i:0),this.x=e+=n):(this.height=s=this.size,this.xOffset=l=r?this.size:0,this.barWidth=i-(r?2*s:0),this.y=this.y+n),this.group[a]({translateX:e,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:o?0:i-l,translateY:o?s-h:0})}removeEvents(){this._events.forEach(function(e){g.apply(null,e)}),this._events.length=0}render(){let e=this.renderer,t=this.options,i=this.size,s=this.chart.styledMode,r=e.g("scrollbar").attr({zIndex:t.zIndex}).hide().add();this.group=r,this.track=e.rect().addClass("highcharts-scrollbar-track").attr({r:t.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:t.trackBackgroundColor,stroke:t.trackBorderColor,"stroke-width":t.trackBorderWidth});var n=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-o(0,n),y:-o(0,n)}),this.scrollbarGroup=e.g().add(r),this.scrollbar=e.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-n,width:i-n,r:t.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=e.path(m.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],t.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:t.barBackgroundColor,stroke:t.barBorderColor,"stroke-width":t.barBorderWidth}),this.scrollbarRifles.attr({stroke:t.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-o(0,this.scrollbarStrokeWidth),-o(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(e,t){let i,s;var r,n=this.options,o=n.vertical,a=n.minWidth,l=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";d(l)&&(r=l*Math.min(t,1),i=Math.ceil(l*(e=Math.max(e,0))),this.calculatedWidth=s=c(r-i),ss||!this.options.vertical&&t.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:e})}update(e){this.destroy(),this.init(this.chart.renderer,u(!0,this.options,e),this.chart)}updatePosition(e,t){1{e[s]({x:o[t],y:a[t],width:n[t],height:r[t]})})}renderElements(){let o=this,a=o.navigatorOptions,e=a.maskInside,l=o.chart,t=l.inverted,h=l.renderer,c={cursor:t?"ns-resize":"ew-resize"},d=o.navigatorGroup??(o.navigatorGroup=h.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!e,e,!e].forEach((e,t)=>{let i=o.shades[t]??(o.shades[t]=h.rect().addClass("highcharts-navigator-mask"+(1===t?"-inside":"-outside")).add(d));l.styledMode||(i.attr({fill:e?a.maskFill:"rgba(0,0,0,0)"}),1===t&&i.css(c))}),o.outline||(o.outline=h.path().addClass("highcharts-navigator-outline").add(d)),l.styledMode||o.outline.attr({"stroke-width":a.outlineWidth,stroke:a.outlineColor}),a.handles?.enabled){let s=a.handles,{height:r,width:n}=s;[0,1].forEach(e=>{var t,i=s.symbols[e];o.handles[e]?i!==o.handles[e].symbolName&&(t=u[i].call(u,-n/2-1,0,n,r),o.handles[e].attr({d:t}),o.handles[e].symbolName=i):(o.handles[e]=h.symbol(i,-n/2-1,0,n,r,s),o.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(d)),l.inverted&&o.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-n/2),rotationOriginY:(r+n)/2}),l.styledMode||o.handles[e].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-n/2-1,y:0}).css(c)})}}update(e,t=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(A(!0,i.options.navigator,e),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),w(e.enabled)||s)return this.destroy(),this.navigatorEnabled=e.enabled||this.navigatorEnabled,this.init(i);var r;this.navigatorEnabled&&(!(this.isDirty=!0)===e.adaptToUpdatedData&&this.baseSeries.forEach(e=>{k(e,"updatedData",this.updatedDataHandler)},this),e.adaptToUpdatedData&&this.baseSeries.forEach(e=>{e.eventsToUnbind.push(v(e,"updatedData",this.updatedDataHandler))},this),(e.series||e.baseSeries)&&this.setBaseSeries(void 0,!1),e.height||e.xAxis||e.yAxis)&&(this.height=e.height??this.height,r=this.getXAxisOffsets(),this.xAxis.update({...e.xAxis,offsets:r,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...e.yAxis,[i.inverted?"width":"height"]:this.height},!1)),t&&i.redraw()}render(e,t,i,s){let r=this.chart,n=this.xAxis,o=n.pointRange||0,a=n.navigatorAxis.fake?r.xAxis[0]:n,l=this.navigatorEnabled,h=this.rendered,c=r.inverted,d=r.xAxis[0].minRange,u=r.xAxis[0].options.maxRange,p=this.scrollButtonSize,g,m,b,y=this.scrollbarHeight,v,f;if(!this.hasDragged||w(i)){if(this.isDirty&&this.renderElements(),e=E(e-o/2),t=E(t+o/2),!M(e)||!M(t)){if(!h)return;i=0,s=S(n.width,a.width)}this.left=S(n.left,r.plotLeft+p+(c?r.plotWidth:0));var x=this.size=v=S(n.len,(c?r.plotHeight:r.plotWidth)-2*p),e=(g=c?y:v+2*p,i=S(i,n.toPixels(e,!0)),s=S(s,n.toPixels(t,!0)),M(i)&&Math.abs(i)!==1/0||(i=0,s=g),n.toValue(i,!0)),t=n.toValue(s,!0),A=((A=Math.abs(E(t-e)))u&&(this.grabbedLeft?i=n.toPixels(t-u-o,!0):this.grabbedRight&&(s=n.toPixels(e+u+o,!0))),this.zoomedMax=C(Math.max(i,s),0,x),this.zoomedMin=C(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,x),this.range=this.zoomedMax-this.zoomedMin,x=Math.round(this.zoomedMax),Math.round(this.zoomedMin));l&&(this.navigatorGroup.attr({visibility:"inherit"}),f=h&&!this.hasDragged?"animate":"attr",this.drawMasks(A,x,c,f),this.drawOutline(A,x,c,f),this.navigatorOptions.handles.enabled&&(this.drawHandle(A,0,c,f),this.drawHandle(x,1,c,f))),this.scrollbar&&(c?(b=this.top-p,m=this.left-y+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),y=v+2*p):(b=this.top+(l?this.height:-y),m=this.left-p),this.scrollbar.position(m,b,g,y),this.scrollbar.setRange(this.zoomedMin/(v||1),this.zoomedMax/(v||1))),this.rendered=!0,this.isDirty=!1,T(this,"afterRender")}}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],r,n;t.mouseMoveHandler=r=function(e){t.onMouseMove(e)},t.mouseUpHandler=n=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(v(e.renderTo,"mousemove",r),v(i.ownerDocument,"mouseup",n),v(e.renderTo,"touchmove",r),v(i.ownerDocument,"touchend",n)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(v(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let r=this,n=[];return["shades","handles"].forEach(function(i){r[i].forEach(function(e,t){n.push(v(e.element,s,function(e){r[i+"Mousedown"](e,t)}))})}),n}shadesMousedown(e,t){e=this.chart.pointer?.normalize(e)||e;let i=this.chart,s=this.xAxis,r=this.zoomedMin,n=this.size,o=this.range,a=this.left,l=e.chartX,h,c,d,u;i.inverted&&(l=e.chartY,a=this.top),1===t?(this.grabbedCenter=l,this.fixedWidth=o,this.dragOffset=l-r):(u=l-a-o/2,0===t?u=Math.max(0,u):2===t&&u+o>=n&&(u=n-o,this.reversedExtremes?(u-=o,c=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),u!==r&&(this.fixedWidth=o,w((d=s.navigatorAxis.toFixedRange(u,u+o,c,h)).min)&&T(this,"setRange",{min:Math.min(d.min,d.max),max:Math.max(d.min,d.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(e,t){e=this.chart.pointer?.normalize(e)||e;let i=this.chart,s=i.xAxis[0],r=this.reversedExtremes;0===t?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(e){let t=this,i=t.chart,s=t.navigatorSize,r=t.range,n=t.dragOffset,o=i.inverted,a=t.left,l;e.touches&&0===e.touches[0].pageX||(l=(e=i.pointer?.normalize(e)||e).chartX,o&&(a=t.top,l=e.chartY),t.grabbedLeft?(t.hasDragged=!0,t.render(0,0,l-a,t.otherHandlePos)):t.grabbedRight?(t.hasDragged=!0,t.render(0,0,t.otherHandlePos,l-a)):t.grabbedCenter&&(t.hasDragged=!0,ls+n-r&&(l=s+n-r),t.render(0,0,l-n,l-n+r)),t.hasDragged&&t.scrollbar&&S(t.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(e.DOMType=e.type,setTimeout(function(){t.onMouseUp(e)},0)))}onMouseUp(e){let t,i,s,r,n,o,a=this.chart,l=this.xAxis,h=this.scrollbar,c=e.DOMEvent||e,d=a.inverted,u=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==e.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(n=this.fixedExtreme),this.zoomedMax===this.size&&(n=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),w((o=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,n)).min)&&T(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c}})),"mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&M(this.zoomedMin)&&M(this.zoomedMax)&&(i=Math.round(this.zoomedMin),t=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,t,d,u),this.outline&&this.drawOutline(i,t,d,u),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,u),this.drawHandle(t,1,d,u)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(e){e()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let e=this.baseSeries||[];this.navigatorEnabled&&e[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&e.forEach(function(e){k(e,"updatedData",this.updatedDataHandler)},this),e[0].xAxis&&k(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(a){let e=a.options,t=e.navigator||{},i=t.enabled,s=e.scrollbar||{},r=s.enabled,n=i&&t.height||0,o=r&&s.height||0,l=s.buttonsEnabled&&o||0,h=(this.handles=[],this.shades=[],this.chart=a,this.setBaseSeries(),this.height=n,this.scrollbarHeight=o,this.scrollButtonSize=l,this.scrollbarEnabled=r,this.navigatorEnabled=i,this.navigatorOptions=t,this.scrollbarOptions=s,this.setOpposite(),this),c=h.baseSeries,d=a.xAxis.length,u=a.yAxis.length,p=c&&c[0]&&c[0].xAxis||a.xAxis[0]||{options:{}};var g;if(a.isDirtyBox=!0,h.navigatorEnabled?(g=this.getXAxisOffsets(),h.xAxis=new m(a,A({breaks:p.options.breaks,ordinal:p.options.ordinal,overscroll:p.options.overscroll},t.xAxis,{type:"datetime",yAxis:t.yAxis?.id,index:d,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:p.options.ordinal?0:p.options.minPadding,maxPadding:p.options.ordinal?0:p.options.maxPadding,zoomEnabled:!1},a.inverted?{offsets:g,width:n}:{offsets:g,height:n}),"xAxis"),h.yAxis=new m(a,A(t.yAxis,{alignTicks:!1,offset:0,index:u,isInternal:!0,reversed:S(t.yAxis&&t.yAxis.reversed,a.yAxis[0]&&a.yAxis[0].reversed,!1),zoomEnabled:!1},a.inverted?{width:n}:{height:n}),"yAxis"),c||t.series.data?h.updateNavigatorSeries(!1):0===a.series.length&&(h.unbindRedraw=v(a,"beforeRedraw",function(){0!e.options.isInternal).index:0),(t.series||[]).forEach((e,t)=>{e.options.isInternal||!e.options.showInNavigator&&(t!==i&&e.options.id!==i||!1===e.options.showInNavigator)||s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(e,r){let n=this,o=n.chart,a=n.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},h=n.series=(n.series||[]).filter(e=>{let t=e.baseSeries;return!(a.indexOf(t)<0&&(t&&(k(t,"updatedData",n.updatedDataHandler),delete t.navigatorSeries),e.chart&&e.destroy(),1))}),c,d,u=n.navigatorOptions.series,p;a&&a.length&&a.forEach(e=>{let t=e.navigatorSeries,i=f({color:e.color,visible:e.visible},x(u)?g.navigator.series:u);var s;t&&!1===n.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+a.length,p=(c=e.options||{}).navigatorOptions||{},i.dataLabels=P(i.dataLabels),(d=A(c,l,i,p)).pointRange=S(i.pointRange,p.pointRange,g.plotOptions[d.type||"line"].pointRange),s=p.data||i.data,n.hasNavigatorData=n.hasNavigatorData||!!s,d.data=s||c.data&&c.data.slice(0),t&&t.options?t.update(d,r):(e.navigatorSeries=o.initSeries(d),o.setSortedData(),e.navigatorSeries.baseSeries=e,h.push(e.navigatorSeries)))}),(!u.data||a&&a.length)&&!x(u)||(n.hasNavigatorData=!1,(u=P(u)).forEach((e,t)=>{l.name="Navigator "+(h.length+1),(d=A(g.navigator.series,{color:o.series[t]&&!o.series[t].options.isInternal&&o.series[t].color||o.options.colors[t]||o.options.colors[0]},l,e)).data=e.data,d.data&&(n.hasNavigatorData=!0,h.push(o.initSeries(d)))})),e&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,i=t.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(v(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(e=>{e.eventsToUnbind.push(v(e,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),e.eventsToUnbind.push(v(e,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&e.xAxis&&e.eventsToUnbind.push(v(e,"updatedData",this.updatedDataHandler)),e.eventsToUnbind.push(v(e,"remove",function(){i&&a(i,e),this.navigatorSeries&&(a(t.series,this.navigatorSeries),w(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(e){return this.baseSeries.reduce(function(e,t){return Math.min(e,t.xData&&t.xData.length?t.xData[0]:e)},e)}modifyNavigatorAxisExtremes(){let e=this.xAxis;var t;void 0===e.getExtremes||!(t=this.getUnionExtremes(!0))||t.dataMin===e.min&&t.dataMax===e.max||(e.min=t.dataMin,e.max=t.dataMax)}modifyBaseAxisExtremes(){let e,t,i=this.chart.navigator,s=this.getExtremes(),r=s.min,n=s.max,o=s.dataMin,a=s.dataMax,l=n-r,h=i.stickToMin,c=i.stickToMax,d=S(this.ordinal?.convertOverscroll(this.options.overscroll),0),u=i.series&&i.series[0],p=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(h&&(e=(t=o)+l),c&&(e=a+d,h||(t=Math.max(o,e-l,i.getBaseSeriesMin(u&&u.xData?u.xData[0]:-Number.MAX_VALUE)))),p&&(h||c)&&M(t)&&(this.min=this.userMin=t,this.max=this.userMax=e)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let e=this.chart.navigator,t=this.navigatorSeries,i=e.reversedExtremes?0===Math.round(e.zoomedMin):Math.round(e.zoomedMax)>=Math.round(e.size);e.stickToMax=S(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),e.stickToMin=e.shouldStickToMin(this,e),t&&!e.hasNavigatorData&&(t.options.pointStart=this.xData[0],t.setData(this.options.data,!1,null,!1))}shouldStickToMin(e,t){var t=t.getBaseSeriesMin(e.xData[0]),i=(e=e.xAxis).max,s=e.min,e=e.options.range;return!(!M(i)||!M(s))&&(e&&0{e.destroy&&e.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(e=>{this[e]&&this[e].destroy&&this[e].destroy(),this[e]=null}),[this.handles].forEach(e=>{o(e)}),this.navigatorEnabled=!1}}}),t(e,"Accessibility/Components/NavigatorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Stock/Navigator/Navigator.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/Utils/ChartUtilities.js"]],function(e,i,o,s,t,r,n,a,l){let h=t["animObject"],c=r["format"],{clamp:d,pick:u,syncTimeout:p}=n,g=a["getFakeMouseEvent"],{getAxisRangeDescription:m,fireEventOnWrappedOrUnwrappedElement:b}=l;return class extends e{init(){let e=this.chart,t=this;this.announcer=new i(e,"polite"),this.addEvent(s,"afterRender",function(){this.chart===t.chart&&this.chart.renderer&&p(()=>{t.proxyProvider.updateGroupProxyElementPositions("navigator"),t.updateHandleValues()},h(u(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){let r=this.chart,e=r.options,t=e.navigator;if(t.enabled&&t.accessibility?.enabled){var i=e.accessibility.landmarkVerbosity,n=e.lang.accessibility?.navigator.groupLabel;this.proxyProvider.removeGroup("navigator"),this.proxyProvider.addGroup("navigator","div",{role:"all"===i?"region":"group","aria-label":c(n,{chart:r},r)});let s=e.lang.accessibility?.navigator.handleLabel;[0,1].forEach(t=>{var i=this.getHandleByIx(t);if(i){let e=this.proxyProvider.addProxyElement("navigator",{click:i},"input",{type:"range","aria-label":c(s,{handleIx:t,chart:r},r)});this[t?"maxHandleProxy":"minHandleProxy"]=e.innerElement,e.innerElement.style.pointerEvents="none",e.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup("navigator")}getNavigatorHandleNavigation(t){let i=this,s=this.chart,r=t?this.maxHandleProxy:this.minHandleProxy,n=this.keyCodes;return new o(s,{keyCodeMap:[[[n.left,n.right,n.up,n.down],function(e){return r&&(e=e===n.left||e===n.up?-1:1,r.value=""+d(parseFloat(r.value)+e,0,100),i.updateNavigator(()=>{var e=i.getHandleByIx(t);e&&s.setFocusToElement(e,r)})),this.response.success}]],init:()=>{s.setFocusToElement(this.getHandleByIx(t),r)},validate:()=>!!(this.getHandleByIx(t)&&r&&s.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.proxyProvider.removeGroup("navigator"),this.announcer&&this.announcer.destroy()}updateHandleValues(){var e,t=this.chart.navigator;t&&this.minHandleProxy&&this.maxHandleProxy&&(e=t.size,this.minHandleProxy.value=""+Math.round(t.zoomedMin/e*100),this.maxHandleProxy.value=""+Math.round(t.zoomedMax/e*100))}getHandleByIx(e){var t=this.chart.navigator;return t&&t.handles&&t.handles[e]}updateNavigator(e){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((i=>{let r=this.chart,{navigator:n,pointer:o}=r;if(n&&o&&this.minHandleProxy&&this.maxHandleProxy){let s=o.getChartPosition(),e=parseFloat(this.minHandleProxy.value)/100*n.size,t=parseFloat(this.maxHandleProxy.value)/100*n.size;[[0,"mousedown",n.zoomedMin],[0,"mousemove",e],[0,"mouseup",e],[1,"mousedown",n.zoomedMax],[1,"mousemove",t],[1,"mouseup",t]].forEach(([e,t,i])=>{e=this.getHandleByIx(e)?.element;e&&b(e,g(t,{x:s.left+n.left+i,y:s.top+n.top},e))}),i&&i();var i=r.options.lang.accessibility?.navigator.changeAnnouncement,a=m(r.xAxis[0]);this.announcer.announce(c(i,{axisRangeDescription:a,chart:r},r))}}).bind(this,e),20)}}}),t(e,"Accessibility/Components/SeriesComponent/SeriesDescriber.js",[e["Accessibility/Components/AnnotationsA11y.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(e,t,i,s,r){let u=e["getPointAnnotationTexts"],{getAxisDescription:n,getSeriesFirstPointElement:c,getSeriesA11yElement:d,unhideChartElementFromAT:p}=t,{format:g,numberFormat:o}=i,{reverseChildNodes:m,stripHTMLTagsFromString:b}=s,{find:y,isNumber:a,isString:v,pick:f,defined:x}=r;function A(e){var t=e.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==t&&e.points&&e.points.length>=+t)}function C(e,t){var e=e.series,i=e.chart,s=i.options.accessibility.point||{},r=e.options.accessibility&&e.options.accessibility.point||{},e=e.tooltipOptions||{},i=i.options.lang;return a(t)?o(t,r.valueDecimals||s.valueDecimals||e.valueDecimals||-1,i.decimalPoint,i.accessibility.thousandsSep||i.thousandsSep):t}function E(e,t){var i=e[t];return e.chart.langFormat("accessibility.series."+t+"Description",{name:n(i),series:e})}function w(e){var t,i,s,r,n,o=e.series,a=1"," "),h=x(c.id)&&(""+c.id).indexOf("highcharts-")<0,d="x, "+c.x,c.name||n||l||(h?c.id:d)):"",g(r,{point:t,index:x(t.index)?t.index+1:"",xDescription:n,value:function(e){let t=e.series,i=t.chart.options.accessibility.point||{},s=t.chart.options.accessibility&&t.chart.options.accessibility.point||{},r=t.tooltipOptions||{},n=s.valuePrefix||i.valuePrefix||r.valuePrefix||"",o=s.valueSuffix||i.valueSuffix||r.valueSuffix||"",a=void 0!==e.value?"value":"y",l=C(e,e[a]);{if(e.isNull)return t.chart.langFormat("accessibility.series.nullPointValue",{point:e});if(t.pointArrayMap){var h=e;let s=n||"",r=o||"";return h.series.pointArrayMap.reduce(function(e,t){t=t;var i,t=void 0!==(i=C(h,f(h[t],h.options[t])))?t+": "+s+i+r:i;return t?e+(e.length?", ":"")+t:e},"")}return n+l+o}}(t),separator:i?", ":""},s)),h=e.options&&e.options.accessibility&&e.options.accessibility.description,c=a?" "+o.name+".":"",d=function(e){let t=e.series.chart,i=u(e);return i.length?t.langFormat("accessibility.series.pointAnnotationsDescription",{point:e,annotations:i}):""}(e);return e.accessibility=e.accessibility||{},(e.accessibility.valueDescription=l)+(h?" "+h:"")+c+(d?" "+d:"")}function T(t){function e(e){return i[e]&&1{let n=r.graphic&&r.graphic.element||function(e){let t=e.series,i=t&&t.chart,s=t&&t.is("sunburst"),r=e.isNull,n=i&&i.options.accessibility.point.describeNull;return r&&!s&&n}(r)&&function(t){let e=t.series,i=function(e){let t=e.index;return e.series&&e.series.data&&x(t)&&y(e.series.data,function(e){return!!(e&&void 0!==e.index&&e.index>t&&e.graphic&&e.graphic.element)})||null}(t),s=i&&i.graphic,r=s?s.parentGroup:e.graph||e.group,n=i?{x:f(t.plotX,i.plotX,0),y:f(t.plotY,i.plotY,0)}:{x:f(t.plotX,0),y:f(t.plotY,0)},o=function(){let e=t.series.chart.renderer.rect(n.x,n.y,1,1);return e.attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),e}();if(r&&r.element)return t.graphic=o,t.hasMockGraphic=!0,o.add(r),r.element.insertBefore(o.element,s?s.element:null),o.element}(r),e=r.options&&r.options.accessibility&&!1===r.options.accessibility.enabled;if(n)if(r.isNull&&!i)n.setAttribute("aria-hidden",!0);else if(n.setAttribute("tabindex","-1"),a.chart.styledMode||(n.style.outline="none"),t&&!e){var o=n;let e=r.series,t=e.options.accessibility?.point||{},i=e.chart.options.accessibility.point||{},s=b(v(t.descriptionFormat)&&g(t.descriptionFormat,r,e.chart)||t.descriptionFormatter?.(r)||v(i.descriptionFormat)&&g(i.descriptionFormat,r,e.chart)||i.descriptionFormatter?.(r)||w(r),e.chart.renderer.forExport);o.setAttribute("role","img"),o.setAttribute("aria-label",s)}else n.setAttribute("aria-hidden",!0)})}if(p(e,r),n=s.chart,o=(o=n.options.chart).options3d&&o.options3d.enabled,l=1i.x===e.x&&i.y===e.y)).length?s[0]:i),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(e=>t.dirty.allSeries[e]),this.dirty.newSeries,e),this.dirty={allSeries:{}}}var i,s}queueAnnouncement(i,e,t){var s,r,n=this.chart.options.accessibility.announceNewData;n.enabled&&(r=(s=+new Date)-this.lastAnnouncementTime,n=Math.max(0,n.minAnnounceInterval-r),r=function(e){let t=(e||[]).concat(i||[]).reduce((e,t)=>(e[t.name+t.index]=t,e),{});return Object.keys(t).map(e=>t[e])}(this.queuedAnnouncement&&this.queuedAnnouncement.series),(e=this.buildAnnouncementMessage(r,e,t))&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:s,message:e,series:r},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},n)))}buildAnnouncementMessage(e,t,i){let s=this.chart,r=s.options.accessibility.announceNewData;if(r.announcementFormatter){e=r.announcementFormatter(e,t,i);if(!1!==e)return e.length?e:null}var e=o.charts&&1{null===i[e]&&delete i[e]});t=this.getTargetAttr(e.click,"aria-label");r(this.innerElement,o(t?{"aria-label":t}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,e.click),this.refreshPosition()}refreshPosition(){var e=this.getTargetPosition();n(this.innerElement,{width:(e.width||1)+"px",height:(e.height||1)+"px",left:(Math.round(e.x)||0)+"px",top:(Math.round(e.y)||0)+"px"})}remove(){this.eventProvider.removeAddedEvents(),p(this.element)}updateCSSClassName(){var e=e=>-1{let i=0===e.indexOf("touch");this.eventProvider.addEvent(t,e,e=>{var t=(i?d:c)(e);s&&h(s,t),e.stopPropagation(),i||e.preventDefault()},{passive:!1})})}hideElementVisually(e){n(e,{borderWidth:0,backgroundColor:"transparent",cursor:"pointer",outline:"none",opacity:.001,filter:"alpha(opacity=1)",zIndex:999,overflow:"hidden",padding:0,margin:0,display:"block",position:"absolute","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"})}getTargetPosition(){let e=this.target.click,t=e.element||e,i=this.target.visual||t,s=this.chart.renderTo,r=this.chart.pointer;var n,o;return s&&i?.getBoundingClientRect&&r?(n=i.getBoundingClientRect(),o=r.getChartPosition(),{x:(n.left-o.left)/o.scaleX,y:(n.top-o.top)/o.scaleY,width:n.right/o.scaleX-n.left/o.scaleX,height:n.bottom/o.scaleY-n.top/o.scaleY}):{x:0,y:0,width:1,height:1}}getTargetAttr(e,t){return(e.element||e).getAttribute(t)}}}),t(e,"Accessibility/ProxyProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/ProxyElement.js"]],function(e,t,i,s,r,n){let o=e["doc"],{attr:a,css:l}=t,h=i["unhideChartElementFromAT"],c=r["removeChildNodes"];return class{constructor(e){this.chart=e,this.domElementProvider=new s,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(e,t,i="button",s){let r=this.groups[e];if(!r)throw Error("ProxyProvider.addProxyElement: Invalid group key "+e);e="ul"===r.type||"ol"===r.type?"li":void 0,t=new n(this.chart,t,i,e,s);return r.proxyContainerElement.appendChild(t.element),r.proxyElements.push(t),t}addGroup(e,t="div",i){let s;var r=this.groups[e];if(r)return r.groupElement;let n=this.domElementProvider.createElement(t);return i&&i.role&&"div"!==t?(s=this.domElementProvider.createElement("div")).appendChild(n):s=n,s.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+e.replace(/\W/g,"-"),this.groups[e]={proxyContainerElement:n,groupElement:s,type:t,proxyElements:[]},a(s,i||{}),"ul"===t&&n.setAttribute("role","list"),this.afterChartProxyPosContainer.appendChild(s),this.updateGroupOrder(this.groupOrder),s}updateGroupAttrs(e,t){var i=this.groups[e];if(!i)throw Error("ProxyProvider.updateGroupAttrs: Invalid group key "+e);a(i.groupElement,t)}updateGroupOrder(r){if(this.groupOrder=r.slice(),!this.isDOMOrderGroupOrder()){let e=r.indexOf("series"),i=-1{let t=this["before"===e?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];c(t),("before"===e?i:s).forEach(e=>{e=this.groups[e];e&&t.appendChild(e.groupElement)})}),(this.beforeChartProxyPosContainer.contains(t)||this.afterChartProxyPosContainer.contains(t))&&t&&t.focus&&t.focus()}}clearGroup(e){var t=this.groups[e];if(!t)throw Error("ProxyProvider.clearGroup: Invalid group key "+e);c(t.proxyContainerElement)}removeGroup(e){var t=this.groups[e];t&&(this.domElementProvider.removeElement(t.groupElement),t.groupElement!==t.proxyContainerElement&&this.domElementProvider.removeElement(t.proxyContainerElement),delete this.groups[e])}update(){this.updatePosContainerPositions(),this.updateGroupOrder(this.groupOrder),this.updateProxyElementPositions()}updateProxyElementPositions(){Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this))}updateGroupProxyElementPositions(e){let t=this.groups[e];t&&t.proxyElements.forEach(e=>e.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(e){let t=this.domElementProvider.createElement("div");return t.setAttribute("aria-hidden","false"),t.className="highcharts-a11y-proxy-container"+(e?"-"+e:""),l(t,{top:"0",left:"0"}),this.chart.styledMode||(t.style.whiteSpace="nowrap",t.style.position="absolute"),t}getCurrentGroupOrderInDOM(){let r=e=>{let t=Object.keys(this.groups),i=t.length;for(;i--;){var s=t[i],r=this.groups[s];if(r&&e===r.groupElement)return s}},e=e=>{let t=[],i=e.children;for(let e=0;e"series"===e||!!this.groups[e]),i=e.length;if(i!==t.length)return!1;for(;i--;)if(e[i]!==t[i])return!1;return!0}updatePosContainerPositions(){let e=this.chart;var t;e.renderer.forExport||(t=e.renderer.box,e.container.insertBefore(this.afterChartProxyPosContainer,t.nextSibling),e.container.insertBefore(this.beforeChartProxyPosContainer,t),h(this.chart,this.afterChartProxyPosContainer),h(this.chart,this.beforeChartProxyPosContainer))}}}),t(e,"Accessibility/Components/RangeSelectorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],function(e,t,i,r,s){let{unhideChartElementFromAT:n,getAxisRangeDescription:o}=i,{addEvent:h,attr:a}=s;class l extends e{init(){var e=this.chart;this.announcer=new t(e,"polite")}onChartUpdate(){let i=this.chart,s=this,r=i.rangeSelector;r&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),r.buttons&&r.buttons.length&&r.buttons.forEach(e=>{s.setRangeButtonAttrs(e)}),r.maxInput&&r.minInput&&["minInput","maxInput"].forEach(function(e,t){e=r[e];e&&(n(i,e),s.setRangeInputAttrs(e,"accessibility.rangeSelector."+(t?"max":"min")+"InputLabel"))}))}updateSelectorVisibility(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[],r=e=>e.setAttribute("aria-hidden",!0);e&&e.hasVisibleDropdown&&i?(n(t,i),s.forEach(e=>r(e.element))):(i&&r(i),s.forEach(e=>n(t,e.element)))}setDropdownAttrs(){let e=this.chart,t=e.rangeSelector&&e.rangeSelector.dropdown;var i;t&&(i=e.langFormat("accessibility.rangeSelector.dropdownLabel",{rangeTitle:e.options.lang.rangeSelectorZoom}),t.setAttribute("aria-label",i),t.setAttribute("tabindex",-1))}setRangeButtonAttrs(e){a(e.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(e,t){let i=this.chart;a(e,{tabindex:-1,"aria-label":i.langFormat(t,{chart:i})})}onButtonNavKbdArrowKey(e,t){let i=e.response,s=this.keyCodes,r=this.chart,n=r.options.accessibility.keyboardNavigation.wrapAround,o=t===s.left||t===s.up?-1:1;return r.highlightRangeSelectorButton(r.highlightedRangeSelectorItemIx+o)?i.success:n?(e.init(o),i.success):i[0{(e.which||e.keyCode)===this.keyCodes.tab&&s.onInputKbdMove(e.shiftKey?-1:1)&&(e.preventDefault(),e.stopPropagation())},t=h(a,"keydown",e),i=h(l,"keydown",e);this.removeInputKeydownHandler=()=>{t(),i()}}}onInputNavTerminate(){let e=this.chart.rangeSelector||{};e.maxInput&&e.hideInput("max"),e.minInput&&e.hideInput("min"),this.removeInputKeydownHandler&&(this.removeInputKeydownHandler(),delete this.removeInputKeydownHandler)}initDropdownNav(){let s=this.chart,e=s.rangeSelector,t=e&&e.dropdown;e&&t&&(s.setFocusToElement(e.buttonGroup,t),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=h(t,"keydown",e=>{let t=(e.which||e.keyCode)===this.keyCodes.tab,i=s.accessibility;t&&(e.preventDefault(),e.stopPropagation(),i&&(i.keyboardNavigation.tabindexContainer.focus(),i.keyboardNavigation.move(e.shiftKey?-1:1)))}))}getRangeSelectorButtonNavigation(){let i=this.chart,e=this.keyCodes,s=this;return new r(i,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(e){return s.onButtonNavKbdArrowKey(this,e)}],[[e.enter,e.space],function(){return s.onButtonNavKbdClick(this)}]],validate:function(){return!!(i.rangeSelector&&i.rangeSelector.buttons&&i.rangeSelector.buttons.length)},init:function(e){var t=i.rangeSelector;t&&t.hasVisibleDropdown?s.initDropdownNav():t&&(t=t.buttons.length-1,i.highlightRangeSelectorButton(0{e.graphic&&(e.graphic[e.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),e.graphic[!1===e.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))}))}function d(e){this.resetA11yMarkerOptions=o(e.options.marker||{},this.userOptions.marker||{})}function u(){var r,e,t,i,s=this.options;if(t=(e=this).chart.options.accessibility.enabled,i=!1!==(e.options.accessibility&&e.options.accessibility.enabled),t&&i&&(t=e.chart.options.accessibility,e.points.length{l[e]&&(l[e].prototype.keyboardMoveVertical=!1)}),n.highlightNextValidPoint=M)},A;function C(e){let t,i;var s=this.series,r=this.highlightedPoint,n=r&&m(r)||0,o=r&&r.series.points||[],a=this.series&&this.series[this.series.length-1],a=a&&a.points&&a.points[a.points.length-1];if(!s[0]||!s[0].points)return!1;if(r){if(t=s[r.series.index+(e?1:-1)],!(i=!(i=o[n+(e?1:-1)])&&t?t.points[e?0:t.points.length-1]:i))return!1}else i=e?s[0].points[0]:a;return y(i)?(b(t=i.series)?this.highlightedPoint=e?t.points[t.points.length-1]:t.points[0]:this.highlightedPoint=i,this.highlightAdjacentPoint(e)):i.highlight()}function E(n){let o=this.highlightedPoint,a=1/0,l;return!(!c(o.plotX)||!c(o.plotY))&&(this.series.forEach(r=>{b(r)||r.points.forEach(s=>{if(c(s.plotY)&&c(s.plotX)&&s!==o){let e=s.plotY-o.plotY,t=Math.abs(s.plotX-o.plotX),i=Math.abs(e)*Math.abs(e)+t*t*4;r.yAxis&&r.yAxis.reversed&&(e*=-1),!(e<=0&&n||0<=e&&!n||i<5||y(s))&&i!(c(e.plotX)&&c(e.plotY));if(!a(e)){for(;o--;)!a(s=t.points[o])&&(n=(e.plotX-s.plotX)*(e.plotX-s.plotX)*4+(e.plotY-s.plotY)*(e.plotY-s.plotY)*1){t.addEvent(i,e,function(){t.updateProxyOverlays()})})}onChartUpdate(){let i=this.chart,s=this;i.mapNavigation&&i.mapNavigation.navButtons.forEach((e,t)=>{r(i,e.element),s.setMapNavButtonAttrs(e.element,"accessibility.zoom.mapZoom"+(t?"Out":"In"))})}setMapNavButtonAttrs(e,t){let i=this.chart;n(e,{tabindex:-1,role:"button","aria-label":i.langFormat(t,{chart:i})})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){let e=this.chart;var t;this.proxyProvider.clearGroup("zoom"),e.resetZoomButton&&this.createZoomProxyButton(e.resetZoomButton,"resetZoomProxyButton",e.langFormat("accessibility.zoom.resetZoomButton",{chart:e})),e.drillUpButton&&e.breadcrumbs&&e.breadcrumbs.list&&(t=e.breadcrumbs.list[e.breadcrumbs.list.length-1],this.createZoomProxyButton(e.drillUpButton,"drillUpProxyButton",e.langFormat("accessibility.drillUpButton",{chart:e,buttonText:e.breadcrumbs.getButtonText(t)})))}createZoomProxyButton(e,t,i){this[t]=this.proxyProvider.addProxyElement("zoom",{click:e},"button",{"aria-label":i,tabindex:-1})}getMapZoomNavigation(){let e=this.keyCodes,t=this.chart,i=this;return new o(t,{keyCodeMap:[[[e.up,e.down,e.left,e.right],function(e){return i.onMapKbdArrow(this,e)}],[[e.tab],function(e,t){return i.onMapKbdTab(this,t)}],[[e.space,e.enter],function(){return i.onMapKbdClick(this)}]],validate:function(){return!!(t.mapView&&t.mapNavigation&&t.mapNavigation.navButtons.length)},init:function(e){return i.onMapNavInit(e)}})}onMapKbdArrow(e,t){let i=this.chart,s=this.keyCodes,r=i.container,n=t===s.up||t===s.down,o=t===s.left||t===s.up?1:-1,a=(n?i.plotHeight:i.plotWidth)/10*o,l=10*Math.random(),h={x:r.offsetLeft+i.plotLeft+i.plotWidth/2+l,y:r.offsetTop+i.plotTop+i.plotHeight/2+l},c=n?{x:h.x,y:h.y+a}:{x:h.x+a,y:h.y};return[d("mousedown",h),d("mousemove",c),d("mouseup",c)].forEach(e=>r.dispatchEvent(e)),e.response.success}onMapKbdTab(e,t){let i=this.chart,s=e.response,r=t.shiftKey,n=r&&!this.focusedMapNavButtonIx||!r&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),n)return i.mapView&&i.mapView.zoomBy(),s[r?"prev":"next"];this.focusedMapNavButtonIx+=r?-1:1;let o=i.mapNavigation.navButtons[this.focusedMapNavButtonIx];return i.setFocusToElement(o.box,o.element),o.setState(2),s.success}onMapKbdClick(e){var t=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(t),e.response.success}onMapNavInit(e){let t=this.chart,i=t.mapNavigation.navButtons[0],s=t.mapNavigation.navButtons[1],r=0{chartTitle}
    {typeDescription}
    {chartSubtitle}
    {chartLongdesc}
    {playAsSoundButton}
    {viewTableButton}
    {xAxisDescription}
    {yAxisDescription}
    {annotationsTitle}{annotationsList}
    ",afterChartFormat:"{endOfChartMarker}",axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{descriptionFormat:"{seriesDescription}{authorDescription}{axisDescription}",describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{xDescription}{separator}{value}.",describeNull:!0},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',highContrastMode:"auto",keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#334eff",lineWidth:2,borderRadius:3},margin:2},order:["series","zoom","rangeSelector","navigator","legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:!0,pointNavigationEnabledThreshold:!1,rememberPointFocus:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5e3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}},navigator:{accessibility:{enabled:!0}}}}),t(e,"Accessibility/Options/LangDefaults.js",[],function(){return{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.",svgContainerLabel:"Interactive chart",drillUpButton:"{buttonText}",credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{#each additionalAnnotationPoints}, also related to {this}{/each}",descriptionNoPoints:"{annotationText}"},endOfChartMarker:"End of interactive chart."},sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabelNoTitle:"Toggle series visibility, {chartTitle}",legendLabel:"Chart legend: {legendTitle}",legendItem:"Show {itemName}"},zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{dropdownLabel:"{rangeTitle}",minInputLabel:"Select start date.",maxInputLabel:"Select end date.",clickButtonAnnouncement:"Viewing {axisRangeDescription}"},navigator:{handleLabel:"{#eq handleIx 0}Start, percent{else}End, percent{/eq}",groupLabel:"Axis zoom",changeAnnouncement:"{axisRangeDescription}"},table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."},announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{boxplot:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.",arearange:"Arearange charts are line charts displaying a range between a lower and higher value for each point.",areasplinerange:"These charts are line charts displaying a range between a lower and higher value for each point.",bubble:"Bubble charts are scatter charts where each data point also has a size value.",columnrange:"Columnrange charts are column charts displaying a range between a lower and higher value for each point.",errorbar:"Errorbar series are used to display the variability of the data.",funnel:"Funnel charts are used to display reduction of data in stages.",pyramid:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.",waterfall:"A waterfall chart is a column chart where each column contributes towards a total end value."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries} data series.",combinationChart:"Combination chart with {numSeries} data series.",defaultSingle:"Chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",columnMultiple:"Bar chart with {numSeries} data series.",barSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#eq numPoints 1}slice{else}slices{/eq}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#eq numPoints 1}point{else}points{/eq}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#eq numPoints 1}box{else}boxes{/eq}.",boxplotMultiple:"Boxplot with {numSeries} data series.",bubbleSingle:"Bubble chart with {numPoints} {#eq numPoints 1}bubbles{else}bubble{/eq}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",timeRangeDays:"Data range: {range} days.",timeRangeHours:"Data range: {range} hours.",timeRangeMinutes:"Data range: {range} minutes.",timeRangeSeconds:"Data range: {range} seconds.",rangeFromTo:"Data ranges from {rangeFrom} to {rangeTo}.",rangeCategories:"Data range: {numCategories} categories."},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu, {chartTitle}"},series:{summary:{default:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",defaultCombination:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",line:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",lineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",spline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",splineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",column:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",columnCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",bar:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",barCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",pie:"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",pieCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",scatter:"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",scatterCombination:"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",boxplot:"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",boxplotCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",bubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",bubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",map:"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",maplineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",mapbubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",mapbubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{#each annotations}Annotation: {this}{/each}"}}}}),t(e,"Accessibility/Options/DeprecatedOptions.js",[e["Core/Utilities.js"]],function(e){let{error:l,pick:o}=e;function h(e,t,i){let s=e,r,n=0;for(;n"series"!==e)):Object.keys(this.components):[]}update(){let t=this.components,i=this.chart,e=i.options.accessibility;M(i,"beforeA11yUpdate"),i.types=this.getChartTypes();var s=e.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach(function(e){t[e].onChartUpdate(),M(i,"afterA11yComponentUpdate",{name:e,component:t[e]})}),this.keyboardNavigation.update(s),i.highContrastModeActive||!1===e.highContrastMode||!y.isHighContrastModeActive()&&!0!==e.highContrastMode||y.setHighContrastTheme(i),M(i,"afterA11yUpdate",{accessibility:this})}destroy(){let e=this.chart||{},t=this.components;Object.keys(t).forEach(function(e){t[e].destroy(),t[e].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),e.announcerContainer&&k(e.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),e.renderTo&&e.renderTo.setAttribute("aria-hidden",!0),e.focusElement&&e.focusElement.removeFocusBorder()}getChartTypes(){let t={};return this.chart.series.forEach(function(e){t[e.type]=1}),Object.keys(t)}}return(F=P=P||{}).i18nFormat=a.i18nFormat,F.compose=function(t,e,i,s,r,n){h.compose(t),u.compose(s),c.compose(t,e),d.compose(t),m.compose(t,i,s),a.compose(t),l.compose(t,r),n&&g.compose(t,n);let o=t.prototype;o.updateA11yEnabled||(o.updateA11yEnabled=j,w(t,"destroy",D),w(t,"render",N),w(t,"update",B),["addSeries","init"].forEach(e=>{w(t,e,function(){this.a11yDirty=!0})}),["afterApplyDrilldown","drillupall"].forEach(e=>{w(t,e,function(){let e=this.accessibility;e&&!e.zombie&&e.update()})}),w(i,"update",I),["update","updatedData","remove"].forEach(e=>{w(s,e,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))},S(!0,C,f,{accessibility:{highContrastTheme:v},lang:x}),P;function D(){this.accessibility&&this.accessibility.destroy()}function N(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());let t=this.accessibility;t&&!t.zombie&&(t.proxyProvider.updateProxyElementPositions(),t.getComponentOrder().forEach(function(e){t.components[e].onChartRender()}))}function B(e){let t=e.options.accessibility;t&&(t.customComponents&&(this.options.accessibility.customComponents=t.customComponents,delete t.customComponents),S(!0,this.options.accessibility,t),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function j(){let e=this.accessibility,t=this.options.accessibility;t&&t.enabled?e&&!e.zombie?e.update():(this.accessibility=e=new F(this),e&&!e.zombie&&e.update()):e?(e.destroy&&e.destroy(),delete this.accessibility):this.renderTo.setAttribute("aria-hidden",!0)}function I(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}var F}),t(e,"masters/modules/accessibility.src.js",[e["Core/Globals.js"],e["Accessibility/Accessibility.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],function(e,t,i,s,r,n,o){return e.i18nFormat=t.i18nFormat,e.A11yChartUtilities=s,e.A11yHTMLUtilities=r,e.AccessibilityComponent=i,e.KeyboardNavigationHandler=n,e.SeriesAccessibilityDescriber=o,t.compose(e.Chart,e.Legend,e.Point,e.Series,e.SVGElement,e.RangeSelector),e})}); \ No newline at end of file +!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var e=r?r._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Accessibility/Utils/HTMLUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,t){let{doc:s,win:r}=e,i=t["css"],n=r.EventTarget&&new r.EventTarget||"none";function o(t){if("function"==typeof r.MouseEvent)return new r.MouseEvent(t.type,t);if(s.createEvent){let e=s.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t.type,t.bubbles,t.cancelable,t.view||r,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),e}return a(t.type)}function a(t,i,e){i=i||{x:0,y:0};if("function"==typeof r.MouseEvent)return new r.MouseEvent(t,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:e||n,view:r,detail:"click"===t?1:0,screenX:i.x,screenY:i.y,clientX:i.x,clientY:i.y});if(s.createEvent){let e=s.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t,!0,!0,r,"click"===t?1:0,i.x,i.y,i.x,i.y,!1,!1,!1,!1,0,null),e}return{type:t}}return{addClass:function(e,t){e.classList?e.classList.add(t):e.className.indexOf(t)<0&&(e.className+=" "+t)},cloneMouseEvent:o,cloneTouchEvent:function(t){var i=t=>{let i=[];for(let e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(e){return s.getElementById(e)},getFakeMouseEvent:a,getHeadingTagNameForElement:function(e){let i=e=>"h"+Math.min(6,parseInt(e.slice(1),10)+1),s=e=>/^H[1-6]$/i.test(e),r=e=>{var t=(e=>{let t=e;for(;t=t.previousSibling;){var i=t.tagName||"";if(s(i))return i}return""})(e);if(t)return i(t);t=e.parentElement;if(!t)return"p";e=t.tagName;return s(e)?i(e):r(t)};return r(e)},removeChildNodes:function(e){for(;e.lastChild;)e.removeChild(e.lastChild)},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(RegExp(t,"g"),"")},removeElement:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},reverseChildNodes:function(e){let t=e.childNodes.length;for(;t--;)e.appendChild(e.childNodes[t])},simulatedEventTarget:n,stripHTMLTagsFromString:function(e,t=!1){return"string"==typeof e?t?e.replace(/<\/?[^>]+(>|$)/g,""):e.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):e},visuallyHideElement:function(e){i(e,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",filter:"alpha(opacity=1)",opacity:.01})}}}),t(e,"Accessibility/A11yI18n.js",[e["Core/Templating.js"],e["Core/Utilities.js"]],function(e,t){var i;let a=e["format"],{getNestedProperty:d,pick:u}=t;return(e=i=i||{}).compose=function(e){let t=e.prototype;t.langFormat||(t.langFormat=s)},e.i18nFormat=n,i;function n(e,t,i){let s=[],r,n,o=0;for(;r=((e,t)=>{let i=e.slice(t||0),s=i.indexOf("{"),r=i.indexOf("}");if(-1{"statement"===e.type&&(e.value=function(o,a){let l,h;var c=o.indexOf("#each("),t=o.indexOf("#plural("),i=o.indexOf("["),s=o.indexOf("]");if(-1e+t.value,""),t,i)}function s(e,t){let i=e.split("."),s=this.options.lang,r=0;for(;r!!e.graphic))&&e.graphic&&e.graphic.element}function h(e){var t=r(e);return t&&t.parentNode||e.graph&&e.graph.element||e.group&&e.group.element}return{fireEventOnWrappedOrUnwrappedElement:function e(t,i){var s=i.type,r=t.hcEvents;n.createEvent&&(t.dispatchEvent||t.fireEvent)?t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(s,i):r&&r[s]?l(t,s,i):t.element&&e(t.element,i)},getChartTitle:function(e){return s(e.options.title.text||e.langFormat("accessibility.defaultChartTitle",{chart:e}),e.renderer.forExport)},getAxisDescription:function(e){return e&&(e.options.accessibility?.description||e.axisTitle?.textStr||e.options.id||e.categories&&"categories"||e.dateTime&&"Time"||"values")},getAxisRangeDescription:function(t){var e=t.options||{};{if(e.accessibility&&void 0!==e.accessibility.rangeDescription)return e.accessibility.rangeDescription;if(t.categories){let e=t.chart;return t.dataMax&&t.dataMin?e.langFormat("accessibility.axis.rangeCategories",{chart:e,axis:t,numCategories:t.dataMax-t.dataMin+1}):""}return(!t.dateTime||0!==t.min&&0!==t.dataMin?function(t){function e(e){return t.dateTime?i.time.dateFormat(r,n[e]):n[e].toString()}let i=t.chart,s=i.options,r=s&&s.accessibility&&s.accessibility.screenReaderSection.axisRangeDateFormat||"",n={min:t.dataMin||t.min||0,max:t.dataMax||t.max||0};return i.langFormat("accessibility.axis.rangeFromTo",{chart:i,axis:t,rangeFrom:e("min"),rangeTo:e("max")})}:function(e){let t=e.chart,i={},s=e.dataMin||e.min||0,r=e.dataMax||e.max||0,n="Seconds",o=(i.Seconds=(r-s)/1e3,i.Minutes=i.Seconds/60,i.Hours=i.Minutes/60,i.Days=i.Hours/24,["Minutes","Hours","Days"].forEach(function(e){2e.remover).indexOf(e);this.eventRemovers[e].remover(),this.eventRemovers.splice(e,1)}removeAddedEvents(){this.eventRemovers.map(e=>e.remover).forEach(e=>e()),this.eventRemovers=[]}}}),t(e,"Accessibility/AccessibilityComponent.js",[e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(e,i,s,t){let r=e["fireEventOnWrappedOrUnwrappedElement"],n=t["getFakeMouseEvent"];return class{destroy(){}getKeyboardNavigation(){return[]}init(){}onChartRender(){}onChartUpdate(){}initBase(e,t){this.chart=e,this.eventProvider=new s,this.domElementProvider=new i,this.proxyProvider=t,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(e,t,i,s){return this.eventProvider.addEvent(e,t,i,s)}createElement(e,t){return this.domElementProvider.createElement(e,t)}fakeClickEvent(e){r(e,n("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}}),t(e,"Accessibility/KeyboardNavigationHandler.js",[e["Core/Utilities.js"]],function(e){let r=e["find"];return class{constructor(e,t){this.chart=e,this.keyCodeMap=t.keyCodeMap||[],this.validate=t.validate,this.init=t.init,this.terminate=t.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(e){let t=e.which||e.keyCode,i=this.response.noHandler,s=r(this.keyCodeMap,function(e){return-1{let t=e+"Setter",i=y[t]||y._defaultSetter;y.focusBorderUpdateHooks[t]=i,y[t]=function(){var e=i.apply(y,arguments);return y.addFocusBorder.apply(y,v),e}}));var y,v,f=this;if(!f.focusBorderDestroyHook){let e=f.destroy;f.destroy=function(){return f.focusBorder&&f.focusBorder.destroy&&f.focusBorder.destroy(),e.apply(f,arguments)},f.focusBorderDestroyHook=e}}function l(){var i=this;i.focusBorderUpdateHooks&&(Object.keys(i.focusBorderUpdateHooks).forEach(e=>{var t=i.focusBorderUpdateHooks[e];t===i._defaultSetter?delete i[e]:i[e]=t}),delete i.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}e.compose=function(e,t){let i=e.prototype,s=t.prototype;i.renderFocusBorder||(i.renderFocusBorder=n,i.setFocusToElement=o),s.addFocusBorder||(s.addFocusBorder=a,s.removeFocusBorder=l)}}return t}),t(e,"Accessibility/Utils/Announcer.js",[e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(t,i,e,s,r){let n=e["doc"],{addClass:o,visuallyHideElement:a}=s,l=r["attr"];return class{constructor(e,t){this.chart=e,this.domElementProvider=new i,this.announceRegion=this.addAnnounceRegion(t)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(e){t.setElementHTML(this.announceRegion,e),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=t.emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(e){let t=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return l(i,{"aria-hidden":!1,"aria-live":e,"aria-atomic":!0}),this.chart.styledMode?o(i,"highcharts-visually-hidden"):a(i),t.appendChild(i),i}createAnnouncerContainer(){let e=this.chart,t=n.createElement("div");return l(t,{"aria-hidden":!1,class:"highcharts-announcer-container"}),t.style.position="relative",e.renderTo.insertBefore(t,e.renderTo.firstChild),e.announcerContainer=t}}}),t(e,"Accessibility/Components/AnnotationsA11y.js",[e["Accessibility/Utils/HTMLUtilities.js"]],function(e){let{escapeStringForHTML:i,stripHTMLTagsFromString:s}=e;function r(e){return(e.annotations||[]).reduce((e,t)=>e=t.options&&!1!==t.options.visible?e.concat(t.labels):e,[])}function h(e){return e.options&&e.options.accessibility&&e.options.accessibility.description||e.graphic&&e.graphic.text&&e.graphic.text.textStr||""}function n(e){var t=e.options&&e.options.accessibility&&e.options.accessibility.description;if(t)return t;let i=e.chart,s=h(e),r=e.points,n=r.filter(e=>!!e.graphic).map(e=>{var t=e.accessibility&&e.accessibility.valueDescription||((t=e).graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||""),e=e&&e.series.name||"";return(e?e+", ":"")+"data point "+t}).filter(e=>!!e),o=n.length,a=1{e=i(s(n(e),t.renderer.forExport));return e?`
  • ${e}
  • `:""})}return{getAnnotationsInfoHTML:function(e){var t=e.annotations;if(!t||!t.length)return"";let i=o(e);return`
      ${i.join(" ")}
    `},getAnnotationLabelDescription:n,getAnnotationListItems:o,getPointAnnotationTexts:function(t){let e=r(t.series.chart).filter(e=>-1""+h(e)):[]}}}),t(e,"Accessibility/Components/InfoRegionsComponent.js",[e["Accessibility/A11yI18n.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Components/AnnotationsA11y.js"],e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(l,e,i,t,o,s,r,n,a,h){let c=t["getAnnotationsInfoHTML"],{getAxisDescription:d,getAxisRangeDescription:u,getChartTitle:p,unhideChartElementFromAT:g}=s,m=r["format"],b=n["doc"],{addClass:y,getElement:v,getHeadingTagNameForElement:f,stripHTMLTagsFromString:x,visuallyHideElement:A}=a,{attr:C,pick:E,replaceNested:w}=h;function T(e){return w(e,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}return class extends e{constructor(){super(...arguments),this.screenReaderSections={}}init(){let e=this.chart,t=this;this.initRegionsDefinitions(),this.addEvent(e,"aftergetTableAST",function(e){t.onDataTableCreated(e)}),this.addEvent(e,"afterViewData",function(e){e.wasHidden&&(t.dataTableDiv=e.element,setTimeout(function(){t.focusDataTable()},300))}),this.addEvent(e,"afterHideData",function(){t.viewDataTableButton&&t.viewDataTableButton.setAttribute("aria-expanded","false")}),e.exporting&&this.addEvent(e,"afterPrint",function(){t.updateAllScreenReaderSections()}),this.announcer=new i(e,"assertive")}initRegionsDefinitions(){let i=this,s=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(e){let t=s.screenReaderSection.beforeChartFormatter;return t?t(e):i.defaultBeforeChartFormatter(e)},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.renderTo.firstChild)},afterInserted:function(){void 0!==i.sonifyButtonId&&i.initSonifyButton(i.sonifyButtonId),void 0!==i.dataTableButtonId&&i.initDataTableButton(i.dataTableButtonId)}},after:{element:null,buildContent:function(e){let t=s.screenReaderSection.afterChartFormatter;return t?t(e):i.defaultAfterChartFormatter()},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.container.nextSibling)},afterInserted:function(){i.chart.accessibility&&s.keyboardNavigation.enabled&&i.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),this.updateAllScreenReaderSections()}updateAllScreenReaderSections(){let t=this;Object.keys(this.screenReaderSections).forEach(function(e){t.updateScreenReaderSection(e)})}getLinkedDescriptionElement(){var e=this.chart.options.accessibility.linkedDescription;if(e){if("string"!=typeof e)return e;e=m(e,this.chart),e=b.querySelectorAll(e);return 1===e.length?e[0]:void 0}}setLinkedDescriptionAttrs(){let e=this.linkedDescriptionElement;e&&(e.setAttribute("aria-hidden","true"),y(e,"highcharts-linked-description"))}updateScreenReaderSection(e){let t=this.chart,i=this.screenReaderSections[e],s=i.buildContent(t),r=i.element=i.element||this.createElement("div"),n=r.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(r,e),o.setElementHTML(n,s),r.appendChild(n),i.insertIntoDOM(r,t),t.styledMode?y(n,"highcharts-visually-hidden"):A(n),g(t,n),i.afterInserted&&i.afterInserted()):(r.parentNode&&r.parentNode.removeChild(r),i.element=null)}setScreenReaderSectionAttribs(e,t){let i=this.chart,s=i.langFormat("accessibility.screenReaderSection."+t+"RegionLabel",{chart:i,chartTitle:p(i)});C(e,{id:`highcharts-screen-reader-region-${t}-`+i.index,"aria-label":s||void 0}),e.style.position="relative",s&&e.setAttribute("role","all"===i.options.accessibility.landmarkVerbosity?"region":"group")}defaultBeforeChartFormatter(){let e=this.chart,t=e.options.accessibility.screenReaderSection.beforeChartFormat;if(!t)return"";var i=this.getAxesDescription(),s=e.sonify&&e.options.sonification&&e.options.sonification.enabled,r="highcharts-a11y-sonify-data-btn-"+e.index,n="hc-linkto-highcharts-data-table-"+e.index,o=c(e),a=e.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:e}),i={headingTagName:f(e.renderTo),chartTitle:p(e),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:i.xAxis,yAxisDescription:i.yAxis,playAsSoundButton:s?this.getSonifyButtonText(r):"",viewTableButton:e.getCSV?this.getDataTableButtonText(n):"",annotationsTitle:o?a:"",annotationsList:o},s=l.i18nFormat(t,i,e);return this.dataTableButtonId=n,this.sonifyButtonId=r,T(s)}defaultAfterChartFormatter(){var e=this.chart,t=e.options.accessibility.screenReaderSection.afterChartFormat;if(!t)return"";var i={endOfChartMarker:this.getEndOfChartMarkerText()};return T(l.i18nFormat(t,i,e))}getLinkedDescription(){var e=this.linkedDescriptionElement;return x(e&&e.innerHTML||"",this.chart.renderer.forExport)}getLongdescText(){var e=this.chart.options,t=e.caption,t=t&&t.text,i=this.getLinkedDescription();return e.accessibility.description||i||t||""}getTypeDescriptionText(){var e,t,i,s,r,n,o=this.chart;return o.types?o.options.accessibility.typeDescription||(e=(o=o).types,s=e[0],r=o.series&&o.series[0]||{},n=o.mapView&&o.mapView.geoMap&&o.mapView.geoMap.title,r={numSeries:o.series.length,numPoints:r.points&&r.points.length,chart:o,mapTitle:n},s?"map"===s||"tiledwebmap"===s?r.mapTitle?o.langFormat("accessibility.chartTypes.mapTypeDescription",r):o.langFormat("accessibility.chartTypes.unknownMap",r):1'+t.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:t,chartTitle:p(t)})+""}getSonifyButtonText(e){let t=this.chart;return t.options.sonification&&!1===t.options.sonification.enabled?"":'"}getSubtitleText(){var e=this.chart.options.subtitle;return x(e&&e.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){var e=v("highcharts-end-of-chart-marker-"+this.chart.index);if(e)return e.outerHTML;let t=this.chart,i=t.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:t});return'
    '+i+"
    "}onDataTableCreated(t){let i=this.chart;if(i.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");let e=t.tree.attributes||{};e.tabindex=-1,e.summary=i.langFormat("accessibility.table.tableSummary",{chart:i}),t.tree.attributes=e}}focusDataTable(){let e=this.dataTableDiv,t=e&&e.getElementsByTagName("table")[0];t&&t.focus&&t.focus()}initSonifyButton(e){let t=this.sonifyButton=v(e),i=this.chart,s=e=>{t&&(t.setAttribute("aria-hidden","true"),t.setAttribute("aria-label","")),e.preventDefault(),e.stopPropagation();e=i.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:i});this.announcer.announce(e),setTimeout(()=>{t&&(t.removeAttribute("aria-hidden"),t.removeAttribute("aria-label")),i.sonify&&i.sonify()},1e3)};t&&i&&(t.setAttribute("tabindex",-1),t.onclick=function(e){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||s).call(this,e,i)})}initDataTableButton(e){let t=this.viewDataTableButton=v(e),i=this.chart,s=e.replace("hc-linkto-","");t&&(C(t,{tabindex:-1,"aria-expanded":!!v(s)}),t.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.viewData()})}getAxesDescription(){function e(e,t){return 1<(e=i[e]).length||e[0]&&E(e[0].options.accessibility&&e[0].options.accessibility.enabled,t)}let i=this.chart,t=!!i.types&&i.types.indexOf("map")<0&&i.types.indexOf("treemap")<0&&i.types.indexOf("tilemap")<0,s=!!i.hasCartesianSeries,r=e("xAxis",!i.angular&&s&&t),n=e("yAxis",s&&t),o={};return r&&(o.xAxis=this.getAxisDescriptionText("xAxis")),n&&(o.yAxis=this.getAxisDescriptionText("yAxis")),o}getAxisDescriptionText(e){let t=this.chart,i=t[e];return t.langFormat("accessibility.axis."+e+"Description"+(1{e&&("LI"!==e.tagName||e.children&&e.children.length?e.setAttribute("aria-hidden","true"):e.setAttribute("tabindex",-1))}),(i=t[0]&&t[0].parentNode)&&n(i,{"aria-hidden":void 0,"aria-label":e.langFormat("accessibility.exporting.chartMenuLabel",{chart:e}),role:"list"}))}getKeyboardNavigation(){let e=this.keyCodes,i=this.chart,s=this;return new r(i,{keyCodeMap:[[[e.left,e.up],function(){return s.onKbdPrevious(this)}],[[e.right,e.down],function(){return s.onKbdNext(this)}],[[e.enter,e.space],function(){return s.onKbdClick(this)}]],validate:function(){return!!i.exporting&&!1!==i.options.exporting.enabled&&!1!==i.options.exporting.accessibility.enabled},init:function(){var e=s.exportButtonProxy,t=s.chart.exportingGroup;e&&t&&i.setFocusToElement(t,e.innerElement)},terminate:function(){i.hideExportMenu()}})}onKbdPrevious(e){let t=this.chart,i=t.options.accessibility,s=e.response,r=t.highlightedExportItemIx||0;for(;r--;)if(t.highlightExportItem(r))return s.success;return i.keyboardNavigation.wrapAround?(t.highlightLastExportItem(),s.success):s.prev}onKbdNext(e){let t=this.chart,i=t.options.accessibility,s=e.response;for(let e=(t.highlightedExportItemIx||0)+1;e{e&&"highcharts-menu-item"===e.className&&e.onmouseout&&e.onmouseout(l("mouseout"))}),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function p(e){let t=this.exportDivElements&&this.exportDivElements[e],i=this.exportDivElements&&this.exportDivElements[this.highlightedExportItemIx];var s;return!(!t||"LI"!==t.tagName||t.children&&t.children.length)&&(s=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus,t.focus&&s&&t.focus(),i&&i.onmouseout&&i.onmouseout(l("mouseout")),t.onmouseover&&t.onmouseover(l("mouseover")),this.highlightedExportItemIx=e,!0)}function g(){if(this.exportDivElements){let e=this.exportDivElements.length;for(;e--;)if(this.highlightExportItem(e))return!0}return!1}}),t(e,"Accessibility/KeyboardNavigation.js",[e["Core/Globals.js"],e["Accessibility/Components/MenuComponent.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,i,e,s,r){let{doc:n,win:o}=t,{addEvent:a,defined:l,fireEvent:h}=e,{getElement:c,simulatedEventTarget:d}=r;class u{constructor(e,t){this.currentModuleIx=NaN,this.modules=[],this.init(e,t)}init(t,e){let i=this.eventProvider=new s;this.chart=t,this.components=e,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,"keydown",e=>this.onKeydown(e)),i.addEvent(this.tabindexContainer,"focus",e=>this.onFocus(e)),["mouseup","touchend"].forEach(e=>i.addEvent(n,e,e=>this.onMouseUp(e))),["mousedown","touchstart"].forEach(e=>i.addEvent(t.renderTo,e,()=>{this.isClickingChart=!0}))}update(e){let t=this.chart.options.accessibility,i=t&&t.keyboardNavigation,s=this.components;this.updateContainerTabindex(),i&&i.enabled&&e&&e.length?(this.modules=e.reduce(function(e,t){t=s[t].getKeyboardNavigation();return e.concat(t)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){var e=c("highcharts-end-of-chart-marker-"+this.chart.index);this.removeExitAnchor(),e?(this.makeElementAnExitAnchor(e),this.exitAnchor=e):this.createExitAnchor()}move(e){let t=this.modules&&this.modules[this.currentModuleIx],i=(t&&t.terminate&&t.terminate(e),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=e,this.modules&&this.modules[this.currentModuleIx]);if(i){if(i.validate&&!i.validate())return this.move(e);if(i.init)return i.init(e),!0}return this.currentModuleIx=0,this.exiting=!0,0e.element===this.exitAnchor))&&l(e.remover)&&this.eventProvider.removeEvent(e.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor)}addExitAnchorEventsToEl(e){let s=this.chart,r=this;this.eventProvider.addEvent(e,"focus",function(e){let t=e||o.event,i=!(t.relatedTarget&&s.container.contains(t.relatedTarget)||r.exiting);if(s.focusElement&&delete s.focusElement,i){if(r.tabbingInBackwards=!0,r.tabindexContainer.focus(),delete r.tabbingInBackwards,t.preventDefault(),r.modules&&r.modules.length){r.currentModuleIx=r.modules.length-1;let e=r.modules[r.currentModuleIx];e&&e.validate&&!e.validate()?r.move(-1):e&&e.init(-1)}}else r.exiting=!1})}getFirstValidModuleIx(){var e=this.modules.length;for(let t=0;t{e&&e.dismissPopupContent&&e.dismissPopupContent()})}}),t(e,"Accessibility/Components/LegendComponent.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Legend/Legend.js"],e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(e,t,i,s,r,n,o,a){let l=e["animObject"],h=t["doc"],{addEvent:c,fireEvent:d,isNumber:u,pick:p,syncTimeout:g}=s,m=o["getChartTitle"],{stripHTMLTagsFromString:b,addClass:y,removeClass:v}=a;function f(e){var t=e.legend&&e.legend.allItems,i=e.options.legend.accessibility||{},e=e.colorAxis&&e.colorAxis.some(e=>!e.dataClasses||!e.dataClasses.length);return t&&t.length&&!e&&!1!==i.enabled}function x(e,t){var i,s=t.legendItem||{};for(i of(t.setState(e?"hover":"",!0),["group","label","symbol"])){var r=s[i],r=r&&r.element||r;r&&d(r,e?"mouseover":"mouseout")}}class A extends r{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let t=this;this.recreateProxies(),this.addEvent(i,"afterScroll",function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),-1t.proxyProvider.updateGroupProxyElementPositions("legend"),l(p(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let r,n=this.chart,o=n.legend,e=o.allItems||[],a=o.currentPage||1,l=o.clipHeight||0;e.forEach(s=>{if(s.a11yProxyElement){let e=o.pages&&o.pages.length,t=s.a11yProxyElement.element,i=!1;r=s.legendItem||{},e&&(s=r.pageIx||0,i=(r.y||0)+(r.label?Math.round(r.label.getBBox().height):0)-o.pages[s]>l||s!==a-1),i?n.styledMode?y(t,"highcharts-a11y-invisible"):t.style.visibility="hidden":(v(t,"highcharts-a11y-invisible"),t.style.visibility="")}})}onChartRender(){f(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(e){let t=this.chart,i=t.legend,s=(i.currentPage||1)+e,r=i.pages||[];if(0/g," "),e.renderer.forExport),i=e.langFormat("accessibility.legend.legendLabel"+(t?"":"NoTitle"),{chart:e,legendTitle:t,chartTitle:m(e)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":i})}addLegendProxyGroup(){var e="all"===this.chart.options.accessibility.landmarkVerbosity?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:e})}proxyLegendItems(){let t,i=this;((this.chart.legend||{}).allItems||[]).forEach(e=>{(t=e.legendItem||{}).label&&t.label.element&&i.proxyLegendItem(e)})}proxyLegendItem(e){var t,i,s=e.legendItem||{};s.label&&s.group&&(t=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:b(e.name,this.chart.renderer.forExport),item:e}),t={tabindex:-1,"aria-pressed":e.visible,"aria-label":t},i=s.group.div?s.label:s.group,e.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:s.label,visual:i.element},"button",t))}getKeyboardNavigation(){let t=this.keyCodes,i=this,e=this.chart;return new n(e,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(e){return i.onKbdArrowKey(this,e)}],[[t.enter,t.space],function(){return i.onKbdClick(this)}],[[t.pageDown,t.pageUp],function(e){e=e===t.pageDown?1:-1;return i.highlightAdjacentLegendPage(e),this.response.success}]],validate:function(){return i.shouldHaveLegendNavigation()},init:function(){e.highlightLegendItem(0),i.highlightedLegendItemIx=0},terminate:function(){i.highlightedLegendItemIx=-1,e.legend.allItems.forEach(e=>x(!1,e))}})}onKbdArrowKey(e,t){let{keyCodes:{left:i,up:s},highlightedLegendItemIx:r,chart:n}=this,o=n.legend.allItems.length,a=n.options.accessibility.keyboardNavigation.wrapAround,l=t===i||t===s?-1:1;return n.highlightLegendItem(r+l)?this.highlightedLegendItemIx+=l:a&&1{var i,s=t.length;for(let e=0;ethis.calculatedWidth?t.minWidth:0;return{chartX:(e.chartX-this.x-this.xOffset)/(this.barWidth-t),chartY:(e.chartY-this.y-this.yOffset)/(this.barWidth-t)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,a(e.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,r=this.scrollbarButtons,n=this.options,o=this.size,a=s.g().add(this.group);if(r.push(a),n.buttonsEnabled){let e=s.rect().addClass("highcharts-scrollbar-button").add(a),t=(this.chart.styledMode||e.attr({stroke:n.buttonBorderColor,"stroke-width":n.buttonBorderWidth,fill:n.buttonBackgroundColor}),e.attr(e.crisp({x:-.5,y:-.5,width:o,height:o,r:n.buttonBorderRadius},e.strokeWidth())),s.path(m.swapXY([["M",o/2+(i?-1:1),o/2-3],["L",o/2+(i?-1:1),o/2+3],["L",o/2+(i?2:-2),o/2]],n.vertical)).addClass("highcharts-scrollbar-arrow").add(r[i]));this.chart.styledMode||t.attr({fill:n.buttonArrowColor})}}init(e,t,i){this.scrollbarButtons=[],this.renderer=e,this.userOptions=t,this.options=u(s,n.scrollbar,t),this.options.margin=p(this.options.margin,10),this.chart=i,this.size=p(this.options.size,this.options.height),t.enabled&&(this.render(),this.addEvents())}mouseDownHandler(e){e=this.chart.pointer?.normalize(e)||e,e=this.cursorToScrollbarPosition(e);this.chartX=e.chartX,this.chartY=e.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(e){var t=this.chart.pointer?.normalize(e)||e,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||e.touches&&0===e.touches[0][i]||(t=this.cursorToScrollbarPosition(t)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+t,s[1]+t),this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:e.type,DOMEvent:e}))}mouseUpHandler(e){this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:e.type,DOMEvent:e}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(e,t,i,s){let{buttonsEnabled:r,margin:n=0,vertical:o}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=e,this.y=t+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,o?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=r?this.size:0,this.barWidth=s-(r?2*i:0),this.x=e+=n):(this.height=s=this.size,this.xOffset=l=r?this.size:0,this.barWidth=i-(r?2*s:0),this.y=this.y+n),this.group[a]({translateX:e,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:o?0:i-l,translateY:o?s-h:0})}removeEvents(){this._events.forEach(function(e){g.apply(null,e)}),this._events.length=0}render(){let e=this.renderer,t=this.options,i=this.size,s=this.chart.styledMode,r=e.g("scrollbar").attr({zIndex:t.zIndex}).hide().add();this.group=r,this.track=e.rect().addClass("highcharts-scrollbar-track").attr({r:t.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:t.trackBackgroundColor,stroke:t.trackBorderColor,"stroke-width":t.trackBorderWidth});var n=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-o(0,n),y:-o(0,n)}),this.scrollbarGroup=e.g().add(r),this.scrollbar=e.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-n,width:i-n,r:t.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=e.path(m.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],t.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:t.barBackgroundColor,stroke:t.barBorderColor,"stroke-width":t.barBorderWidth}),this.scrollbarRifles.attr({stroke:t.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-o(0,this.scrollbarStrokeWidth),-o(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(e,t){let i,s;var r,n=this.options,o=n.vertical,a=n.minWidth,l=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";d(l)&&(r=l*Math.min(t,1),i=Math.ceil(l*(e=Math.max(e,0))),this.calculatedWidth=s=c(r-i),ss||!this.options.vertical&&t.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:e})}update(e){this.destroy(),this.init(this.chart.renderer,u(!0,this.options,e),this.chart)}updatePosition(e,t){1{e[s]({x:o[t],y:a[t],width:n[t],height:r[t]})})}renderElements(){let o=this,a=o.navigatorOptions,e=a.maskInside,l=o.chart,t=l.inverted,h=l.renderer,c={cursor:t?"ns-resize":"ew-resize"},d=o.navigatorGroup??(o.navigatorGroup=h.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!e,e,!e].forEach((e,t)=>{let i=o.shades[t]??(o.shades[t]=h.rect().addClass("highcharts-navigator-mask"+(1===t?"-inside":"-outside")).add(d));l.styledMode||(i.attr({fill:e?a.maskFill:"rgba(0,0,0,0)"}),1===t&&i.css(c))}),o.outline||(o.outline=h.path().addClass("highcharts-navigator-outline").add(d)),l.styledMode||o.outline.attr({"stroke-width":a.outlineWidth,stroke:a.outlineColor}),a.handles?.enabled){let s=a.handles,{height:r,width:n}=s;[0,1].forEach(e=>{var t,i=s.symbols[e];o.handles[e]&&o.handles[e].symbolUrl===i?o.handles[e].isImg||o.handles[e].symbolName===i||(t=u[i].call(u,-n/2-1,0,n,r),o.handles[e].attr({d:t}),o.handles[e].symbolName=i):(o.handles[e]?.destroy(),o.handles[e]=h.symbol(i,-n/2-1,0,n,r,s),o.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(d),o.addMouseEvents()),l.inverted&&o.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-n/2),rotationOriginY:(r+n)/2}),l.styledMode||o.handles[e].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-n/2-1,y:0}).css(c)})}}update(e,t=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(A(!0,i.options.navigator,e),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),w(e.enabled)||s)return this.destroy(),this.navigatorEnabled=e.enabled||this.navigatorEnabled,this.init(i);var r;this.navigatorEnabled&&(!(this.isDirty=!0)===e.adaptToUpdatedData&&this.baseSeries.forEach(e=>{k(e,"updatedData",this.updatedDataHandler)},this),e.adaptToUpdatedData&&this.baseSeries.forEach(e=>{e.eventsToUnbind.push(v(e,"updatedData",this.updatedDataHandler))},this),(e.series||e.baseSeries)&&this.setBaseSeries(void 0,!1),e.height||e.xAxis||e.yAxis)&&(this.height=e.height??this.height,r=this.getXAxisOffsets(),this.xAxis.update({...e.xAxis,offsets:r,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...e.yAxis,[i.inverted?"width":"height"]:this.height},!1)),t&&i.redraw()}render(e,t,i,s){let r=this.chart,n=this.xAxis,o=n.pointRange||0,a=n.navigatorAxis.fake?r.xAxis[0]:n,l=this.navigatorEnabled,h=this.rendered,c=r.inverted,d=r.xAxis[0].minRange,u=r.xAxis[0].options.maxRange,p=this.scrollButtonSize,g,m,b,y=this.scrollbarHeight,v,f;if(!this.hasDragged||w(i)){if(this.isDirty&&this.renderElements(),e=E(e-o/2),t=E(t+o/2),!M(e)||!M(t)){if(!h)return;i=0,s=S(n.width,a.width)}this.left=S(n.left,r.plotLeft+p+(c?r.plotWidth:0));var x=this.size=v=S(n.len,(c?r.plotHeight:r.plotWidth)-2*p),e=(g=c?y:v+2*p,i=S(i,n.toPixels(e,!0)),s=S(s,n.toPixels(t,!0)),M(i)&&Math.abs(i)!==1/0||(i=0,s=g),n.toValue(i,!0)),t=n.toValue(s,!0),A=((A=Math.abs(E(t-e)))u&&(this.grabbedLeft?i=n.toPixels(t-u-o,!0):this.grabbedRight&&(s=n.toPixels(e+u+o,!0))),this.zoomedMax=C(Math.max(i,s),0,x),this.zoomedMin=C(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,x),this.range=this.zoomedMax-this.zoomedMin,x=Math.round(this.zoomedMax),Math.round(this.zoomedMin));l&&(this.navigatorGroup.attr({visibility:"inherit"}),f=h&&!this.hasDragged?"animate":"attr",this.drawMasks(A,x,c,f),this.drawOutline(A,x,c,f),this.navigatorOptions.handles.enabled&&(this.drawHandle(A,0,c,f),this.drawHandle(x,1,c,f))),this.scrollbar&&(c?(b=this.top-p,m=this.left-y+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),y=v+2*p):(b=this.top+(l?this.height:-y),m=this.left-p),this.scrollbar.position(m,b,g,y),this.scrollbar.setRange(this.zoomedMin/(v||1),this.zoomedMax/(v||1))),this.rendered=!0,this.isDirty=!1,T(this,"afterRender")}}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],r,n;t.mouseMoveHandler=r=function(e){t.onMouseMove(e)},t.mouseUpHandler=n=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(v(e.renderTo,"mousemove",r),v(i.ownerDocument,"mouseup",n),v(e.renderTo,"touchmove",r),v(i.ownerDocument,"touchend",n)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(v(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let r=this,n=[];return["shades","handles"].forEach(function(i){r[i].forEach(function(e,t){n.push(v(e.element,s,function(e){r[i+"Mousedown"](e,t)}))})}),n}shadesMousedown(e,t){e=this.chart.pointer?.normalize(e)||e;let i=this.chart,s=this.xAxis,r=this.zoomedMin,n=this.size,o=this.range,a=this.left,l=e.chartX,h,c,d,u;i.inverted&&(l=e.chartY,a=this.top),1===t?(this.grabbedCenter=l,this.fixedWidth=o,this.dragOffset=l-r):(u=l-a-o/2,0===t?u=Math.max(0,u):2===t&&u+o>=n&&(u=n-o,this.reversedExtremes?(u-=o,c=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),u!==r&&(this.fixedWidth=o,w((d=s.navigatorAxis.toFixedRange(u,u+o,c,h)).min)&&T(this,"setRange",{min:Math.min(d.min,d.max),max:Math.max(d.min,d.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(e,t){e=this.chart.pointer?.normalize(e)||e;let i=this.chart,s=i.xAxis[0],r=this.reversedExtremes;0===t?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(e){let t=this,i=t.chart,s=t.navigatorSize,r=t.range,n=t.dragOffset,o=i.inverted,a=t.left,l;e.touches&&0===e.touches[0].pageX||(l=(e=i.pointer?.normalize(e)||e).chartX,o&&(a=t.top,l=e.chartY),t.grabbedLeft?(t.hasDragged=!0,t.render(0,0,l-a,t.otherHandlePos)):t.grabbedRight?(t.hasDragged=!0,t.render(0,0,t.otherHandlePos,l-a)):t.grabbedCenter&&(t.hasDragged=!0,ls+n-r&&(l=s+n-r),t.render(0,0,l-n,l-n+r)),t.hasDragged&&t.scrollbar&&S(t.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(e.DOMType=e.type,setTimeout(function(){t.onMouseUp(e)},0)))}onMouseUp(e){let t,i,s,r,n,o,a=this.chart,l=this.xAxis,h=this.scrollbar,c=e.DOMEvent||e,d=a.inverted,u=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==e.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(n=this.fixedExtreme),this.zoomedMax===this.size&&(n=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),w((o=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,n)).min)&&T(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c}})),"mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&M(this.zoomedMin)&&M(this.zoomedMax)&&(i=Math.round(this.zoomedMin),t=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,t,d,u),this.outline&&this.drawOutline(i,t,d,u),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,u),this.drawHandle(t,1,d,u)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(e){e()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let e=this.baseSeries||[];this.navigatorEnabled&&e[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&e.forEach(function(e){k(e,"updatedData",this.updatedDataHandler)},this),e[0].xAxis&&k(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(a){let e=a.options,t=e.navigator||{},i=t.enabled,s=e.scrollbar||{},r=s.enabled,n=i&&t.height||0,o=r&&s.height||0,l=s.buttonsEnabled&&o||0,h=(this.handles=[],this.shades=[],this.chart=a,this.setBaseSeries(),this.height=n,this.scrollbarHeight=o,this.scrollButtonSize=l,this.scrollbarEnabled=r,this.navigatorEnabled=i,this.navigatorOptions=t,this.scrollbarOptions=s,this.setOpposite(),this),c=h.baseSeries,d=a.xAxis.length,u=a.yAxis.length,p=c&&c[0]&&c[0].xAxis||a.xAxis[0]||{options:{}};var g;if(a.isDirtyBox=!0,h.navigatorEnabled?(g=this.getXAxisOffsets(),h.xAxis=new m(a,A({breaks:p.options.breaks,ordinal:p.options.ordinal,overscroll:p.options.overscroll},t.xAxis,{type:"datetime",yAxis:t.yAxis?.id,index:d,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:p.options.ordinal?0:p.options.minPadding,maxPadding:p.options.ordinal?0:p.options.maxPadding,zoomEnabled:!1},a.inverted?{offsets:g,width:n}:{offsets:g,height:n}),"xAxis"),h.yAxis=new m(a,A(t.yAxis,{alignTicks:!1,offset:0,index:u,isInternal:!0,reversed:S(t.yAxis&&t.yAxis.reversed,a.yAxis[0]&&a.yAxis[0].reversed,!1),zoomEnabled:!1},a.inverted?{width:n}:{height:n}),"yAxis"),c||t.series.data?h.updateNavigatorSeries(!1):0===a.series.length&&(h.unbindRedraw=v(a,"beforeRedraw",function(){0!e.options.isInternal).index:0),(t.series||[]).forEach((e,t)=>{e.options.isInternal||!e.options.showInNavigator&&(t!==i&&e.options.id!==i||!1===e.options.showInNavigator)||s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(e,r){let n=this,o=n.chart,a=n.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},h=n.series=(n.series||[]).filter(e=>{let t=e.baseSeries;return!(a.indexOf(t)<0&&(t&&(k(t,"updatedData",n.updatedDataHandler),delete t.navigatorSeries),e.chart&&e.destroy(),1))}),c,d,u=n.navigatorOptions.series,p;a&&a.length&&a.forEach(e=>{let t=e.navigatorSeries,i=f({color:e.color,visible:e.visible},x(u)?g.navigator.series:u);var s;t&&!1===n.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+a.length,p=(c=e.options||{}).navigatorOptions||{},i.dataLabels=P(i.dataLabels),(d=A(c,l,i,p)).pointRange=S(i.pointRange,p.pointRange,g.plotOptions[d.type||"line"].pointRange),s=p.data||i.data,n.hasNavigatorData=n.hasNavigatorData||!!s,d.data=s||c.data&&c.data.slice(0),t&&t.options?t.update(d,r):(e.navigatorSeries=o.initSeries(d),o.setSortedData(),e.navigatorSeries.baseSeries=e,h.push(e.navigatorSeries)))}),(!u.data||a&&a.length)&&!x(u)||(n.hasNavigatorData=!1,(u=P(u)).forEach((e,t)=>{l.name="Navigator "+(h.length+1),(d=A(g.navigator.series,{color:o.series[t]&&!o.series[t].options.isInternal&&o.series[t].color||o.options.colors[t]||o.options.colors[0]},l,e)).data=e.data,d.data&&(n.hasNavigatorData=!0,h.push(o.initSeries(d)))})),e&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,i=t.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(v(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(e=>{e.eventsToUnbind.push(v(e,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),e.eventsToUnbind.push(v(e,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&e.xAxis&&e.eventsToUnbind.push(v(e,"updatedData",this.updatedDataHandler)),e.eventsToUnbind.push(v(e,"remove",function(){i&&a(i,e),this.navigatorSeries&&(a(t.series,this.navigatorSeries),w(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(e){return this.baseSeries.reduce(function(e,t){return Math.min(e,t.xData&&t.xData.length?t.xData[0]:e)},e)}modifyNavigatorAxisExtremes(){let e=this.xAxis;var t;void 0===e.getExtremes||!(t=this.getUnionExtremes(!0))||t.dataMin===e.min&&t.dataMax===e.max||(e.min=t.dataMin,e.max=t.dataMax)}modifyBaseAxisExtremes(){let e,t,i=this.chart.navigator,s=this.getExtremes(),r=s.min,n=s.max,o=s.dataMin,a=s.dataMax,l=n-r,h=i.stickToMin,c=i.stickToMax,d=S(this.ordinal?.convertOverscroll(this.options.overscroll),0),u=i.series&&i.series[0],p=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(h&&(e=(t=o)+l),c&&(e=a+d,h||(t=Math.max(o,e-l,i.getBaseSeriesMin(u&&u.xData?u.xData[0]:-Number.MAX_VALUE)))),p&&(h||c)&&M(t)&&(this.min=this.userMin=t,this.max=this.userMax=e)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let e=this.chart.navigator,t=this.navigatorSeries,i=e.reversedExtremes?0===Math.round(e.zoomedMin):Math.round(e.zoomedMax)>=Math.round(e.size);e.stickToMax=S(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),e.stickToMin=e.shouldStickToMin(this,e),t&&!e.hasNavigatorData&&(t.options.pointStart=this.xData[0],t.setData(this.options.data,!1,null,!1))}shouldStickToMin(e,t){var t=t.getBaseSeriesMin(e.xData[0]),i=(e=e.xAxis).max,s=e.min,e=e.options.range;return!(!M(i)||!M(s))&&(e&&0{e.destroy&&e.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(e=>{this[e]&&this[e].destroy&&this[e].destroy(),this[e]=null}),[this.handles].forEach(e=>{o(e)}),this.navigatorEnabled=!1}}}),t(e,"Accessibility/Components/NavigatorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Stock/Navigator/Navigator.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/Utils/ChartUtilities.js"]],function(e,i,o,s,t,r,n,a,l){let h=t["animObject"],c=r["format"],{clamp:d,pick:u,syncTimeout:p}=n,g=a["getFakeMouseEvent"],{getAxisRangeDescription:m,fireEventOnWrappedOrUnwrappedElement:b}=l;return class extends e{init(){let e=this.chart,t=this;this.announcer=new i(e,"polite"),this.addEvent(s,"afterRender",function(){this.chart===t.chart&&this.chart.renderer&&p(()=>{t.proxyProvider.updateGroupProxyElementPositions("navigator"),t.updateHandleValues()},h(u(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){let r=this.chart,e=r.options,t=e.navigator;if(t.enabled&&t.accessibility?.enabled){var i=e.accessibility.landmarkVerbosity,n=e.lang.accessibility?.navigator.groupLabel;this.proxyProvider.removeGroup("navigator"),this.proxyProvider.addGroup("navigator","div",{role:"all"===i?"region":"group","aria-label":c(n,{chart:r},r)});let s=e.lang.accessibility?.navigator.handleLabel;[0,1].forEach(t=>{var i=this.getHandleByIx(t);if(i){let e=this.proxyProvider.addProxyElement("navigator",{click:i},"input",{type:"range","aria-label":c(s,{handleIx:t,chart:r},r)});this[t?"maxHandleProxy":"minHandleProxy"]=e.innerElement,e.innerElement.style.pointerEvents="none",e.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup("navigator")}getNavigatorHandleNavigation(t){let i=this,s=this.chart,r=t?this.maxHandleProxy:this.minHandleProxy,n=this.keyCodes;return new o(s,{keyCodeMap:[[[n.left,n.right,n.up,n.down],function(e){return r&&(e=e===n.left||e===n.up?-1:1,r.value=""+d(parseFloat(r.value)+e,0,100),i.updateNavigator(()=>{var e=i.getHandleByIx(t);e&&s.setFocusToElement(e,r)})),this.response.success}]],init:()=>{s.setFocusToElement(this.getHandleByIx(t),r)},validate:()=>!!(this.getHandleByIx(t)&&r&&s.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.proxyProvider.removeGroup("navigator"),this.announcer&&this.announcer.destroy()}updateHandleValues(){var e,t=this.chart.navigator;t&&this.minHandleProxy&&this.maxHandleProxy&&(e=t.size,this.minHandleProxy.value=""+Math.round(t.zoomedMin/e*100),this.maxHandleProxy.value=""+Math.round(t.zoomedMax/e*100))}getHandleByIx(e){var t=this.chart.navigator;return t&&t.handles&&t.handles[e]}updateNavigator(e){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((i=>{let r=this.chart,{navigator:n,pointer:o}=r;if(n&&o&&this.minHandleProxy&&this.maxHandleProxy){let s=o.getChartPosition(),e=parseFloat(this.minHandleProxy.value)/100*n.size,t=parseFloat(this.maxHandleProxy.value)/100*n.size;[[0,"mousedown",n.zoomedMin],[0,"mousemove",e],[0,"mouseup",e],[1,"mousedown",n.zoomedMax],[1,"mousemove",t],[1,"mouseup",t]].forEach(([e,t,i])=>{e=this.getHandleByIx(e)?.element;e&&b(e,g(t,{x:s.left+n.left+i,y:s.top+n.top},e))}),i&&i();var i=r.options.lang.accessibility?.navigator.changeAnnouncement,a=m(r.xAxis[0]);this.announcer.announce(c(i,{axisRangeDescription:a,chart:r},r))}}).bind(this,e),20)}}}),t(e,"Accessibility/Components/SeriesComponent/SeriesDescriber.js",[e["Accessibility/Components/AnnotationsA11y.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(e,t,i,s,r){let u=e["getPointAnnotationTexts"],{getAxisDescription:n,getSeriesFirstPointElement:c,getSeriesA11yElement:d,unhideChartElementFromAT:p}=t,{format:g,numberFormat:o}=i,{reverseChildNodes:m,stripHTMLTagsFromString:b}=s,{find:y,isNumber:a,isString:v,pick:f,defined:x}=r;function A(e){var t=e.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==t&&e.points&&e.points.length>=+t)}function C(e,t){var e=e.series,i=e.chart,s=i.options.accessibility.point||{},r=e.options.accessibility&&e.options.accessibility.point||{},e=e.tooltipOptions||{},i=i.options.lang;return a(t)?o(t,r.valueDecimals||s.valueDecimals||e.valueDecimals||-1,i.decimalPoint,i.accessibility.thousandsSep||i.thousandsSep):t}function E(e,t){var i=e[t];return e.chart.langFormat("accessibility.series."+t+"Description",{name:n(i),series:e})}function w(e){var t,i,s,r,n,o=e.series,a=1"," "),h=x(c.id)&&(""+c.id).indexOf("highcharts-")<0,d="x, "+c.x,c.name||n||l||(h?c.id:d)):"",g(r,{point:t,index:x(t.index)?t.index+1:"",xDescription:n,value:function(e){let t=e.series,i=t.chart.options.accessibility.point||{},s=t.chart.options.accessibility&&t.chart.options.accessibility.point||{},r=t.tooltipOptions||{},n=s.valuePrefix||i.valuePrefix||r.valuePrefix||"",o=s.valueSuffix||i.valueSuffix||r.valueSuffix||"",a=void 0!==e.value?"value":"y",l=C(e,e[a]);{if(e.isNull)return t.chart.langFormat("accessibility.series.nullPointValue",{point:e});if(t.pointArrayMap){var h=e;let s=n||"",r=o||"";return h.series.pointArrayMap.reduce(function(e,t){t=t;var i,t=void 0!==(i=C(h,f(h[t],h.options[t])))?t+": "+s+i+r:i;return t?e+(e.length?", ":"")+t:e},"")}return n+l+o}}(t),separator:i?", ":""},s)),h=e.options&&e.options.accessibility&&e.options.accessibility.description,c=a?" "+o.name+".":"",d=function(e){let t=e.series.chart,i=u(e);return i.length?t.langFormat("accessibility.series.pointAnnotationsDescription",{point:e,annotations:i}):""}(e);return e.accessibility=e.accessibility||{},(e.accessibility.valueDescription=l)+(h?" "+h:"")+c+(d?" "+d:"")}function T(t){function e(e){return i[e]&&1{let n=r.graphic&&r.graphic.element||function(e){let t=e.series,i=t&&t.chart,s=t&&t.is("sunburst"),r=e.isNull,n=i&&i.options.accessibility.point.describeNull;return r&&!s&&n}(r)&&function(t){let e=t.series,i=function(e){let t=e.index;return e.series&&e.series.data&&x(t)&&y(e.series.data,function(e){return!!(e&&void 0!==e.index&&e.index>t&&e.graphic&&e.graphic.element)})||null}(t),s=i&&i.graphic,r=s?s.parentGroup:e.graph||e.group,n=i?{x:f(t.plotX,i.plotX,0),y:f(t.plotY,i.plotY,0)}:{x:f(t.plotX,0),y:f(t.plotY,0)},o=function(){let e=t.series.chart.renderer.rect(n.x,n.y,1,1);return e.attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),e}();if(r&&r.element)return t.graphic=o,t.hasMockGraphic=!0,o.add(r),r.element.insertBefore(o.element,s?s.element:null),o.element}(r),e=r.options&&r.options.accessibility&&!1===r.options.accessibility.enabled;if(n)if(r.isNull&&!i)n.setAttribute("aria-hidden",!0);else if(n.setAttribute("tabindex","-1"),a.chart.styledMode||(n.style.outline="none"),t&&!e){var o=n;let e=r.series,t=e.options.accessibility?.point||{},i=e.chart.options.accessibility.point||{},s=b(v(t.descriptionFormat)&&g(t.descriptionFormat,r,e.chart)||t.descriptionFormatter?.(r)||v(i.descriptionFormat)&&g(i.descriptionFormat,r,e.chart)||i.descriptionFormatter?.(r)||w(r),e.chart.renderer.forExport);o.setAttribute("role","img"),o.setAttribute("aria-label",s)}else n.setAttribute("aria-hidden",!0)})}if(p(e,r),n=s.chart,o=(o=n.options.chart).options3d&&o.options3d.enabled,l=1i.x===e.x&&i.y===e.y)).length?s[0]:i),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(e=>t.dirty.allSeries[e]),this.dirty.newSeries,e),this.dirty={allSeries:{}}}var i,s}queueAnnouncement(i,e,t){var s,r,n=this.chart.options.accessibility.announceNewData;n.enabled&&(r=(s=+new Date)-this.lastAnnouncementTime,n=Math.max(0,n.minAnnounceInterval-r),r=function(e){let t=(e||[]).concat(i||[]).reduce((e,t)=>(e[t.name+t.index]=t,e),{});return Object.keys(t).map(e=>t[e])}(this.queuedAnnouncement&&this.queuedAnnouncement.series),(e=this.buildAnnouncementMessage(r,e,t))&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:s,message:e,series:r},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},n)))}buildAnnouncementMessage(e,t,i){let s=this.chart,r=s.options.accessibility.announceNewData;if(r.announcementFormatter){e=r.announcementFormatter(e,t,i);if(!1!==e)return e.length?e:null}var e=o.charts&&1{null===i[e]&&delete i[e]});t=this.getTargetAttr(e.click,"aria-label");r(this.innerElement,o(t?{"aria-label":t}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,e.click),this.refreshPosition()}refreshPosition(){var e=this.getTargetPosition();n(this.innerElement,{width:(e.width||1)+"px",height:(e.height||1)+"px",left:(Math.round(e.x)||0)+"px",top:(Math.round(e.y)||0)+"px"})}remove(){this.eventProvider.removeAddedEvents(),p(this.element)}updateCSSClassName(){var e=e=>-1{let i=0===e.indexOf("touch");this.eventProvider.addEvent(t,e,e=>{var t=(i?d:c)(e);s&&h(s,t),e.stopPropagation(),i||e.preventDefault()},{passive:!1})})}hideElementVisually(e){n(e,{borderWidth:0,backgroundColor:"transparent",cursor:"pointer",outline:"none",opacity:.001,filter:"alpha(opacity=1)",zIndex:999,overflow:"hidden",padding:0,margin:0,display:"block",position:"absolute","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"})}getTargetPosition(){let e=this.target.click,t=e.element||e,i=this.target.visual||t,s=this.chart.renderTo,r=this.chart.pointer;var n,o;return s&&i?.getBoundingClientRect&&r?(n=i.getBoundingClientRect(),o=r.getChartPosition(),{x:(n.left-o.left)/o.scaleX,y:(n.top-o.top)/o.scaleY,width:n.right/o.scaleX-n.left/o.scaleX,height:n.bottom/o.scaleY-n.top/o.scaleY}):{x:0,y:0,width:1,height:1}}getTargetAttr(e,t){return(e.element||e).getAttribute(t)}}}),t(e,"Accessibility/ProxyProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/ProxyElement.js"]],function(e,t,i,s,r,n){let o=e["doc"],{attr:a,css:l}=t,h=i["unhideChartElementFromAT"],c=r["removeChildNodes"];return class{constructor(e){this.chart=e,this.domElementProvider=new s,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(e,t,i="button",s){let r=this.groups[e];if(!r)throw Error("ProxyProvider.addProxyElement: Invalid group key "+e);e="ul"===r.type||"ol"===r.type?"li":void 0,t=new n(this.chart,t,i,e,s);return r.proxyContainerElement.appendChild(t.element),r.proxyElements.push(t),t}addGroup(e,t="div",i){let s;var r=this.groups[e];if(r)return r.groupElement;let n=this.domElementProvider.createElement(t);return i&&i.role&&"div"!==t?(s=this.domElementProvider.createElement("div")).appendChild(n):s=n,s.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+e.replace(/\W/g,"-"),this.groups[e]={proxyContainerElement:n,groupElement:s,type:t,proxyElements:[]},a(s,i||{}),"ul"===t&&n.setAttribute("role","list"),this.afterChartProxyPosContainer.appendChild(s),this.updateGroupOrder(this.groupOrder),s}updateGroupAttrs(e,t){var i=this.groups[e];if(!i)throw Error("ProxyProvider.updateGroupAttrs: Invalid group key "+e);a(i.groupElement,t)}updateGroupOrder(r){if(this.groupOrder=r.slice(),!this.isDOMOrderGroupOrder()){let e=r.indexOf("series"),i=-1{let t=this["before"===e?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];c(t),("before"===e?i:s).forEach(e=>{e=this.groups[e];e&&t.appendChild(e.groupElement)})}),(this.beforeChartProxyPosContainer.contains(t)||this.afterChartProxyPosContainer.contains(t))&&t&&t.focus&&t.focus()}}clearGroup(e){var t=this.groups[e];if(!t)throw Error("ProxyProvider.clearGroup: Invalid group key "+e);c(t.proxyContainerElement)}removeGroup(e){var t=this.groups[e];t&&(this.domElementProvider.removeElement(t.groupElement),t.groupElement!==t.proxyContainerElement&&this.domElementProvider.removeElement(t.proxyContainerElement),delete this.groups[e])}update(){this.updatePosContainerPositions(),this.updateGroupOrder(this.groupOrder),this.updateProxyElementPositions()}updateProxyElementPositions(){Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this))}updateGroupProxyElementPositions(e){let t=this.groups[e];t&&t.proxyElements.forEach(e=>e.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(e){let t=this.domElementProvider.createElement("div");return t.setAttribute("aria-hidden","false"),t.className="highcharts-a11y-proxy-container"+(e?"-"+e:""),l(t,{top:"0",left:"0"}),this.chart.styledMode||(t.style.whiteSpace="nowrap",t.style.position="absolute"),t}getCurrentGroupOrderInDOM(){let r=e=>{let t=Object.keys(this.groups),i=t.length;for(;i--;){var s=t[i],r=this.groups[s];if(r&&e===r.groupElement)return s}},e=e=>{let t=[],i=e.children;for(let e=0;e"series"===e||!!this.groups[e]),i=e.length;if(i!==t.length)return!1;for(;i--;)if(e[i]!==t[i])return!1;return!0}updatePosContainerPositions(){let e=this.chart;var t;e.renderer.forExport||(t=e.renderer.box,e.container.insertBefore(this.afterChartProxyPosContainer,t.nextSibling),e.container.insertBefore(this.beforeChartProxyPosContainer,t),h(this.chart,this.afterChartProxyPosContainer),h(this.chart,this.beforeChartProxyPosContainer))}}}),t(e,"Accessibility/Components/RangeSelectorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],function(e,t,i,r,s){let{unhideChartElementFromAT:n,getAxisRangeDescription:o}=i,{addEvent:h,attr:a}=s;class l extends e{init(){var e=this.chart;this.announcer=new t(e,"polite")}onChartUpdate(){let i=this.chart,s=this,r=i.rangeSelector;r&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),r.buttons&&r.buttons.length&&r.buttons.forEach(e=>{s.setRangeButtonAttrs(e)}),r.maxInput&&r.minInput&&["minInput","maxInput"].forEach(function(e,t){e=r[e];e&&(n(i,e),s.setRangeInputAttrs(e,"accessibility.rangeSelector."+(t?"max":"min")+"InputLabel"))}))}updateSelectorVisibility(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[],r=e=>e.setAttribute("aria-hidden",!0);e&&e.hasVisibleDropdown&&i?(n(t,i),s.forEach(e=>r(e.element))):(i&&r(i),s.forEach(e=>n(t,e.element)))}setDropdownAttrs(){let e=this.chart,t=e.rangeSelector&&e.rangeSelector.dropdown;var i;t&&(i=e.langFormat("accessibility.rangeSelector.dropdownLabel",{rangeTitle:e.options.lang.rangeSelectorZoom}),t.setAttribute("aria-label",i),t.setAttribute("tabindex",-1))}setRangeButtonAttrs(e){a(e.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(e,t){let i=this.chart;a(e,{tabindex:-1,"aria-label":i.langFormat(t,{chart:i})})}onButtonNavKbdArrowKey(e,t){let i=e.response,s=this.keyCodes,r=this.chart,n=r.options.accessibility.keyboardNavigation.wrapAround,o=t===s.left||t===s.up?-1:1;return r.highlightRangeSelectorButton(r.highlightedRangeSelectorItemIx+o)?i.success:n?(e.init(o),i.success):i[0{(e.which||e.keyCode)===this.keyCodes.tab&&s.onInputKbdMove(e.shiftKey?-1:1)&&(e.preventDefault(),e.stopPropagation())},t=h(a,"keydown",e),i=h(l,"keydown",e);this.removeInputKeydownHandler=()=>{t(),i()}}}onInputNavTerminate(){let e=this.chart.rangeSelector||{};e.maxInput&&e.hideInput("max"),e.minInput&&e.hideInput("min"),this.removeInputKeydownHandler&&(this.removeInputKeydownHandler(),delete this.removeInputKeydownHandler)}initDropdownNav(){let s=this.chart,e=s.rangeSelector,t=e&&e.dropdown;e&&t&&(s.setFocusToElement(e.buttonGroup,t),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=h(t,"keydown",e=>{let t=(e.which||e.keyCode)===this.keyCodes.tab,i=s.accessibility;t&&(e.preventDefault(),e.stopPropagation(),i&&(i.keyboardNavigation.tabindexContainer.focus(),i.keyboardNavigation.move(e.shiftKey?-1:1)))}))}getRangeSelectorButtonNavigation(){let i=this.chart,e=this.keyCodes,s=this;return new r(i,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(e){return s.onButtonNavKbdArrowKey(this,e)}],[[e.enter,e.space],function(){return s.onButtonNavKbdClick(this)}]],validate:function(){return!!(i.rangeSelector&&i.rangeSelector.buttons&&i.rangeSelector.buttons.length)},init:function(e){var t=i.rangeSelector;t&&t.hasVisibleDropdown?s.initDropdownNav():t&&(t=t.buttons.length-1,i.highlightRangeSelectorButton(0{e.graphic&&(e.graphic[e.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),e.graphic[!1===e.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))}))}function d(e){this.resetA11yMarkerOptions=o(e.options.marker||{},this.userOptions.marker||{})}function u(){var r,e,t,i,s=this.options;if(t=(e=this).chart.options.accessibility.enabled,i=!1!==(e.options.accessibility&&e.options.accessibility.enabled),t&&i&&(t=e.chart.options.accessibility,e.points.length{l[e]&&(l[e].prototype.keyboardMoveVertical=!1)}),n.highlightNextValidPoint=M)},A;function C(e){let t,i;var s=this.series,r=this.highlightedPoint,n=r&&m(r)||0,o=r&&r.series.points||[],a=this.series&&this.series[this.series.length-1],a=a&&a.points&&a.points[a.points.length-1];if(!s[0]||!s[0].points)return!1;if(r){if(t=s[r.series.index+(e?1:-1)],!(i=!(i=o[n+(e?1:-1)])&&t?t.points[e?0:t.points.length-1]:i))return!1}else i=e?s[0].points[0]:a;return y(i)?(b(t=i.series)?this.highlightedPoint=e?t.points[t.points.length-1]:t.points[0]:this.highlightedPoint=i,this.highlightAdjacentPoint(e)):i.highlight()}function E(n){let o=this.highlightedPoint,a=1/0,l;return!(!c(o.plotX)||!c(o.plotY))&&(this.series.forEach(r=>{b(r)||r.points.forEach(s=>{if(c(s.plotY)&&c(s.plotX)&&s!==o){let e=s.plotY-o.plotY,t=Math.abs(s.plotX-o.plotX),i=Math.abs(e)*Math.abs(e)+t*t*4;r.yAxis&&r.yAxis.reversed&&(e*=-1),!(e<=0&&n||0<=e&&!n||i<5||y(s))&&i!(c(e.plotX)&&c(e.plotY));if(!a(e)){for(;o--;)!a(s=t.points[o])&&(n=(e.plotX-s.plotX)*(e.plotX-s.plotX)*4+(e.plotY-s.plotY)*(e.plotY-s.plotY)*1){t.addEvent(i,e,function(){t.updateProxyOverlays()})})}onChartUpdate(){let i=this.chart,s=this;i.mapNavigation&&i.mapNavigation.navButtons.forEach((e,t)=>{r(i,e.element),s.setMapNavButtonAttrs(e.element,"accessibility.zoom.mapZoom"+(t?"Out":"In"))})}setMapNavButtonAttrs(e,t){let i=this.chart;n(e,{tabindex:-1,role:"button","aria-label":i.langFormat(t,{chart:i})})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){let e=this.chart;var t;this.proxyProvider.clearGroup("zoom"),e.resetZoomButton&&this.createZoomProxyButton(e.resetZoomButton,"resetZoomProxyButton",e.langFormat("accessibility.zoom.resetZoomButton",{chart:e})),e.drillUpButton&&e.breadcrumbs&&e.breadcrumbs.list&&(t=e.breadcrumbs.list[e.breadcrumbs.list.length-1],this.createZoomProxyButton(e.drillUpButton,"drillUpProxyButton",e.langFormat("accessibility.drillUpButton",{chart:e,buttonText:e.breadcrumbs.getButtonText(t)})))}createZoomProxyButton(e,t,i){this[t]=this.proxyProvider.addProxyElement("zoom",{click:e},"button",{"aria-label":i,tabindex:-1})}getMapZoomNavigation(){let e=this.keyCodes,t=this.chart,i=this;return new o(t,{keyCodeMap:[[[e.up,e.down,e.left,e.right],function(e){return i.onMapKbdArrow(this,e)}],[[e.tab],function(e,t){return i.onMapKbdTab(this,t)}],[[e.space,e.enter],function(){return i.onMapKbdClick(this)}]],validate:function(){return!!(t.mapView&&t.mapNavigation&&t.mapNavigation.navButtons.length)},init:function(e){return i.onMapNavInit(e)}})}onMapKbdArrow(e,t){let i=this.chart,s=this.keyCodes,r=i.container,n=t===s.up||t===s.down,o=t===s.left||t===s.up?1:-1,a=(n?i.plotHeight:i.plotWidth)/10*o,l=10*Math.random(),h={x:r.offsetLeft+i.plotLeft+i.plotWidth/2+l,y:r.offsetTop+i.plotTop+i.plotHeight/2+l},c=n?{x:h.x,y:h.y+a}:{x:h.x+a,y:h.y};return[d("mousedown",h),d("mousemove",c),d("mouseup",c)].forEach(e=>r.dispatchEvent(e)),e.response.success}onMapKbdTab(e,t){let i=this.chart,s=e.response,r=t.shiftKey,n=r&&!this.focusedMapNavButtonIx||!r&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),n)return i.mapView&&i.mapView.zoomBy(),s[r?"prev":"next"];this.focusedMapNavButtonIx+=r?-1:1;let o=i.mapNavigation.navButtons[this.focusedMapNavButtonIx];return i.setFocusToElement(o.box,o.element),o.setState(2),s.success}onMapKbdClick(e){var t=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(t),e.response.success}onMapNavInit(e){let t=this.chart,i=t.mapNavigation.navButtons[0],s=t.mapNavigation.navButtons[1],r=0{chartTitle}
    {typeDescription}
    {chartSubtitle}
    {chartLongdesc}
    {playAsSoundButton}
    {viewTableButton}
    {xAxisDescription}
    {yAxisDescription}
    {annotationsTitle}{annotationsList}
    ",afterChartFormat:"{endOfChartMarker}",axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{descriptionFormat:"{seriesDescription}{authorDescription}{axisDescription}",describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{xDescription}{separator}{value}.",describeNull:!0},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',highContrastMode:"auto",keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#334eff",lineWidth:2,borderRadius:3},margin:2},order:["series","zoom","rangeSelector","navigator","legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:!0,pointNavigationEnabledThreshold:!1,rememberPointFocus:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5e3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}},navigator:{accessibility:{enabled:!0}}}}),t(e,"Accessibility/Options/LangDefaults.js",[],function(){return{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.",svgContainerLabel:"Interactive chart",drillUpButton:"{buttonText}",credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{#each additionalAnnotationPoints}, also related to {this}{/each}",descriptionNoPoints:"{annotationText}"},endOfChartMarker:"End of interactive chart."},sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabelNoTitle:"Toggle series visibility, {chartTitle}",legendLabel:"Chart legend: {legendTitle}",legendItem:"Show {itemName}"},zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{dropdownLabel:"{rangeTitle}",minInputLabel:"Select start date.",maxInputLabel:"Select end date.",clickButtonAnnouncement:"Viewing {axisRangeDescription}"},navigator:{handleLabel:"{#eq handleIx 0}Start, percent{else}End, percent{/eq}",groupLabel:"Axis zoom",changeAnnouncement:"{axisRangeDescription}"},table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."},announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{boxplot:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.",arearange:"Arearange charts are line charts displaying a range between a lower and higher value for each point.",areasplinerange:"These charts are line charts displaying a range between a lower and higher value for each point.",bubble:"Bubble charts are scatter charts where each data point also has a size value.",columnrange:"Columnrange charts are column charts displaying a range between a lower and higher value for each point.",errorbar:"Errorbar series are used to display the variability of the data.",funnel:"Funnel charts are used to display reduction of data in stages.",pyramid:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.",waterfall:"A waterfall chart is a column chart where each column contributes towards a total end value."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries} data series.",combinationChart:"Combination chart with {numSeries} data series.",defaultSingle:"Chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",columnMultiple:"Bar chart with {numSeries} data series.",barSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#eq numPoints 1}slice{else}slices{/eq}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#eq numPoints 1}point{else}points{/eq}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#eq numPoints 1}box{else}boxes{/eq}.",boxplotMultiple:"Boxplot with {numSeries} data series.",bubbleSingle:"Bubble chart with {numPoints} {#eq numPoints 1}bubbles{else}bubble{/eq}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",timeRangeDays:"Data range: {range} days.",timeRangeHours:"Data range: {range} hours.",timeRangeMinutes:"Data range: {range} minutes.",timeRangeSeconds:"Data range: {range} seconds.",rangeFromTo:"Data ranges from {rangeFrom} to {rangeTo}.",rangeCategories:"Data range: {numCategories} categories."},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu, {chartTitle}"},series:{summary:{default:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",defaultCombination:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",line:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",lineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",spline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",splineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",column:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",columnCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",bar:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",barCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",pie:"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",pieCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",scatter:"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",scatterCombination:"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",boxplot:"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",boxplotCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",bubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",bubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",map:"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",maplineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",mapbubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",mapbubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{#each annotations}Annotation: {this}{/each}"}}}}),t(e,"Accessibility/Options/DeprecatedOptions.js",[e["Core/Utilities.js"]],function(e){let{error:l,pick:o}=e;function h(e,t,i){let s=e,r,n=0;for(;n"series"!==e)):Object.keys(this.components):[]}update(){let t=this.components,i=this.chart,e=i.options.accessibility;M(i,"beforeA11yUpdate"),i.types=this.getChartTypes();var s=e.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach(function(e){t[e].onChartUpdate(),M(i,"afterA11yComponentUpdate",{name:e,component:t[e]})}),this.keyboardNavigation.update(s),i.highContrastModeActive||!1===e.highContrastMode||!y.isHighContrastModeActive()&&!0!==e.highContrastMode||y.setHighContrastTheme(i),M(i,"afterA11yUpdate",{accessibility:this})}destroy(){let e=this.chart||{},t=this.components;Object.keys(t).forEach(function(e){t[e].destroy(),t[e].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),e.announcerContainer&&k(e.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),e.renderTo&&e.renderTo.setAttribute("aria-hidden",!0),e.focusElement&&e.focusElement.removeFocusBorder()}getChartTypes(){let t={};return this.chart.series.forEach(function(e){t[e.type]=1}),Object.keys(t)}}return(F=P=P||{}).i18nFormat=a.i18nFormat,F.compose=function(t,e,i,s,r,n){h.compose(t),u.compose(s),c.compose(t,e),d.compose(t),m.compose(t,i,s),a.compose(t),l.compose(t,r),n&&g.compose(t,n);let o=t.prototype;o.updateA11yEnabled||(o.updateA11yEnabled=j,w(t,"destroy",D),w(t,"render",N),w(t,"update",B),["addSeries","init"].forEach(e=>{w(t,e,function(){this.a11yDirty=!0})}),["afterApplyDrilldown","drillupall"].forEach(e=>{w(t,e,function(){let e=this.accessibility;e&&!e.zombie&&e.update()})}),w(i,"update",I),["update","updatedData","remove"].forEach(e=>{w(s,e,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))},S(!0,C,f,{accessibility:{highContrastTheme:v},lang:x}),P;function D(){this.accessibility&&this.accessibility.destroy()}function N(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());let t=this.accessibility;t&&!t.zombie&&(t.proxyProvider.updateProxyElementPositions(),t.getComponentOrder().forEach(function(e){t.components[e].onChartRender()}))}function B(e){let t=e.options.accessibility;t&&(t.customComponents&&(this.options.accessibility.customComponents=t.customComponents,delete t.customComponents),S(!0,this.options.accessibility,t),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function j(){let e=this.accessibility,t=this.options.accessibility,i=this.renderer.boxWrapper.element,s=this.title;if(t&&t.enabled)e&&!e.zombie?e.update():(this.accessibility=e=new F(this),e&&!e.zombie&&e.update(),"img"===i.getAttribute("role")&&i.removeAttribute("role"));else if(e)e.destroy&&e.destroy(),delete this.accessibility;else{this.renderTo.setAttribute("role","img"),this.renderTo.setAttribute("aria-hidden",!1),this.renderTo.setAttribute("aria-label",(s&&s.element.textContent||"").replace(/{var s;c.annotations.some(t=>t.options===i)||(s=c.initAnnotation(i),c.options.annotations[t]=s.options)}),c.drawAnnotations(),e(c,"redraw",c.drawAnnotations),e(c,"destroy",function(){c.plotBoxClip.destroy(),c.controlPointsGroup.destroy()}),e(c,"exportData",function(r){let t=c.annotations,s=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,n=!r.dataRows[1].xValues,e=c.options.lang&&c.options.lang.exportData&&c.options.lang.exportData.annotationHeader,i=r.dataRows[0].length,h=c.options.exporting&&c.options.exporting.csv&&c.options.exporting.csv.annotations&&c.options.exporting.csv.annotations.itemDelimiter,l=c.options.exporting&&c.options.exporting.csv&&c.options.exporting.csv.annotations&&c.options.exporting.csv.annotations.join,o=(t.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let a=t.options.text;t.points.forEach(t=>{let n=t.x,e=t.series.xAxis?t.series.xAxis.index:-1,o=!1;if(-1===e){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{!o&&t.xValues&&void 0!==e&&n===t.xValues[e]&&(l&&t.length>i?t[t.length-1]+=h+a:t.push(a),o=!0)}),!o){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{o=Math.max(o,t.length)});var a=o-r.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function d(i){let t=this.annotations,s="annotations"===i.coll?i:o(t,function(t){return t.options.id===i});s&&(a(s,"remove"),n(this.options.annotations,s.options),n(t,s),s.destroy())}function u(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function x(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(i,t,s){let n=t.prototype;n.addAnnotation||(s=s.prototype,e(t,"afterInit",u),n.addAnnotation=l,n.callbacks.push(p),n.collectionsWithInit.annotations=[l],n.collectionsWithUpdate.push("annotations"),n.drawAnnotations=c,n.removeAnnotation=d,n.initAnnotation=function(t){t=new(i.types[t.type]||i)(this,t);return this.annotations.push(t),t},h(s,"onContainerMouseDown",x))}}}),i(t,"Extensions/Annotations/AnnotationDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return i(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6}}),i(t,"Extensions/Annotations/EventEmitter.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:a,isTouchDevice:r}=t,{addEvent:h,fireEvent:l,objectEach:s,pick:p,removeEvent:n}=i;return class{addEvents(){function i(t){h(t,r?"touchstart":"mousedown",t=>{n.onMouseDown(t)},{passive:!1})}let n=this;if(i(this.graphic.element),(n.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),s(n.options.events,(i,s)=>{function t(t){"click"===s&&n.cancelClick||i.call(n,n.chart.pointer?.normalize(t),n.target)}-1===(n.nonDOMEvents||[]).indexOf(s)?(h(n.graphic.element,s,t,{passive:!1}),n.graphic.div&&h(n.graphic.div,s,t,{passive:!1})):h(n,s,t,{passive:!1})}),n.options.draggable&&(h(n,"drag",n.onDrag),!n.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[n.options.draggable]};n.graphic.css(i),(n.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}n.isUpdating||l(n,"add")}destroy(){this.removeDocEvents(),n(this),this.hcEvents=null}mouseMoveToRadians(t,i,s){let n=t.prevChartY-s,e=t.prevChartX-i,o=t.chartY-s,a=t.chartX-i,r;return this.chart.inverted&&(r=e,e=n,n=r,r=a,a=o,o=r),Math.atan2(o,a)-Math.atan2(n,e)}mouseMoveToScale(t,i,s){let n=t.prevChartX-i,e=t.prevChartY-s,o=t.chartX-i,a=t.chartY-s,r=(o||1)/(n||1),h=(a||1)/(e||1);return this.chart.inverted&&(i=h,h=r,r=i),{x:r,y:h}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,s=t.chartY-t.prevChartY,n;return this.chart.inverted&&(n=s,s=i,i=n),{x:i,y:s}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(o){if(o.preventDefault&&o.preventDefault(),2!==o.button){let i=this,s=i.chart.pointer,t=o?.sourceCapabilities?.firesTouchEvents||!1,n=(o=s?.normalize(o)||o).chartX,e=o.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=h(a,r||t?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=s?.normalize(t)||t).prevChartX=n,t.prevChartY=e,l(i,"drag",t),n=t.chartX,e=t.chartY},r||t?{passive:!1}:void 0),i.removeMouseUp=h(a,r||t?"touchend":"mouseup",function(){let t=p(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&l(p(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},r||t?{passive:!1}:void 0)}}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}}}),i(t,"Extensions/Annotations/ControlPoint.js",[t["Extensions/Annotations/EventEmitter.js"],t["Core/Utilities.js"]],function(t,i){let{merge:e,pick:o}=i;return class extends t{constructor(t,i,s,n){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=o(s.index,n)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){var i=this.chart,s=this.target,n=this.index,t=e(!0,this.options,t);this.destroy(),this.constructor(i,s,t,n),this.render(i.controlPointsGroup),this.redraw()}}}),i(t,"Extensions/Annotations/MockPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,i){let{prototype:n}=t["series"],{defined:o,fireEvent:a}=i;return class s{static fromPoint(t){return new s(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let s=t.series,n=s.chart,e=t.plotX||0,o=t.plotY||0,a;return n.inverted&&(o=t.mock?(e=t.plotY,t.plotX):(e=n.plotWidth-(t.plotY||0),n.plotHeight-(t.plotX||0))),s&&!i&&(e+=(a=s.getPlotBox()).translateX,o+=a.translateY),{x:e,y:o}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,s){this.mock=!0,this.series={visible:!0,chart:t,getPlotBox:n.getPlotBox},this.target=i||null,this.options=s,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getLabelConfig(){return{x:this.x,y:this.y,point:this}}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,s=this.series.xAxis,n=this.series.yAxis,e={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(e.isInsidePlot=o(t)&&0<=t&&t<=s.len),n&&(e.isInsidePlot=e.isInsidePlot&&o(i)&&0<=i&&i<=n.len),a(this.series.chart,"afterIsInsidePlot",e),e.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,s=t.yAxis,n=this.getOptions();i?(this.x=n.x,this.plotX=i.toPixels(n.x,!0)):(this.x=void 0,this.plotX=n.x),s?(this.y=n.y,this.plotY=s.toPixels(n.y,!0)):(this.y=null,this.plotY=n.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,s=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=s?s.toValue(this.plotY,!0):this.plotY}rotate(t,i,s){var n,e,o;this.hasDynamicOptions()||(n=Math.cos(s),s=Math.sin(s),e=this.plotX-t,o=this.plotY-i,this.plotX=e*n-o*s+t,this.plotY=e*s+o*n+i,this.refreshOptions())}scale(t,i,s,n){var e,o;this.hasDynamicOptions()||(e=this.plotX*s,o=this.plotY*n,this.plotX=(1-s)*t+e,this.plotY=(1-n)*i+o,this.refreshOptions())}setAxis(t,i){let s=i+"Axis",n=t[s],e=this.series.chart;this.series[s]="object"==typeof n?n:o(n)?e[s][n]||e.get(n):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,s,n){this.hasDynamicOptions()||(this.plotX+=s,this.plotY+=n,this.refreshOptions())}}}),i(t,"Extensions/Annotations/ControlTarget.js",[t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(o,r,a){var t;return(t||(t={})).compose=function(t){t=t.prototype;t.addControlPoints||a.merge(!0,t,{addControlPoints:i,anchor:s,destroyControlTarget:n,getPointsOptions:e,linkPoints:h,point:l,redrawControlPoints:p,renderControlPoints:c,transform:d,transformPoint:u,translate:x,translatePoint:g})},t;function i(){let n=this.controlPoints,e=this.options.controlPoints||[];e.forEach((t,i)=>{let s=a.merge(this.options.controlPointOptions,t);s.index||(s.index=i),e[i]=s,n.push(new o(this.chart,this,s))})}function s(t){let i=t.series.getPlotBox(),s=t.series.chart,n=t.mock?t.toAnchor():s.tooltip&&s.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],e={x:n[0]+(this.options.x||0),y:n[1]+(this.options.y||0),height:n[2]||0,width:n[3]||0};return{relativePosition:e,absolutePosition:a.merge(e,{x:e.x+(t.mock?i.translateX:s.plotLeft),y:e.y+(t.mock?i.translateY:s.plotTop)})}}function n(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function e(){var t=this.options;return t.points||t.point&&a.splat(t.point)}function h(){let t,i,s=this.getPointsOptions(),n=this.points,e=s&&s.length||0;for(t=0;tt.redraw(i))}function c(){this.controlPoints.forEach(t=>t.render())}function d(s,n,e,o,a){var t;this.chart.inverted&&(t=n,n=e,e=t),this.points.forEach((t,i)=>this.transformPoint(s,n,e,o,a,i),this)}function u(t,i,s,n,e,o){let a=this.points[o];(a=a.mock?a:this.points[o]=r.fromPoint(a))[t](i,s,n,e)}function x(t,i){this.transform("translate",null,null,t,i)}function g(t,i,s){this.transformPoint("translate",null,null,t,i,s)}}),i(t,"Extensions/Annotations/Controllables/Controllable.js",[t["Extensions/Annotations/ControlTarget.js"],t["Core/Utilities.js"]],function(t,i){let o=i["merge"];class s{constructor(t,i,s,n){this.annotation=t,this.chart=t.chart,this.collection="label"===n?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=s,this.itemType=n,this.init(t,i,s)}attr(){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,s,n=this.constructor.attrsMap,e={},o=this.chart.styledMode;for(i in t)s=n[i],void 0===n[i]||o&&-1!==["fill","stroke","stroke-width"].indexOf(s)||(e[s]=t[i]);return e}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,s){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=s,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,s){this.transform("rotate",t,i,s)}scale(t,i,s,n){this.transform("scale",t,i,s,n)}setControlPointsVisibility(i){this.controlPoints.forEach(t=>{t.setVisibility(i)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,s){let n=this.annotation.chart,e=this.annotation.userOptions,o=n.annotations.indexOf(this.annotation),a=n.options.annotations[o];this.translatePoint(t,i,0),s&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,e[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,s=o(!0,this.options,t),n=this.graphic.parentGroup,e=this.constructor;this.destroy(),o(!0,this,new e(i,s,this.index,this.itemType)),this.render(n),this.redraw()}}return t.compose(s),s}),i(t,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}}}),i(t,"Extensions/Annotations/Controllables/ControllablePath.js",[t["Extensions/Annotations/Controllables/Controllable.js"],t["Extensions/Annotations/Controllables/ControllableDefaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i,s,n){let e=i["defaultMarkers"],{addEvent:o,defined:c,extend:a,merge:d,uniqueKey:u}=n,r=p("marker-end"),h=p("marker-start"),l="rgba(192,192,192,"+(s.svg?1e-4:.002)+")";function p(i){return function(t){this.attr(i,"url(#"+t+")")}}function x(){this.options.defs=d(e,this.options.defs||{})}function g(t,i){let s={attributes:{id:t}},n={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"},e=(s.children=i.children&&i.children.map(function(t){return d(n,t)}),d(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s)),o=this.definition(e);return o.id=t,o}class y extends t{static compose(t,i){let s=i.prototype;s.addMarker||(o(t,"afterGetContainer",x),s.addMarker=g)}constructor(t,i,s){super(t,i,s,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,s=i.length,n=[],e=s,o=i[0],a=e&&this.anchor(o).absolutePosition,r=0,h;if(a)for(n.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),e(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,s,n){return Math.abs((i.y-t.y)*s-(i.x-t.x)*n+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let s=t.x,n=t.y,e=i.x,o=i.y,a=(s+e)/2,r=Math.sqrt((s-e)*(s-e)/4+(n-o)*(n-o)/4),h=180*Math.atan((o-n)/(e-s))/Math.PI;return at.plotWidth&&("left"===o?l.align="right":l.x=(l.x||0)+t.plotWidth-e),(e=c+r)<0&&("bottom"===a?l.verticalAlign="top":l.y=(l.y||0)-e),(e=c+h.height-r)>t.plotHeight&&("top"===a?l.verticalAlign="bottom":l.y=(l.y||0)+t.plotHeight-e),l}constructor(t,i,s){super(t,i,s,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let s=this.annotation.chart,n=this.annotation.userOptions,e=s.annotations.indexOf(this.annotation),o=s.options.annotations[e];var a;s.inverted&&(a=t,t=i,i=a),this.options.x+=t,this.options.y+=i,o[this.collection][this.index].x=this.options.x,o[this.collection][this.index].y=this.options.y,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y}render(t){let i=this.options,s=this.attrsFromOptions(i),n=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(s).add(t),this.annotation.chart.styledMode||("contrast"===n.color&&(n.color=this.annotation.chart.renderer.getContrast(-1{e(n,t,i.closeButtonEvents.bind(i))}),e(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),n}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,s=this.closeButton;this.type=void 0,i.innerHTML=n.emptyHTML,0<=i.className.indexOf(t)&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(s),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}}}),i(t,"Extensions/Annotations/Popup/PopupAnnotations.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:p,isFirefox:c}=t,{createElement:d,isArray:u,isObject:x,objectEach:g,pick:l,stableSort:y}=i;function f(n,e,o,t,a,r){let h,l;if(e){let i=this.addInput,s=this.lang;g(t,(t,i)=>{h=""!==o?o+"."+i:i,x(t)&&(!u(t)||u(t)&&x(t[0])?((l=s[i]||i).match(/\d/g)||a.push([!0,l,n]),f.call(this,n,e,h,t,a,!1)):a.push([this,h,"annotation",n,t]))}),r&&(y(a,t=>t[1].match(/format/g)?-1:1),c&&a.reverse(),a.forEach(t=>{!0===t[0]?d("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(p.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},i.apply(t[0],t.splice(1)))}))}}return{addForm:function(n,e,o,a){if(n){let t=this.container,i=this.lang,s=d("h2",{className:"highcharts-popup-main-title"},void 0,t);s.appendChild(p.createTextNode(i[e.langKey]||e.langKey||"")),s=d("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,t);var r=d("div",{className:"highcharts-popup-bottom-row"},void 0,t);f.call(this,s,n,"",e,[],!0),this.addButton(r,a?i.addButton||"Add":i.saveButton||"Save",a?"add":"save",t,o)}},addToolbar:function(t,i,s){let n=this.lang,e=this.container,o=this.showForm,a="highcharts-annotation-toolbar",r=(-1===e.className.indexOf(a)&&(e.className+=" "+a+" highcharts-no-mousewheel"),t&&(e.style.top=t.plotTop+10+"px"),d("p",{className:"highcharts-annotation-label"},void 0,e)),h=(r.setAttribute("aria-label","Annotation type"),r.appendChild(p.createTextNode(l(n[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,""))),this.addButton(e,n.editButton||"Edit","edit",e,()=>{o.call(this,"annotation-edit",t,i,s)}));h.className+=" highcharts-annotation-edit-button",h.style["background-image"]="url("+this.iconsURL+"edit.svg)",(h=this.addButton(e,n.removeButton||"Remove","remove",e,s)).className+=" highcharts-annotation-remove-button",h.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}}}),i(t,"Extensions/Annotations/Popup/PopupIndicators.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(g,t,i,s){var l;let y=t["doc"],o=i["seriesTypes"],{addEvent:f,createElement:m,defined:p,isArray:v,isObject:c,objectEach:A,stableSort:b}=s,r=((t=l=l||{})[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average",{"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]});function a(t){m("div",{className:"highcharts-popup-lhs-col"},void 0,t);t=m("div",{className:"highcharts-popup-rhs-col"},void 0,t);m("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,t)}function d(n,t,i,s){function o(t,i){let s=x.parentNode.children[1];(function(t,i,s,n){var e=i.params||i.options.params;n.innerHTML=g.emptyHTML,m("h3",{className:"highcharts-indicator-title"},void 0,n).appendChild(y.createTextNode(C(i,s).indicatorFullName)),m("input",{type:"hidden",name:"highcharts-type-"+s,value:s},void 0,n),E.call(this,s,"series",t,n,i,i.linkedParent&&i.linkedParent.options.id),e.volumeSeriesID&&E.call(this,s,"volume",t,n,i,i.linkedParent&&e.volumeSeriesID),P.call(this,t,"params",e,s,n)}).call(e,n,t,i,x),s&&(s.style.display="block"),l&&t.options&&m("input",{type:"hidden",name:"highcharts-id-"+i,value:t.options.id},void 0,x).setAttribute("highcharts-data-series-id",t.options.id)}let e=this,a=e.lang,r=t.querySelectorAll(".highcharts-popup-lhs-col")[0],h=t.querySelectorAll(".highcharts-popup-rhs-col")[0],l="edit"===i,p=l?n.series:n.options.plotOptions||{};if(!n&&p)return;let c,d=[],u=(l||v(p)?v(p)&&(d=function(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}.call(this,p)):d=function(t,o){let a,i=this.chart&&this.chart.options.lang,r=i&&i.navigation&&i.navigation.popup&&i.navigation.popup.indicatorAliases,h=[];return A(t,(e,t)=>{var i=e&&e.options;if(e.params||i&&i.params){let{indicatorFullName:s,indicatorType:n}=C(e,t);if(o){let t=RegExp(o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),i=r&&r[n]&&r[n].join(" ")||"";(s.match(t)||i.match(t))&&(a={indicatorFullName:s,indicatorType:n,series:e},h.push(a))}else a={indicatorFullName:s,indicatorType:n,series:e},h.push(a)}}),h}.call(this,p,s),b(d,(t,i)=>{t=t.indicatorFullName.toLowerCase(),i=i.indicatorFullName.toLowerCase();return t{let{indicatorFullName:i,indicatorType:s,series:n}=t,e=(c=m("li",{className:"highcharts-indicator-list"},void 0,u),m("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,c));["click","touchstart"].forEach(t=>{f(e,t,function(){o(n,s)})})}),0{var s,n=a+"."+i;p(t)&&n&&(c(t)&&(e.call(this,n,r,h,{}),P.call(this,o,n,t,r,h)),n in l?(s=u.call(this,r,n,h),x.call(this,o,a,s,r,i,t)):"params.volumeSeriesID"==n||v(t)||e.call(this,n,r,h,{value:t,type:"number"}))})}}function h(i,t){function s(t){d.call(n,i,n.container,"add",t)}let n=this,e=t.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,a=m("div",{className:"highcharts-input-wrapper"},void 0,e),r=this.addInput("searchIndicators","input",a,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),h=m("a",{textContent:o},void 0,a);r.classList.add("highcharts-input-search-indicators"),h.classList.add("clear-filter-button"),f(r,"input",function(){s(this.value),this.value.length?h.style.display="inline-block":h.style.display="none"}),["click","touchstart"].forEach(t=>{f(h,t,function(){r.value="",s(""),h.style.display="none"})})}function u(t,i,s){var n=i.split("."),n=n[n.length-1],t="highcharts-"+i+"-type-"+t,e=this.lang;m("label",{htmlFor:t},null,s).appendChild(y.createTextNode(e[n]||i));let o=m("select",{name:t,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return o.setAttribute("id","highcharts-select-"+i),o}function x(t,n,e,i,s,o,a){"series"===n||"volume"===n?t.series.forEach(t=>{var i=t.options,s=i.name||i.params?t.name:i.id||"";"highcharts-navigator-series"!==i.id&&i.id!==(a&&a.options&&a.options.id)&&(p(o)||"volume"!==n||"column"!==t.type||(o=i.id),m("option",{value:i.id},void 0,e).appendChild(y.createTextNode(s)))}):i&&s&&r[s+"-"+i].forEach(t=>{m("option",{value:t},void 0,e).appendChild(y.createTextNode(t))}),p(o)&&(e.value=o)}function C(t,i){let s=t.options,n=o[i]&&o[i].prototype.nameBase||i.toUpperCase(),e=i;return s&&s.type&&(e=t.options.type,n=t.name),{indicatorFullName:n,indicatorType:e}}function E(i,s,n,e,o,a){if(n){let t=u.call(this,i,s,e);x.call(this,n,s,t,void 0,void 0,void 0,o),p(a)&&(t.value=a)}}return{addForm:function(i,t,s){var n,e=this.lang;if(i){this.tabs.init.call(this,i);let t=this.container.querySelectorAll(".highcharts-tab-item-content");a(t[0]),h.call(this,i,t[0]),d.call(this,i,t[0],"add"),n=t[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(n,e.addButton||"add","add",n,s),a(t[1]),d.call(this,i,t[1],"edit"),n=t[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(n,e.saveButton||"save","edit",n,s),this.addButton(n,e.removeButton||"remove","remove",n,s)}},getAmount:function(){let i=0;return this.series.forEach(t=>{(t.params||t.options.params)&&i++}),i}}}),i(t,"Extensions/Annotations/Popup/PopupTabs.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let a=t["doc"],{addEvent:e,createElement:r}=i;function s(){return r("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function n(t,i){let s=this.container,n=this.lang,e="highcharts-tab-item",o=(0===i&&(e+=" highcharts-tab-disabled"),r("button",{className:e},void 0,s));return o.appendChild(a.createTextNode(n[t+"Button"]||t)),o.setAttribute("highcharts-data-tab-type",t),o}function o(t,i){let s=this.container.querySelectorAll(".highcharts-tab-item-content");t.className+=" highcharts-tab-item-active",s[i].className+=" highcharts-tab-item-show"}function h(t){let n=this;this.container.querySelectorAll(".highcharts-tab-item").forEach((i,s)=>{0===t&&"edit"===i.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(t=>{e(i,t,function(){(function(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{let i=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(i){i.cancelClick=!0;let t=h(l,"click",()=>{setTimeout(()=>{i.cancelClick=!1},0),t()})}})}addInput(t,i,s,n){let e=t.split("."),o=e[e.length-1],a=this.lang,r="highcharts-"+i+"-"+u(n.htmlFor,o),h=(o.match(/^\d+$/)||p("label",{htmlFor:r,className:n.labelClassName},void 0,s).appendChild(l.createTextNode(a[o]||o)),p("input",{name:r,value:n.value,type:n.type,className:"highcharts-popup-field"},void 0,s));return h.setAttribute("highcharts-data-name",t),h}closeButtonEvents(){var t;this.chart?(t=this.chart.navigationBindings,d(t,"closePopup"),t&&t.selectedButtonElement&&d(t,"deselectButton",{button:t.selectedButtonElement})):super.closeButtonEvents()}addButton(t,i,s,n,e){let o=p("button",void 0,void 0,t);return o.appendChild(l.createTextNode(i)),e&&["click","touchstart"].forEach(t=>{h(o,t,()=>(this.closePopup(),e(function(t,i){let s=Array.prototype.slice.call(t.querySelectorAll("input")),n=Array.prototype.slice.call(t.querySelectorAll("select")),e=t.querySelectorAll("#highcharts-select-series > option:checked")[0],o=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:e&&e.getAttribute("value")||"",fields:{}};return s.forEach(t=>{var i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),n.forEach(t=>{let i=t.id;var s;"highcharts-select-series"!==i&&"highcharts-select-volume"!==i&&(s=i.split("highcharts-select-")[1],a.fields[s]=t.value)}),o&&(a.fields["params.volumeSeriesID"]=o.getAttribute("value")||""),a}(n,s))))}),o}showForm(t,i,s,n){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,s,n),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,s,n),"annotation-edit"===t&&this.annotations.addForm.call(this,i,s,n),"flag"===t&&this.annotations.addForm.call(this,i,s,n,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}return c(x.prototype,{annotations:n,indicators:e,tabs:o}),x}),i(t,"Extensions/Annotations/Popup/PopupComposition.js",[t["Core/Globals.js"],t["Extensions/Annotations/Popup/Popup.js"],t["Core/Utilities.js"]],function(t,i,s){let n=t["composed"],{addEvent:e,pushUnique:o,wrap:a}=s;function r(){this.popup&&this.popup.closePopup()}function h(t){this.popup||(this.popup=new i(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/11.4.7/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function l(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(t,i){o(n,"Popup")&&(e(t,"closePopup",r),e(t,"showPopup",h),a(i.prototype,"onContainerMouseDown",l))}}}),i(t,"Extensions/Annotations/Annotation.js",[t["Core/Animation/AnimationUtilities.js"],t["Extensions/Annotations/AnnotationChart.js"],t["Extensions/Annotations/AnnotationDefaults.js"],t["Extensions/Annotations/Controllables/ControllableRect.js"],t["Extensions/Annotations/Controllables/ControllableCircle.js"],t["Extensions/Annotations/Controllables/ControllableEllipse.js"],t["Extensions/Annotations/Controllables/ControllablePath.js"],t["Extensions/Annotations/Controllables/ControllableImage.js"],t["Extensions/Annotations/Controllables/ControllableLabel.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/ControlTarget.js"],t["Extensions/Annotations/EventEmitter.js"],t["Extensions/Annotations/MockPoint.js"],t["Extensions/Annotations/Popup/PopupComposition.js"],t["Core/Utilities.js"]],function(t,e,i,s,n,o,a,r,h,l,p,c,d,u,x){let g=t["getDeferredAnimation"],{destroyObjectProperties:y,erase:f,fireEvent:m,merge:v,pick:A,splat:b}=x;function P(i,n){let e={};return["labels","shapes"].forEach(t=>{let s=i[t];s&&(n[t]?e[t]=b(n[t]).map(function(t,i){return v(s[i],t)}):e[t]=i[t])}),e}class C extends c{static compose(t,i,s,n){e.compose(C,t,s),h.compose(n),a.compose(t,n),i.compose(C,t),u.compose(i,s)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=v(this.defaultOptions,i),this.userOptions=i;i=P(this.options,i);this.options.labels=i.labels,this.options.shapes=i.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let s=this.options.labels||[];s.forEach((t,i)=>{t=this.initLabel(t,i);v(!0,s[i],t.options)})}addShapes(){let s=this.options.shapes||[];s.forEach((t,i)=>{t=this.initShape(t,i);v(!0,s[i],t.options)})}destroy(){function t(t){t.destroy()}var i=this.chart;this.labels.forEach(t),this.shapes.forEach(t),this.clipXAxis=null,this.clipYAxis=null,f(i.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),y(this,i)}destroyItem(t){f(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);var s=P(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,s=this.index){var n=this.chart,e=this.options.animation;this.index=s,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=g(n,e)}initLabel(t,i){let s=new h(this,v(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=v(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),n=new C.shapesMap[s.type](this,s,i);return n.itemType="shape",this.shapes.push(n),n}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(s,n){if(s.linkPoints(),s.shouldBeDrawn()){if(s.graphic||this.renderItem(s),s.redraw(A(n,!0)&&s.graphic.placed),s.points.length){n=s;let t=n.graphic,i=n.points.some(t=>!1!==t.series.visible&&!1!==t.visible);t&&(i?"hidden"===t.visibility&&t.show():t.hide())}}else this.destroyItem(s)}redrawItems(t,i){let s=t.length;for(;s--;)this.redrawItem(t[s],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let s=this.chart.xAxis,n=this.chart.yAxis,t=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((t,i)=>{i=i&&(i.point||i.points&&i.points[0]);return[s[i&&i.xAxis]||t[0],n[i&&i.yAxis]||t[1]]},[]);this.clipXAxis=t[0],this.clipYAxis=t[1]}setControlPointsVisibility(i){function t(t){t.setControlPointsVisibility(i)}this.controlPoints.forEach(t=>{t.setVisibility(i)}),this.shapes.forEach(t),this.labels.forEach(t)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=v(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,n=A(t,!i.visible);this.graphic.attr("visibility",n?"inherit":"hidden"),n||(this.shapes.forEach(t=function(t){t.setControlPointsVisibility(n)}),this.labels.forEach(t),s.activeAnnotation===this&&s.popup&&"annotation-toolbar"===s.popup.type&&m(s,"closePopup")),i.visible=n}update(t,i){let s=this.chart,n=P(this.userOptions,t),e=s.annotations.indexOf(this),o=v(!0,this.userOptions,t);o.labels=n.labels,o.shapes=n.shapes,this.destroy(),this.initProperties(s,o),this.init(s,o),s.options.annotations[e]=this.options,this.isUpdating=!0,A(i,!0)&&s.drawAnnotations(),m(this,"afterUpdate"),this.isUpdating=!1}}return C.ControlPoint=l,C.MockPoint=d,C.shapesMap={rect:s,circle:n,ellipse:o,path:a,image:r},C.types={},C.prototype.defaultOptions=i,C.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],p.compose(C),C}),i(t,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;{var i=t=t||{};i.compose=function(t){return t.navigation||(t.navigation=new s(t)),t};class s{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(i,s){this.updates.forEach(t=>{t.call(this.chart,i,s)})}}i.Additions=s}return t}),i(t,"Extensions/Annotations/NavigationBindingsUtilities.js",[t["Core/Utilities.js"]],function(t){let{defined:e,isNumber:o,pick:a}=t,r={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:r,getAssignedAxis:function(t){return t.filter(t=>{var i=t.axis.getExtremes(),s=i.min,i=i.max,n=a(t.axis.minPointOffset,0);return o(s)&&o(i)&&t.value>=s-n&&t.value<=i+n&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let s=r[t],n=typeof i;return{string:"text",number:"number",boolean:"checkbox"}[n=e(s)?s:n]}}}),i(t,"Extensions/Annotations/NavigationBindingsDefaults.js",[t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i){let h=t["getAssignedAxis"],{isNumber:a,merge:o}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&h(t.xAxis),t=t&&h(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:i.value,y:t.value,xAxis:i.axis.index,yAxis:t.axis.index},r:5}]},s.annotationsOptions,s.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;var n,e,o=i.options.shapes,o=o&&o[0]&&o[0].point||{};a(o.xAxis)&&a(o.yAxis)&&(n=this.chart.inverted,e=this.chart.xAxis[o.xAxis].toPixels(o.x),o=this.chart.yAxis[o.yAxis].toPixels(o.y),s=Math.max(Math.sqrt(Math.pow(n?o-t.chartX:e-t.chartX,2)+Math.pow(n?e-t.chartY:o-t.chartY,2)),5)),i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&h(t.xAxis),t=t&&h(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:i.axis.index,yAxis:t.axis.index,points:[{x:i.value,y:t.value},{x:i.value,y:t.value}],ry:1}]},s.annotationsOptions,s.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let s=i.shapes[0],n=s.getAbsolutePosition(s.points[1]);s.translatePoint(t.chartX-n.x,t.chartY-n.y,1),s.redraw(!1)},function(t,i){let s=i.shapes[0],n=s.getAbsolutePosition(s.points[0]),e=s.getAbsolutePosition(s.points[1]),o=s.getDistanceFromLine(n,e,t.chartX,t.chartY),a=s.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));s.setYRadius(r),s.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i,s,n,t=this.chart.pointer?.getCoordinates(t),e=t&&h(t.xAxis),t=t&&h(t.yAxis);if(e&&t)return i=e.value,s=t.value,e=e.axis.index,t=t.axis.index,n=this.chart.options.navigation,this.chart.addAnnotation(o({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:e,yAxis:t,x:i,y:s},{xAxis:e,yAxis:t,x:i,y:s},{xAxis:e,yAxis:t,x:i,y:s},{xAxis:e,yAxis:t,x:i,y:s},{command:"Z"}]}]},n.annotationsOptions,n.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,n=s&&s[0]&&s[0].points||[],e=this.chart.pointer?.getCoordinates(t),o=e&&h(e.xAxis),a=e&&h(e.yAxis);var r;o&&a&&(t=o.value,r=a.value,n[1].x=t,n[2].x=t,n[2].y=r,n[3].y=r,i.update({shapes:[{points:n}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&h(t.xAxis),t=t&&h(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:i.axis.index,yAxis:t.axis.index,x:i.value,y:t.value}}]},s.annotationsOptions,s.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),i(t,"Extensions/Annotations/NavigationBindings.js",[t["Core/Chart/ChartNavigationComposition.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Extensions/Annotations/NavigationBindingsDefaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i,s,e,n,o,a){let r=i["setOptions"],p=s["format"],{composed:h,doc:l,win:c}=e,{getAssignedAxis:d,getFieldType:u}=o,{addEvent:x,attr:g,defined:y,fireEvent:f,isArray:m,isFunction:v,isNumber:A,isObject:b,merge:P,objectEach:C,pick:E,pushUnique:O}=a;function M(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function k(){this.navigationBindings&&this.navigationBindings.destroy()}function w(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new L(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function j(){let t=this.navigationBindings,a="highcharts-disabled-btn";if(this&&t){let o=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(o=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let i=this.navigationBindings.container[0];C(t.boundClassNames,(n,t)=>{var e=i.querySelectorAll("."+t);if(e)for(let s=0;s{N(t)}),x(i,"destroy",k),x(i,"load",w),x(i,"render",j),x(L,"closePopup",T),x(L,"deselectButton",B),r(n))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=l.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){t=this.chart.pointer?.getCoordinates(t);return[t&&d(t.xAxis),t&&d(t.yAxis)]}initEvents(){let n=this,i=n.chart,t=n.container,s=n.options;n.boundClassNames={},C(s.bindings||{},t=>{n.boundClassNames[t.className]=t}),[].forEach.call(t,s=>{n.eventsToUnbind.push(x(s,"click",t=>{let i=n.getButtonEvents(s,t);i&&!i.button.classList.contains("highcharts-disabled-btn")&&n.bindingsButtonClick(i.button,i.events,t)}))}),C(s.events||{},(t,i)=>{v(t)&&n.eventsToUnbind.push(x(n,i,t,{passive:!1}))}),n.eventsToUnbind.push(x(i.container,"click",function(t){!i.cancelClick&&i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&n.bindingsChartClick(this,t)})),n.eventsToUnbind.push(x(i.container,e.isTouchDevice?"touchmove":"mousemove",function(t){n.bindingsContainerMouseMove(this,t)},e.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,s){let n=this.chart,e=n.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),f(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&n.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,f(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,s),(i.start||i.steps)&&n.renderer.boxWrapper.addClass("highcharts-draw-mode")):(n.stockTools&&t.classList.remove("highcharts-active"),e.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let s=this.activeAnnotation,n=this.selectedButton,e=t.renderer.boxWrapper;s&&(s.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let s=c.Element.prototype,n=s.matches||s.msMatchesSelector||s.webkitMatchesSelector,e=null;if(s.closest)e=s.closest.call(t,i);else do{if(n.call(t,i))return t}while(null!==(t=t.parentElement||t.parentNode)&&1===t.nodeType);return e}(i.target,".highcharts-popup")?s.cancelClick&&setTimeout(()=>{s.cancelClick=!1},0):f(this,"closePopup")),n&&n.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,n.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]:(f(this,"deselectButton",{button:this.selectedButtonElement}),e.removeClass("highcharts-draw-mode"),n.end&&n.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=n.start.call(this,i),this.currentUserDetails&&n.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]):(f(this,"deselectButton",{button:this.selectedButtonElement}),e.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,n.end&&n.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,s){return C(t,(e,t)=>{let i=parseFloat(e),o=t.split("."),a=o.length-1;if("undefined"!==(e=!A(i)||e.match(/px|em/g)||t.match(/format/g)?e:i)){let n=s;o.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let t=E(o[s+1],"");a===s?n[i]=e:(n[i]||(n[i]=t.match(/\d/g)?[]:{}),n=n[i])}})}}),s}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(a){let i=a.options,n=L.annotationsEditable,r=n.nestedOptions,e=E(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),h=L.annotationsNonEditable[i.langKey]||[],o={langKey:i.langKey,type:e};function l(t,n,s,e,i){let o;s&&y(t)&&-1===h.indexOf(n)&&(0<=(s.indexOf&&s.indexOf(n))||s[n]||!0===s)&&(m(t)?(e[n]=[],t.forEach((t,s)=>{b(t)?(e[n][s]={},C(t,(t,i)=>{l(t,i,r[n],e[n][s],n)})):l(t,0,r[n],e[n],n)})):b(t)?(o={},m(e)?(e.push(o),o[n]={},o=o[n]):e[n]=o,C(t,(t,i)=>{l(t,i,0===n?s:r[n],o,n)})):"format"===n?e[n]=[p(t,a.labels[0].points[0]).toString(),"text"]:m(e)?e.push([t,u(i,t)]):e[n]=[t,u(n,t)])}return C(i,(t,s)=>{"typeOptions"===s?(o[s]={},C(i[s],(t,i)=>{l(t,i,r,o[s],i)})):l(t,s,n[e],o,s)}),o}getClickedClassNames(t,i){let s=i.target,n=[],e;for(;s&&s.tagName&&((e=g(s,"class"))&&(n=n.concat(e.split(" ").map(t=>[t,s]))),(s=s.parentNode)!==t););return n}getButtonEvents(t,i){let s,n=this;return this.getClickedClassNames(t,i).forEach(t=>{n.boundClassNames[t[0]]&&!s&&(s={events:n.boundClassNames[t[0]],button:t[1]})}),s}update(t){this.options=P(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return L.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},L.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},L}),i(t,"masters/modules/annotations.src.js",[t["Core/Globals.js"],t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/NavigationBindings.js"]],function(t,i,s){return t.Annotation=t.Annotation||i,t.NavigationBindings=t.NavigationBindings||s,t.Annotation.compose(t.Chart,t.NavigationBindings,t.Pointer,t.SVGRenderer),t}),i(t,"Extensions/Annotations/Types/BasicAnnotation.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,s,i){let n=i["merge"];class e extends t{addControlPoints(){let t=this.options,i=e.basicControlPoints,s=this.basicType;(t.labels||t.shapes||[]).forEach(t=>{t.controlPoints=i[s]})}init(){let t=this.options;var i;t.shapes?(delete t.labelOptions,i=t.shapes[0].type,t.shapes[0].className=(t.shapes[0].className||"")+" highcharts-basic-shape",this.basicType=i&&"path"!==i?i:"rectangle"):(delete t.shapes,this.basicType="label"),super.init.apply(this,arguments)}}return e.basicControlPoints={label:[{symbol:"triangle-down",positioner:function(t){if(!t.graphic.placed)return{x:0,y:-9e7};t=s.pointToPixels(t.points[0]);return{x:t.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){t=this.mouseMoveToTranslation(t);i.translatePoint(t.x,t.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}},{symbol:"square",positioner:function(t){return t.graphic.placed?{x:t.graphic.alignAttr.x-(this.graphic.width||0)/2,y:t.graphic.alignAttr.y-(this.graphic.height||0)/2}:{x:0,y:-9e7}},events:{drag:function(t,i){t=this.mouseMoveToTranslation(t);i.translate(t.x,t.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}}],rectangle:[{positioner:function(t){t=s.pointToPixels(t.points[2]);return{x:t.x-4,y:t.y-4}},events:{drag:function(t,i){let s=i.annotation,n=this.chart.pointer?.getCoordinates(t),e=i.options.points,o=s.userOptions.shapes,a=s.clipXAxis?.index||0,r=s.clipYAxis?.index||0;var h;n&&(t=n.xAxis[a].value,h=n.yAxis[r].value,e[1].x=t,e[2].x=t,e[2].y=h,e[3].y=h,o&&o[0]&&(o[0].points=i.options.points)),s.redraw(!1)}}}],circle:[{positioner:function(t){var i=s.pointToPixels(t.points[0]),t=t.options.r;return{x:i.x+t*Math.cos(Math.PI/4)-(this.graphic.width||0)/2,y:i.y+t*Math.sin(Math.PI/4)-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.annotation,n=this.mouseMoveToTranslation(t),e=s.userOptions.shapes;i.setRadius(Math.max(i.options.r+n.y/Math.sin(Math.PI/4),5)),e&&e[0]&&(e[0].r=i.options.r,e[0].point=i.options.point),i.redraw(!1)}}}],ellipse:[{positioner:function(t){t=t.getAbsolutePosition(t.points[0]);return{x:t.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){var s=i.getAbsolutePosition(i.points[0]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,0),i.redraw(!1)}}},{positioner:function(t){t=t.getAbsolutePosition(t.points[1]);return{x:t.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){var s=i.getAbsolutePosition(i.points[1]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,1),i.redraw(!1)}}},{positioner:function(t){var i=t.getAbsolutePosition(t.points[0]),s=t.getAbsolutePosition(t.points[1]),t=t.getAttrs(i,s);return{x:t.cx-(this.graphic.width||0)/2+t.ry*Math.sin(t.angle*Math.PI/180),y:t.cy-(this.graphic.height||0)/2-t.ry*Math.cos(t.angle*Math.PI/180)}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[0]),n=i.getAbsolutePosition(i.points[1]),e=i.getDistanceFromLine(s,n,t.chartX,t.chartY),o=i.getYAxis(),a=Math.abs(o.toValue(0)-o.toValue(e));i.setYRadius(a),i.redraw(!1)}}}]},e.prototype.defaultOptions=n(t.prototype.defaultOptions,{}),t.types.basicAnnotation=e}),i(t,"Extensions/Annotations/Types/CrookedLine.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,s,n,i){let e=i["merge"];class o extends t{setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}getPointsOptions(){let i=this.options.typeOptions;return(i.points||[]).map(t=>(t.xAxis=i.xAxis,t.yAxis=i.yAxis,t))}getControlPointsOptions(){return this.getPointsOptions()}addControlPoints(){this.getControlPointsOptions().forEach(function(t,i){i=new s(this.chart,this,e(this.options.controlPointOptions,t.controlPoint),i);this.controlPoints.push(i),t.controlPoint=i.options},this)}addShapes(){let t=this.options.typeOptions,i=this.initShape(e(t.line,{type:"path",className:"highcharts-crooked-lines",points:this.points.map((t,i)=>function(t){return t.annotation.points[i]})}),0);t.line=i.options}}return o.prototype.defaultOptions=e(t.prototype.defaultOptions,{typeOptions:{xAxis:0,yAxis:0,line:{fill:"none"}},controlPointOptions:{positioner:function(t){var i=this.graphic,t=n.pointToPixels(t.points[this.index]);return{x:t.x-(i.width||0)/2,y:t.y-(i.height||0)/2}},events:{drag:function(s,n){if(n.chart.isInsidePlot(s.chartX-n.chart.plotLeft,s.chartY-n.chart.plotTop,{visiblePlotOnly:!0})){let t=this.mouseMoveToTranslation(s),i=n.options.typeOptions;n.translatePoint(t.x,t.y,this.index),i.points[this.index].x=n.points[this.index].x,i.points[this.index].y=n.points[this.index].y,n.redraw(!1)}}}}}),t.types.crookedLine=o}),i(t,"Extensions/Annotations/Types/ElliottWave.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Core/Utilities.js"]],function(t,i,s){let n=s["merge"];class e extends i{addLabels(){this.getPointsOptions().forEach((t,i)=>{var s=this.options.typeOptions,s=this.initLabel(n(t.label,{text:s.labels[i],point:function(t){return t.annotation.points[i]}}),!1);t.label=s.options})}}return e.prototype.defaultOptions=n(i.prototype.defaultOptions,{typeOptions:{labels:["(0)","(A)","(B)","(C)","(D)","(E)"],line:{strokeWidth:1}},labelOptions:{align:"center",allowOverlap:!0,crop:!0,overflow:"none",type:"rect",backgroundColor:"none",borderWidth:0,y:-5}}),t.types.elliottWave=e}),i(t,"Extensions/Annotations/Types/Tunnel.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,n,e,o,i){let a=i["merge"];class s extends e{getPointsOptions(){let t=e.prototype.getPointsOptions.call(this),i=this.options.typeOptions.yAxis||0,s=this.chart.yAxis[i];var n;return t[2]=this.heightPointOptions(t[1]),t[3]=this.heightPointOptions(t[0]),s&&s.logarithmic&&(n=s.toPixels(t[2].y)-s.toPixels(t[1].y),n=s.toPixels(t[0].y)+n,t[3].y=s.toValue(n)),t}getControlPointsOptions(){return this.getPointsOptions().slice(0,2)}heightPointOptions(t){let i=a(t),s=this.options.typeOptions;return i.y+=s.height,i}addControlPoints(){e.prototype.addControlPoints.call(this);let t=this.options,i=t.typeOptions,s=new n(this.chart,this,a(t.controlPointOptions,i.heightControlPoint),2);this.controlPoints.push(s),i.heightControlPoint=s.options}addShapes(){this.addLine(),this.addBackground()}addLine(){var t=this.initShape(a(this.options.typeOptions.line,{type:"path",points:[this.points[0],this.points[1],function(t){let i=o.pointToOptions(t.annotation.points[2]);return i.command="M",i},this.points[3]],className:"highcharts-tunnel-lines"}),0);this.options.typeOptions.line=t.options}addBackground(){var t=this.initShape(a(this.options.typeOptions.background,{type:"path",points:this.points.slice(),className:"highcharts-tunnel-background"}),1);this.options.typeOptions.background=t.options}translateSide(t,i,s){s=Number(s);this.translatePoint(t,i,s),this.translatePoint(t,i,0===s?3:2)}translateHeight(t){this.translatePoint(0,t,2),this.translatePoint(0,t,3),this.options.typeOptions.height=this.points[3].y-this.points[0].y,this.userOptions.typeOptions.height=this.options.typeOptions.height}}return s.prototype.defaultOptions=a(e.prototype.defaultOptions,{typeOptions:{background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},line:{strokeWidth:1},height:-2,heightControlPoint:{positioner:function(t){var i=o.pointToPixels(t.points[2]),t=o.pointToPixels(t.points[3]),s=(i.x+t.x)/2;return{x:s-(this.graphic.width||0)/2,y:(t.y-i.y)/(t.x-i.x)*(s-i.x)+i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})&&(i.translateHeight(this.mouseMoveToTranslation(t).y),i.redraw(!1))}}}},controlPointOptions:{events:{drag:function(t,i){i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})&&(t=this.mouseMoveToTranslation(t),i.translateSide(t.x,t.y,!!this.index),i.redraw(!1))}}}}),t.types.tunnel=s}),i(t,"Extensions/Annotations/Types/InfinityLine.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,i,f,s){let n=s["merge"];class m extends i{static edgePoint(e,o){return function(t){let i=t.annotation,s=i.options.typeOptions.type,n=i.points;return"horizontalLine"!==s&&"verticalLine"!==s||(n=[n[0],new f(i.chart,n[0].target,{x:n[0].x+ +("horizontalLine"===s),y:n[0].y+ +("verticalLine"===s),xAxis:n[0].options.xAxis,yAxis:n[0].options.yAxis})]),m.findEdgePoint(n[e],n[o])}}static findEdgeCoordinate(t,i,s,n){var e="x"===s?"y":"x";return(i[s]-t[s])*(n-t[e])/(i[e]-t[e])+t[s]}static findEdgePoint(t,i){var s;let n=t.series.chart,e=t.series.xAxis,o=i.series.yAxis,a=f.pointToPixels(t),r=f.pointToPixels(i),h=r.x-a.x,l=r.y-a.y,p=e.left,c=p+e.width,d=o.top,u=d+o.height,x=h<0?p:c,g=l<0?d:u,y={x:0==h?a.x:x,y:0==l?a.y:g};return 0!=h&&0!=l&&(i=m.findEdgeCoordinate(a,r,"y",x),s=m.findEdgeCoordinate(a,r,"x",g),d<=i&&i<=u?(y.x=x,y.y=i):(y.x=s,y.y=g)),y.x-=n.plotLeft,y.y-=n.plotTop,t.series.chart.inverted&&(i=y.x,y.x=y.y,y.y=i),y}addShapes(){let t=this.options.typeOptions,i=[this.points[0],m.endEdgePoint];t.type.match(/line/gi)&&(i[0]=m.startEdgePoint);var s=this.initShape(n(t.line,{type:"path",points:i,className:"highcharts-infinity-lines"}),0);t.line=s.options}}return m.endEdgePoint=m.edgePoint(0,1),m.startEdgePoint=m.edgePoint(1,0),m.prototype.defaultOptions=n(i.prototype.defaultOptions,{}),t.types.infinityLine=m}),i(t,"Extensions/Annotations/Types/TimeCycles.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Extensions/Annotations/ControlPoint.js"],t["Core/Utilities.js"]],function(t,i,s,n){let{merge:e,isNumber:x,defined:o}=n;class a extends i{init(t,i,s){o(i.yAxis)&&i.points.forEach(t=>{t.yAxis=i.yAxis}),o(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}setPath(){this.shapes[0].options.d=this.getPath()}getPath(){return[["M",this.startX,this.y]].concat(function(i,s,n,e){let o=[];for(let t=1;t<=s;t++)o.push(["A",i/2,i/2,0,1,1,n+t*i,e]);return o}(this.pixelInterval,this.numberOfCircles,this.startX,this.y))}addShapes(){let t=this.options.typeOptions;this.setPathProperties();var i=this.initShape(e(t.line,{type:"path",d:this.getPath(),points:this.options.points,className:"highcharts-timecycles-lines"}),0);t.line=i.options}addControlPoints(){let i=this.options,t=i.typeOptions;i.controlPointOptions.style.cursor=this.chart.inverted?"ns-resize":"ew-resize",t.controlPointOptions.forEach(t=>{t=e(i.controlPointOptions,t),t=new s(this.chart,this,t,0);this.controlPoints.push(t)})}setPathProperties(){var l,p,c,d=this.options.typeOptions,u=d.points;if(u){let t=u[0],i=u[1],s=d.xAxis||0,n=d.yAxis||0,e=this.chart.xAxis[s],o=this.chart.yAxis[n],a=t.x,r=t.y,h=i.x;a&&h&&(u=x(r)?o.toPixels(r):o.top+o.height,d=x(a)?e.toPixels(a):e.left,l=x(h)?e.toPixels(h):e.left+30,p=e.len,l=Math.round(Math.max(Math.abs(l-d),2)),p=Math.floor(p/l)+2,c=(Math.floor((d-e.left)/l)+1)*l,this.startX=d-c,this.y=u,this.pixelInterval=l,this.numberOfCircles=p)}}redraw(t){this.setPathProperties(),this.setPath(),super.redraw(t)}}return a.prototype.defaultOptions=e(i.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(t){var i=t.points[0];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){var s=i.anchor(i.points[0]).absolutePosition;i.translatePoint(t.chartX-s.x,0,0),i.redraw(!1)}}},{positioner:function(t){var i=t.points[1];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){var s=i.anchor(i.points[1]).absolutePosition;i.translatePoint(t.chartX-s.x,0,1),i.redraw(!1)}}}]}}),t.types.timeCycles=a}),i(t,"Extensions/Annotations/Types/Fibonacci.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/MockPoint.js"],t["Extensions/Annotations/Types/Tunnel.js"],t["Core/Utilities.js"]],function(t,a,i,s){let e=s["merge"];function o(o,a){return function(){var t,i=this.annotation;if(!i.startRetracements||!i.endRetracements)return[];let s=this.anchor(i.startRetracements[o]).absolutePosition,n=this.anchor(i.endRetracements[o]).absolutePosition,e=[["M",Math.round(s.x),Math.round(s.y)],["L",Math.round(n.x),Math.round(n.y)]];return a&&(t=this.anchor(i.endRetracements[o-1]).absolutePosition,i=this.anchor(i.startRetracements[o-1]).absolutePosition,e.push(["L",Math.round(t.x),Math.round(t.y)],["L",Math.round(i.x),Math.round(i.y)])),e}}class h extends i{linkPoints(){super.linkPoints(),this.linkRetracementsPoints()}linkRetracementsPoints(){let n=this.points,e=n[0].y-n[3].y,o=n[1].y-n[2].y,a=n[0].x,r=n[1].x;h.levels.forEach((t,i)=>{var s=n[0].y-e*t,t=n[1].y-o*t,i=this.options.typeOptions.reversed?h.levels.length-i-1:i;this.startRetracements=this.startRetracements||[],this.endRetracements=this.endRetracements||[],this.linkRetracementPoint(i,a,s,this.startRetracements),this.linkRetracementPoint(i,r,t,this.endRetracements)})}linkRetracementPoint(t,i,s,n){let e=n[t],o=this.options.typeOptions;e?(e.options.x=i,e.options.y=s,e.refresh()):n[t]=new a(this.chart,this,{x:i,y:s,xAxis:o.xAxis,yAxis:o.yAxis})}addShapes(){h.levels.forEach(function(t,i){var{backgroundColors:s,lineColor:n,lineColors:e}=this.options.typeOptions;this.initShape({type:"path",d:o(i),stroke:e[i]||n,className:"highcharts-fibonacci-line"},i),0Max: "+this.max+"
    Average: "+this.average+"
    Bins: "+this.bins}function g(t,i,s,n){return{xAxisMin:Math.min(i,t),xAxisMax:Math.max(i,t),yAxisMin:Math.min(n,s),yAxisMax:Math.max(n,s)}}function x(t,i,s){return t.toValue(t.toPixels(i)+s)}function r(t){var i=this.options.typeOptions,s=this.chart.xAxis[i.xAxis],i=this.chart.yAxis[i.yAxis],n=this.offsetX,e=this.offsetY;this.xAxisMin=x(s,this.startXMin,n),this.xAxisMax=x(s,this.startXMax,n),this.yAxisMin=x(i,this.startYMin,e),this.yAxisMax=x(i,this.startYMax,e),this.min=function(){let t=this.chart.series,i=g(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=1/0,n=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.yi.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,n=!0)})}),s=n?s:""}.call(this),this.max=function(){let t=this.chart.series,i=g(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=-1/0,n=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.y>s&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,n=!0)})}),s=n?s:""}.call(this),this.average=function(){let t="";return t=""!==this.max&&""!==this.min?(this.max+this.min)/2:t}.call(this),this.bins=function(){let t=this.chart.series,i=g(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=0,n=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s++,n=!0)})}),s=n?s:""}.call(this),t&&this.resize(0,0)}function h(t,i,s,n,e){var o=this.options.typeOptions,a=o.selectType,r=this.chart.xAxis[o.xAxis],o=this.chart.yAxis[o.yAxis],h=this.startXMin,l=this.startXMax,p=this.startYMin,c=this.startYMax,d=this.offsetX,u=this.offsetY;i&&("x"===a?0===s?this.startXMin=x(r,h,n):this.startXMax=x(r,l,n):"y"===a?0===s?this.startYMin=x(o,p,e):this.startYMax=x(o,c,e):(this.startXMax=x(r,l,n),this.startYMax=x(o,c,e))),t&&(this.startXMin=x(r,h,d),this.startXMax=x(r,l,d),this.startYMin=x(o,p,u),this.startYMax=x(o,c,u),this.offsetX=0,this.offsetY=0),this.options.typeOptions.point={x:this.startXMin,y:this.startYMin},this.userOptions.typeOptions.point={x:this.startXMin,y:this.startYMin}}class s extends t{init(t,i,s){super.init(t,i,s),this.offsetX=0,this.offsetY=0,this.resizeX=0,this.resizeY=0,function(){let t=this.options.typeOptions,i=this.chart,s=i.inverted,n=i.xAxis[t.xAxis],e=i.yAxis[t.yAxis],o=t.background,a=s?o.height:o.width,r=s?o.width:o.height,h=t.selectType,l=s?n.left:e.top,p=s?e.top:n.left;this.startXMin=t.point.x,this.startYMin=t.point.y,c(a)?this.startXMax=this.startXMin+a:this.startXMax=x(n,this.startXMin,parseFloat(a)),c(r)?this.startYMax=this.startYMin-r:this.startYMax=x(e,this.startYMin,parseFloat(r)),"x"===h?(this.startYMin=e.toValue(l),this.startYMax=e.toValue(l+e.len)):"y"===h&&(this.startXMin=n.toValue(p),this.startXMax=n.toValue(p+n.len))}.call(this),this.addValues(),this.addShapes()}setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}pointsOptions(){return this.options.points}shapePointsOptions(){var t=this.options.typeOptions,i=t.xAxis,t=t.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:i,yAxis:t},{x:this.xAxisMax,y:this.yAxisMin,xAxis:i,yAxis:t},{x:this.xAxisMax,y:this.yAxisMax,xAxis:i,yAxis:t},{x:this.xAxisMin,y:this.yAxisMax,xAxis:i,yAxis:t}]}addControlPoints(){let t=this.chart.inverted,i=this.options.controlPointOptions,s=this.options.typeOptions.selectType;o(this.userOptions.controlPointOptions&&this.userOptions.controlPointOptions.style.cursor)||("x"===s?i.style.cursor=t?"ns-resize":"ew-resize":"y"===s&&(i.style.cursor=t?"ew-resize":"ns-resize"));var n=new e(this.chart,this,this.options.controlPointOptions,0);this.controlPoints.push(n),"xy"!==s&&(n=new e(this.chart,this,this.options.controlPointOptions,1),this.controlPoints.push(n))}addValues(t){let s=this.options.typeOptions,i=s.label.formatter;r.call(this,t),s.label.enabled&&(0t.redraw())}translate(i,s){this.shapes.forEach(t=>t.translate(i,s))}}return s.prototype.defaultOptions=f(t.prototype.defaultOptions,{typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"0.7em",color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(t){let i=this.index,s=t.chart,n=t.options,e=n.typeOptions,o=e.selectType,a=n.controlPointOptions,r=s.inverted,h=s.xAxis[e.xAxis],l=s.yAxis[e.yAxis],p=g(t.xAxisMin,t.xAxisMax,t.yAxisMin,t.yAxisMax),c=t.xAxisMax,d=t.yAxisMax,u,x;return"x"===o&&(d=(p.yAxisMax+p.yAxisMin)/2,0===i&&(c=t.xAxisMin)),"y"===o&&(c=p.xAxisMin+(p.xAxisMax-p.xAxisMin)/2,0===i&&(d=t.yAxisMin)),x=r?(u=l.toPixels(d),h.toPixels(c)):(u=h.toPixels(c),l.toPixels(d)),{x:u-a.width/2,y:x-a.height/2}},events:{drag:function(t,i){var t=this.mouseMoveToTranslation(t),s=i.options.typeOptions.selectType,n=this.index,e="y"===s?0:t.x,t="x"===s?0:t.y;i.resize(e,t,n,s),i.resizeX+=e,i.resizeY+=t,i.redraw(!1,!0)}}}}),t.types.measure=s}),i(t,"masters/modules/annotations-advanced.src.js",[t["Core/Globals.js"]],function(t){return t})}); \ No newline at end of file +!function(i){"object"==typeof module&&module.exports?module.exports=i.default=i:"function"==typeof define&&define.amd?define("highcharts/modules/annotations-advanced",["highcharts"],function(t){return i(t),i.Highcharts=t,i}):i("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(t,i,s,n){t.hasOwnProperty(i)||(t[i]=n.apply(null,s),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Extensions/Annotations/AnnotationChart.js",[t["Core/Utilities.js"]],function(t){let{addEvent:e,erase:n,find:o,fireEvent:a,pick:r,wrap:h}=t;function l(t,i){let s=this.initAnnotation(t);return this.options.annotations.push(s.options),r(i,!0)&&(s.redraw(),s.graphic.attr({opacity:1})),s}function p(){let c=this;c.plotBoxClip=this.renderer.clipRect(this.plotBox),c.controlPointsGroup=c.renderer.g("control-points").attr({zIndex:99}).clip(c.plotBoxClip).add(),c.options.annotations.forEach((i,t)=>{var s;c.annotations.some(t=>t.options===i)||(s=c.initAnnotation(i),c.options.annotations[t]=s.options)}),c.drawAnnotations(),e(c,"redraw",c.drawAnnotations),e(c,"destroy",function(){c.plotBoxClip.destroy(),c.controlPointsGroup.destroy()}),e(c,"exportData",function(r){let t=c.annotations,s=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,n=!r.dataRows[1].xValues,e=c.options.lang&&c.options.lang.exportData&&c.options.lang.exportData.annotationHeader,i=r.dataRows[0].length,h=c.options.exporting&&c.options.exporting.csv&&c.options.exporting.csv.annotations&&c.options.exporting.csv.annotations.itemDelimiter,l=c.options.exporting&&c.options.exporting.csv&&c.options.exporting.csv.annotations&&c.options.exporting.csv.annotations.join,o=(t.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let a=t.options.text;t.points.forEach(t=>{let n=t.x,e=t.series.xAxis?t.series.xAxis.index:-1,o=!1;if(-1===e){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{!o&&t.xValues&&void 0!==e&&n===t.xValues[e]&&(l&&t.length>i?t[t.length-1]+=h+a:t.push(a),o=!0)}),!o){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{o=Math.max(o,t.length)});var a=o-r.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function d(i){let t=this.annotations,s="annotations"===i.coll?i:o(t,function(t){return t.options.id===i});s&&(a(s,"remove"),n(this.options.annotations,s.options),n(t,s),s.destroy())}function u(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function x(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(i,t,s){let n=t.prototype;n.addAnnotation||(s=s.prototype,e(t,"afterInit",u),n.addAnnotation=l,n.callbacks.push(p),n.collectionsWithInit.annotations=[l],n.collectionsWithUpdate.push("annotations"),n.drawAnnotations=c,n.removeAnnotation=d,n.initAnnotation=function(t){t=new(i.types[t.type]||i)(this,t);return this.annotations.push(t),t},h(s,"onContainerMouseDown",x))}}}),i(t,"Extensions/Annotations/AnnotationDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return i(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6}}),i(t,"Extensions/Annotations/EventEmitter.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:a,isTouchDevice:r}=t,{addEvent:h,fireEvent:l,objectEach:s,pick:p,removeEvent:n}=i;return class{addEvents(){function i(t){h(t,r?"touchstart":"mousedown",t=>{n.onMouseDown(t)},{passive:!1})}let n=this;if(i(this.graphic.element),(n.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),s(n.options.events,(i,s)=>{function t(t){"click"===s&&n.cancelClick||i.call(n,n.chart.pointer?.normalize(t),n.target)}-1===(n.nonDOMEvents||[]).indexOf(s)?(h(n.graphic.element,s,t,{passive:!1}),n.graphic.div&&h(n.graphic.div,s,t,{passive:!1})):h(n,s,t,{passive:!1})}),n.options.draggable&&(h(n,"drag",n.onDrag),!n.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[n.options.draggable]};n.graphic.css(i),(n.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}n.isUpdating||l(n,"add")}destroy(){this.removeDocEvents(),n(this),this.hcEvents=null}mouseMoveToRadians(t,i,s){let n=t.prevChartY-s,e=t.prevChartX-i,o=t.chartY-s,a=t.chartX-i,r;return this.chart.inverted&&(r=e,e=n,n=r,r=a,a=o,o=r),Math.atan2(o,a)-Math.atan2(n,e)}mouseMoveToScale(t,i,s){let n=t.prevChartX-i,e=t.prevChartY-s,o=t.chartX-i,a=t.chartY-s,r=(o||1)/(n||1),h=(a||1)/(e||1);return this.chart.inverted&&(i=h,h=r,r=i),{x:r,y:h}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,s=t.chartY-t.prevChartY,n;return this.chart.inverted&&(n=s,s=i,i=n),{x:i,y:s}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(o){if(o.preventDefault&&o.preventDefault(),2!==o.button){let i=this,s=i.chart.pointer,t=o?.sourceCapabilities?.firesTouchEvents||!1,n=(o=s?.normalize(o)||o).chartX,e=o.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=h(a,r||t?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=s?.normalize(t)||t).prevChartX=n,t.prevChartY=e,l(i,"drag",t),n=t.chartX,e=t.chartY},r||t?{passive:!1}:void 0),i.removeMouseUp=h(a,r||t?"touchend":"mouseup",function(){let t=p(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&l(p(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},r||t?{passive:!1}:void 0)}}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}}}),i(t,"Extensions/Annotations/ControlPoint.js",[t["Extensions/Annotations/EventEmitter.js"],t["Core/Utilities.js"]],function(t,i){let{merge:e,pick:o}=i;return class extends t{constructor(t,i,s,n){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=o(s.index,n)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){var i=this.chart,s=this.target,n=this.index,t=e(!0,this.options,t);this.destroy(),this.constructor(i,s,t,n),this.render(i.controlPointsGroup),this.redraw()}}}),i(t,"Extensions/Annotations/MockPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,i){let{prototype:n}=t["series"],{defined:o,fireEvent:a}=i;return class s{static fromPoint(t){return new s(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let s=t.series,n=s.chart,e=t.plotX||0,o=t.plotY||0,a;return n.inverted&&(o=t.mock?(e=t.plotY,t.plotX):(e=n.plotWidth-(t.plotY||0),n.plotHeight-(t.plotX||0))),s&&!i&&(e+=(a=s.getPlotBox()).translateX,o+=a.translateY),{x:e,y:o}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,s){this.mock=!0,this.series={visible:!0,chart:t,getPlotBox:n.getPlotBox},this.target=i||null,this.options=s,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getLabelConfig(){return{x:this.x,y:this.y,point:this}}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,s=this.series.xAxis,n=this.series.yAxis,e={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(e.isInsidePlot=o(t)&&0<=t&&t<=s.len),n&&(e.isInsidePlot=e.isInsidePlot&&o(i)&&0<=i&&i<=n.len),a(this.series.chart,"afterIsInsidePlot",e),e.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,s=t.yAxis,n=this.getOptions();i?(this.x=n.x,this.plotX=i.toPixels(n.x,!0)):(this.x=void 0,this.plotX=n.x),s?(this.y=n.y,this.plotY=s.toPixels(n.y,!0)):(this.y=null,this.plotY=n.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,s=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=s?s.toValue(this.plotY,!0):this.plotY}rotate(t,i,s){var n,e,o;this.hasDynamicOptions()||(n=Math.cos(s),s=Math.sin(s),e=this.plotX-t,o=this.plotY-i,this.plotX=e*n-o*s+t,this.plotY=e*s+o*n+i,this.refreshOptions())}scale(t,i,s,n){var e,o;this.hasDynamicOptions()||(e=this.plotX*s,o=this.plotY*n,this.plotX=(1-s)*t+e,this.plotY=(1-n)*i+o,this.refreshOptions())}setAxis(t,i){let s=i+"Axis",n=t[s],e=this.series.chart;this.series[s]="object"==typeof n?n:o(n)?e[s][n]||e.get(n):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,s,n){this.hasDynamicOptions()||(this.plotX+=s,this.plotY+=n,this.refreshOptions())}}}),i(t,"Extensions/Annotations/ControlTarget.js",[t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(o,r,a){var t;return(t||(t={})).compose=function(t){t=t.prototype;t.addControlPoints||a.merge(!0,t,{addControlPoints:i,anchor:s,destroyControlTarget:n,getPointsOptions:e,linkPoints:h,point:l,redrawControlPoints:p,renderControlPoints:c,transform:d,transformPoint:u,translate:x,translatePoint:g})},t;function i(){let n=this.controlPoints,e=this.options.controlPoints||[];e.forEach((t,i)=>{let s=a.merge(this.options.controlPointOptions,t);s.index||(s.index=i),e[i]=s,n.push(new o(this.chart,this,s))})}function s(t){let i=t.series.getPlotBox(),s=t.series.chart,n=t.mock?t.toAnchor():s.tooltip&&s.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],e={x:n[0]+(this.options.x||0),y:n[1]+(this.options.y||0),height:n[2]||0,width:n[3]||0};return{relativePosition:e,absolutePosition:a.merge(e,{x:e.x+(t.mock?i.translateX:s.plotLeft),y:e.y+(t.mock?i.translateY:s.plotTop)})}}function n(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function e(){var t=this.options;return t.points||t.point&&a.splat(t.point)}function h(){let t,i,s=this.getPointsOptions(),n=this.points,e=s&&s.length||0;for(t=0;tt.redraw(i))}function c(){this.controlPoints.forEach(t=>t.render())}function d(s,n,e,o,a){var t;this.chart.inverted&&(t=n,n=e,e=t),this.points.forEach((t,i)=>this.transformPoint(s,n,e,o,a,i),this)}function u(t,i,s,n,e,o){let a=this.points[o];(a=a.mock?a:this.points[o]=r.fromPoint(a))[t](i,s,n,e)}function x(t,i){this.transform("translate",null,null,t,i)}function g(t,i,s){this.transformPoint("translate",null,null,t,i,s)}}),i(t,"Extensions/Annotations/Controllables/Controllable.js",[t["Extensions/Annotations/ControlTarget.js"],t["Core/Utilities.js"]],function(t,i){let o=i["merge"];class s{constructor(t,i,s,n){this.annotation=t,this.chart=t.chart,this.collection="label"===n?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=s,this.itemType=n,this.init(t,i,s)}attr(){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,s,n=this.constructor.attrsMap,e={},o=this.chart.styledMode;for(i in t)s=n[i],void 0===n[i]||o&&-1!==["fill","stroke","stroke-width"].indexOf(s)||(e[s]=t[i]);return e}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,s){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=s,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,s){this.transform("rotate",t,i,s)}scale(t,i,s,n){this.transform("scale",t,i,s,n)}setControlPointsVisibility(i){this.controlPoints.forEach(t=>{t.setVisibility(i)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,s){let n=this.annotation.chart,e=this.annotation.userOptions,o=n.annotations.indexOf(this.annotation),a=n.options.annotations[o];this.translatePoint(t,i,0),s&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,e[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,s=o(!0,this.options,t),n=this.graphic.parentGroup,e=this.constructor;this.destroy(),o(!0,this,new e(i,s,this.index,this.itemType)),this.render(n),this.redraw()}}return t.compose(s),s}),i(t,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}}}),i(t,"Extensions/Annotations/Controllables/ControllablePath.js",[t["Extensions/Annotations/Controllables/Controllable.js"],t["Extensions/Annotations/Controllables/ControllableDefaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i,s,n){let e=i["defaultMarkers"],{addEvent:o,defined:c,extend:a,merge:d,uniqueKey:u}=n,r=p("marker-end"),h=p("marker-start"),l="rgba(192,192,192,"+(s.svg?1e-4:.002)+")";function p(i){return function(t){this.attr(i,"url(#"+t+")")}}function x(){this.options.defs=d(e,this.options.defs||{})}function g(t,i){let s={attributes:{id:t}},n={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"},e=(s.children=i.children&&i.children.map(function(t){return d(n,t)}),d(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s)),o=this.definition(e);return o.id=t,o}class y extends t{static compose(t,i){let s=i.prototype;s.addMarker||(o(t,"afterGetContainer",x),s.addMarker=g)}constructor(t,i,s){super(t,i,s,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,s=i.length,n=[],e=s,o=i[0],a=e&&this.anchor(o).absolutePosition,r=0,h;if(a)for(n.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),e(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,s,n){return Math.abs((i.y-t.y)*s-(i.x-t.x)*n+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let s=t.x,n=t.y,e=i.x,o=i.y,a=(s+e)/2,r=Math.sqrt((s-e)*(s-e)/4+(n-o)*(n-o)/4),h=180*Math.atan((o-n)/(e-s))/Math.PI;return at.plotWidth&&("left"===o?l.align="right":l.x=(l.x||0)+t.plotWidth-e),(e=c+r)<0&&("bottom"===a?l.verticalAlign="top":l.y=(l.y||0)-e),(e=c+h.height-r)>t.plotHeight&&("top"===a?l.verticalAlign="bottom":l.y=(l.y||0)+t.plotHeight-e),l}constructor(t,i,s){super(t,i,s,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let s=this.annotation.chart,n=this.annotation.userOptions,e=s.annotations.indexOf(this.annotation),o=s.options.annotations[e];var a;s.inverted&&(a=t,t=i,i=a),this.options.x+=t,this.options.y+=i,o[this.collection][this.index].x=this.options.x,o[this.collection][this.index].y=this.options.y,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y}render(t){let i=this.options,s=this.attrsFromOptions(i),n=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(s).add(t),this.annotation.chart.styledMode||("contrast"===n.color&&(n.color=this.annotation.chart.renderer.getContrast(-1{e(n,t,i.closeButtonEvents.bind(i))}),e(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),n}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,s=this.closeButton;this.type=void 0,i.innerHTML=n.emptyHTML,0<=i.className.indexOf(t)&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(s),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}}}),i(t,"Extensions/Annotations/Popup/PopupAnnotations.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:p,isFirefox:c}=t,{createElement:d,isArray:u,isObject:x,objectEach:g,pick:l,stableSort:y}=i;function f(n,e,o,t,a,r){let h,l;if(e){let i=this.addInput,s=this.lang;g(t,(t,i)=>{h=""!==o?o+"."+i:i,x(t)&&(!u(t)||u(t)&&x(t[0])?((l=s[i]||i).match(/\d/g)||a.push([!0,l,n]),f.call(this,n,e,h,t,a,!1)):a.push([this,h,"annotation",n,t]))}),r&&(y(a,t=>t[1].match(/format/g)?-1:1),c&&a.reverse(),a.forEach(t=>{!0===t[0]?d("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(p.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},i.apply(t[0],t.splice(1)))}))}}return{addForm:function(n,e,o,a){if(n){let t=this.container,i=this.lang,s=d("h2",{className:"highcharts-popup-main-title"},void 0,t);s.appendChild(p.createTextNode(i[e.langKey]||e.langKey||"")),s=d("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,t);var r=d("div",{className:"highcharts-popup-bottom-row"},void 0,t);f.call(this,s,n,"",e,[],!0),this.addButton(r,a?i.addButton||"Add":i.saveButton||"Save",a?"add":"save",t,o)}},addToolbar:function(t,i,s){let n=this.lang,e=this.container,o=this.showForm,a="highcharts-annotation-toolbar",r=(-1===e.className.indexOf(a)&&(e.className+=" "+a+" highcharts-no-mousewheel"),t&&(e.style.top=t.plotTop+10+"px"),d("p",{className:"highcharts-annotation-label"},void 0,e)),h=(r.setAttribute("aria-label","Annotation type"),r.appendChild(p.createTextNode(l(n[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,""))),this.addButton(e,n.editButton||"Edit","edit",e,()=>{o.call(this,"annotation-edit",t,i,s)}));h.className+=" highcharts-annotation-edit-button",h.style["background-image"]="url("+this.iconsURL+"edit.svg)",(h=this.addButton(e,n.removeButton||"Remove","remove",e,s)).className+=" highcharts-annotation-remove-button",h.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}}}),i(t,"Extensions/Annotations/Popup/PopupIndicators.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(g,t,i,s){var l;let y=t["doc"],o=i["seriesTypes"],{addEvent:f,createElement:m,defined:p,isArray:v,isObject:c,objectEach:A,stableSort:b}=s,r=((t=l=l||{})[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average",{"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]});function a(t){m("div",{className:"highcharts-popup-lhs-col"},void 0,t);t=m("div",{className:"highcharts-popup-rhs-col"},void 0,t);m("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,t)}function d(n,t,i,s){function o(t,i){let s=x.parentNode.children[1];(function(t,i,s,n){var e=i.params||i.options.params;n.innerHTML=g.emptyHTML,m("h3",{className:"highcharts-indicator-title"},void 0,n).appendChild(y.createTextNode(C(i,s).indicatorFullName)),m("input",{type:"hidden",name:"highcharts-type-"+s,value:s},void 0,n),E.call(this,s,"series",t,n,i,i.linkedParent&&i.linkedParent.options.id),e.volumeSeriesID&&E.call(this,s,"volume",t,n,i,i.linkedParent&&e.volumeSeriesID),P.call(this,t,"params",e,s,n)}).call(e,n,t,i,x),s&&(s.style.display="block"),l&&t.options&&m("input",{type:"hidden",name:"highcharts-id-"+i,value:t.options.id},void 0,x).setAttribute("highcharts-data-series-id",t.options.id)}let e=this,a=e.lang,r=t.querySelectorAll(".highcharts-popup-lhs-col")[0],h=t.querySelectorAll(".highcharts-popup-rhs-col")[0],l="edit"===i,p=l?n.series:n.options.plotOptions||{};if(!n&&p)return;let c,d=[],u=(l||v(p)?v(p)&&(d=function(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}.call(this,p)):d=function(t,o){let a,i=this.chart&&this.chart.options.lang,r=i&&i.navigation&&i.navigation.popup&&i.navigation.popup.indicatorAliases,h=[];return A(t,(e,t)=>{var i=e&&e.options;if(e.params||i&&i.params){let{indicatorFullName:s,indicatorType:n}=C(e,t);if(o){let t=RegExp(o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),i=r&&r[n]&&r[n].join(" ")||"";(s.match(t)||i.match(t))&&(a={indicatorFullName:s,indicatorType:n,series:e},h.push(a))}else a={indicatorFullName:s,indicatorType:n,series:e},h.push(a)}}),h}.call(this,p,s),b(d,(t,i)=>{t=t.indicatorFullName.toLowerCase(),i=i.indicatorFullName.toLowerCase();return t{let{indicatorFullName:i,indicatorType:s,series:n}=t,e=(c=m("li",{className:"highcharts-indicator-list"},void 0,u),m("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,c));["click","touchstart"].forEach(t=>{f(e,t,function(){o(n,s)})})}),0{var s,n=a+"."+i;p(t)&&n&&(c(t)&&(e.call(this,n,r,h,{}),P.call(this,o,n,t,r,h)),n in l?(s=u.call(this,r,n,h),x.call(this,o,a,s,r,i,t)):"params.volumeSeriesID"==n||v(t)||e.call(this,n,r,h,{value:t,type:"number"}))})}}function h(i,t){function s(t){d.call(n,i,n.container,"add",t)}let n=this,e=t.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,a=m("div",{className:"highcharts-input-wrapper"},void 0,e),r=this.addInput("searchIndicators","input",a,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),h=m("a",{textContent:o},void 0,a);r.classList.add("highcharts-input-search-indicators"),h.classList.add("clear-filter-button"),f(r,"input",function(){s(this.value),this.value.length?h.style.display="inline-block":h.style.display="none"}),["click","touchstart"].forEach(t=>{f(h,t,function(){r.value="",s(""),h.style.display="none"})})}function u(t,i,s){var n=i.split("."),n=n[n.length-1],t="highcharts-"+i+"-type-"+t,e=this.lang;m("label",{htmlFor:t},null,s).appendChild(y.createTextNode(e[n]||i));let o=m("select",{name:t,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return o.setAttribute("id","highcharts-select-"+i),o}function x(t,n,e,i,s,o,a){"series"===n||"volume"===n?t.series.forEach(t=>{var i=t.options,s=i.name||i.params?t.name:i.id||"";"highcharts-navigator-series"!==i.id&&i.id!==(a&&a.options&&a.options.id)&&(p(o)||"volume"!==n||"column"!==t.type||(o=i.id),m("option",{value:i.id},void 0,e).appendChild(y.createTextNode(s)))}):i&&s&&r[s+"-"+i].forEach(t=>{m("option",{value:t},void 0,e).appendChild(y.createTextNode(t))}),p(o)&&(e.value=o)}function C(t,i){let s=t.options,n=o[i]&&o[i].prototype.nameBase||i.toUpperCase(),e=i;return s&&s.type&&(e=t.options.type,n=t.name),{indicatorFullName:n,indicatorType:e}}function E(i,s,n,e,o,a){if(n){let t=u.call(this,i,s,e);x.call(this,n,s,t,void 0,void 0,void 0,o),p(a)&&(t.value=a)}}return{addForm:function(i,t,s){var n,e=this.lang;if(i){this.tabs.init.call(this,i);let t=this.container.querySelectorAll(".highcharts-tab-item-content");a(t[0]),h.call(this,i,t[0]),d.call(this,i,t[0],"add"),n=t[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(n,e.addButton||"add","add",n,s),a(t[1]),d.call(this,i,t[1],"edit"),n=t[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(n,e.saveButton||"save","edit",n,s),this.addButton(n,e.removeButton||"remove","remove",n,s)}},getAmount:function(){let i=0;return this.series.forEach(t=>{(t.params||t.options.params)&&i++}),i}}}),i(t,"Extensions/Annotations/Popup/PopupTabs.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let a=t["doc"],{addEvent:e,createElement:r}=i;function s(){return r("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function n(t,i){let s=this.container,n=this.lang,e="highcharts-tab-item",o=(0===i&&(e+=" highcharts-tab-disabled"),r("button",{className:e},void 0,s));return o.appendChild(a.createTextNode(n[t+"Button"]||t)),o.setAttribute("highcharts-data-tab-type",t),o}function o(t,i){let s=this.container.querySelectorAll(".highcharts-tab-item-content");t.className+=" highcharts-tab-item-active",s[i].className+=" highcharts-tab-item-show"}function h(t){let n=this;this.container.querySelectorAll(".highcharts-tab-item").forEach((i,s)=>{0===t&&"edit"===i.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(t=>{e(i,t,function(){(function(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{let i=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(i){i.cancelClick=!0;let t=h(l,"click",()=>{setTimeout(()=>{i.cancelClick=!1},0),t()})}})}addInput(t,i,s,n){let e=t.split("."),o=e[e.length-1],a=this.lang,r="highcharts-"+i+"-"+u(n.htmlFor,o),h=(o.match(/^\d+$/)||p("label",{htmlFor:r,className:n.labelClassName},void 0,s).appendChild(l.createTextNode(a[o]||o)),p("input",{name:r,value:n.value,type:n.type,className:"highcharts-popup-field"},void 0,s));return h.setAttribute("highcharts-data-name",t),h}closeButtonEvents(){var t;this.chart?(t=this.chart.navigationBindings,d(t,"closePopup"),t&&t.selectedButtonElement&&d(t,"deselectButton",{button:t.selectedButtonElement})):super.closeButtonEvents()}addButton(t,i,s,n,e){let o=p("button",void 0,void 0,t);return o.appendChild(l.createTextNode(i)),e&&["click","touchstart"].forEach(t=>{h(o,t,()=>(this.closePopup(),e(function(t,i){let s=Array.prototype.slice.call(t.querySelectorAll("input")),n=Array.prototype.slice.call(t.querySelectorAll("select")),e=t.querySelectorAll("#highcharts-select-series > option:checked")[0],o=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:e&&e.getAttribute("value")||"",fields:{}};return s.forEach(t=>{var i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),n.forEach(t=>{let i=t.id;var s;"highcharts-select-series"!==i&&"highcharts-select-volume"!==i&&(s=i.split("highcharts-select-")[1],a.fields[s]=t.value)}),o&&(a.fields["params.volumeSeriesID"]=o.getAttribute("value")||""),a}(n,s))))}),o}showForm(t,i,s,n){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,s,n),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,s,n),"annotation-edit"===t&&this.annotations.addForm.call(this,i,s,n),"flag"===t&&this.annotations.addForm.call(this,i,s,n,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}return c(x.prototype,{annotations:n,indicators:e,tabs:o}),x}),i(t,"Extensions/Annotations/Popup/PopupComposition.js",[t["Core/Globals.js"],t["Extensions/Annotations/Popup/Popup.js"],t["Core/Utilities.js"]],function(t,i,s){let n=t["composed"],{addEvent:e,pushUnique:o,wrap:a}=s;function r(){this.popup&&this.popup.closePopup()}function h(t){this.popup||(this.popup=new i(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/11.4.8/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function l(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(t,i){o(n,"Popup")&&(e(t,"closePopup",r),e(t,"showPopup",h),a(i.prototype,"onContainerMouseDown",l))}}}),i(t,"Extensions/Annotations/Annotation.js",[t["Core/Animation/AnimationUtilities.js"],t["Extensions/Annotations/AnnotationChart.js"],t["Extensions/Annotations/AnnotationDefaults.js"],t["Extensions/Annotations/Controllables/ControllableRect.js"],t["Extensions/Annotations/Controllables/ControllableCircle.js"],t["Extensions/Annotations/Controllables/ControllableEllipse.js"],t["Extensions/Annotations/Controllables/ControllablePath.js"],t["Extensions/Annotations/Controllables/ControllableImage.js"],t["Extensions/Annotations/Controllables/ControllableLabel.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/ControlTarget.js"],t["Extensions/Annotations/EventEmitter.js"],t["Extensions/Annotations/MockPoint.js"],t["Extensions/Annotations/Popup/PopupComposition.js"],t["Core/Utilities.js"]],function(t,e,i,s,n,o,a,r,h,l,p,c,d,u,x){let g=t["getDeferredAnimation"],{destroyObjectProperties:y,erase:f,fireEvent:m,merge:v,pick:A,splat:b}=x;function P(i,n){let e={};return["labels","shapes"].forEach(t=>{let s=i[t];s&&(n[t]?e[t]=b(n[t]).map(function(t,i){return v(s[i],t)}):e[t]=i[t])}),e}class C extends c{static compose(t,i,s,n){e.compose(C,t,s),h.compose(n),a.compose(t,n),i.compose(C,t),u.compose(i,s)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=v(this.defaultOptions,i),this.userOptions=i;i=P(this.options,i);this.options.labels=i.labels,this.options.shapes=i.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let s=this.options.labels||[];s.forEach((t,i)=>{t=this.initLabel(t,i);v(!0,s[i],t.options)})}addShapes(){let s=this.options.shapes||[];s.forEach((t,i)=>{t=this.initShape(t,i);v(!0,s[i],t.options)})}destroy(){function t(t){t.destroy()}var i=this.chart;this.labels.forEach(t),this.shapes.forEach(t),this.clipXAxis=null,this.clipYAxis=null,f(i.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),y(this,i)}destroyItem(t){f(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);var s=P(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,s=this.index){var n=this.chart,e=this.options.animation;this.index=s,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=g(n,e)}initLabel(t,i){let s=new h(this,v(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=v(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),n=new C.shapesMap[s.type](this,s,i);return n.itemType="shape",this.shapes.push(n),n}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(s,n){if(s.linkPoints(),s.shouldBeDrawn()){if(s.graphic||this.renderItem(s),s.redraw(A(n,!0)&&s.graphic.placed),s.points.length){n=s;let t=n.graphic,i=n.points.some(t=>!1!==t.series.visible&&!1!==t.visible);t&&(i?"hidden"===t.visibility&&t.show():t.hide())}}else this.destroyItem(s)}redrawItems(t,i){let s=t.length;for(;s--;)this.redrawItem(t[s],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let s=this.chart.xAxis,n=this.chart.yAxis,t=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((t,i)=>{i=i&&(i.point||i.points&&i.points[0]);return[s[i&&i.xAxis]||t[0],n[i&&i.yAxis]||t[1]]},[]);this.clipXAxis=t[0],this.clipYAxis=t[1]}setControlPointsVisibility(i){function t(t){t.setControlPointsVisibility(i)}this.controlPoints.forEach(t=>{t.setVisibility(i)}),this.shapes.forEach(t),this.labels.forEach(t)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=v(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,n=A(t,!i.visible);this.graphic.attr("visibility",n?"inherit":"hidden"),n||(this.shapes.forEach(t=function(t){t.setControlPointsVisibility(n)}),this.labels.forEach(t),s.activeAnnotation===this&&s.popup&&"annotation-toolbar"===s.popup.type&&m(s,"closePopup")),i.visible=n}update(t,i){let s=this.chart,n=P(this.userOptions,t),e=s.annotations.indexOf(this),o=v(!0,this.userOptions,t);o.labels=n.labels,o.shapes=n.shapes,this.destroy(),this.initProperties(s,o),this.init(s,o),s.options.annotations[e]=this.options,this.isUpdating=!0,A(i,!0)&&s.drawAnnotations(),m(this,"afterUpdate"),this.isUpdating=!1}}return C.ControlPoint=l,C.MockPoint=d,C.shapesMap={rect:s,circle:n,ellipse:o,path:a,image:r},C.types={},C.prototype.defaultOptions=i,C.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],p.compose(C),C}),i(t,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;{var i=t=t||{};i.compose=function(t){return t.navigation||(t.navigation=new s(t)),t};class s{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(i,s){this.updates.forEach(t=>{t.call(this.chart,i,s)})}}i.Additions=s}return t}),i(t,"Extensions/Annotations/NavigationBindingsUtilities.js",[t["Core/Utilities.js"]],function(t){let{defined:e,isNumber:o,pick:a}=t,r={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:r,getAssignedAxis:function(t){return t.filter(t=>{var i=t.axis.getExtremes(),s=i.min,i=i.max,n=a(t.axis.minPointOffset,0);return o(s)&&o(i)&&t.value>=s-n&&t.value<=i+n&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let s=r[t],n=typeof i;return{string:"text",number:"number",boolean:"checkbox"}[n=e(s)?s:n]}}}),i(t,"Extensions/Annotations/NavigationBindingsDefaults.js",[t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i){let h=t["getAssignedAxis"],{isNumber:a,merge:o}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&h(t.xAxis),t=t&&h(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:i.value,y:t.value,xAxis:i.axis.index,yAxis:t.axis.index},r:5}]},s.annotationsOptions,s.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;var n,e,o=i.options.shapes,o=o&&o[0]&&o[0].point||{};a(o.xAxis)&&a(o.yAxis)&&(n=this.chart.inverted,e=this.chart.xAxis[o.xAxis].toPixels(o.x),o=this.chart.yAxis[o.yAxis].toPixels(o.y),s=Math.max(Math.sqrt(Math.pow(n?o-t.chartX:e-t.chartX,2)+Math.pow(n?e-t.chartY:o-t.chartY,2)),5)),i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&h(t.xAxis),t=t&&h(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:i.axis.index,yAxis:t.axis.index,points:[{x:i.value,y:t.value},{x:i.value,y:t.value}],ry:1}]},s.annotationsOptions,s.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let s=i.shapes[0],n=s.getAbsolutePosition(s.points[1]);s.translatePoint(t.chartX-n.x,t.chartY-n.y,1),s.redraw(!1)},function(t,i){let s=i.shapes[0],n=s.getAbsolutePosition(s.points[0]),e=s.getAbsolutePosition(s.points[1]),o=s.getDistanceFromLine(n,e,t.chartX,t.chartY),a=s.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));s.setYRadius(r),s.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i,s,n,t=this.chart.pointer?.getCoordinates(t),e=t&&h(t.xAxis),t=t&&h(t.yAxis);if(e&&t)return i=e.value,s=t.value,e=e.axis.index,t=t.axis.index,n=this.chart.options.navigation,this.chart.addAnnotation(o({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:e,yAxis:t,x:i,y:s},{xAxis:e,yAxis:t,x:i,y:s},{xAxis:e,yAxis:t,x:i,y:s},{xAxis:e,yAxis:t,x:i,y:s},{command:"Z"}]}]},n.annotationsOptions,n.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,n=s&&s[0]&&s[0].points||[],e=this.chart.pointer?.getCoordinates(t),o=e&&h(e.xAxis),a=e&&h(e.yAxis);var r;o&&a&&(t=o.value,r=a.value,n[1].x=t,n[2].x=t,n[2].y=r,n[3].y=r,i.update({shapes:[{points:n}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&h(t.xAxis),t=t&&h(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:i.axis.index,yAxis:t.axis.index,x:i.value,y:t.value}}]},s.annotationsOptions,s.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),i(t,"Extensions/Annotations/NavigationBindings.js",[t["Core/Chart/ChartNavigationComposition.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Extensions/Annotations/NavigationBindingsDefaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i,s,e,n,o,a){let r=i["setOptions"],p=s["format"],{composed:h,doc:l,win:c}=e,{getAssignedAxis:d,getFieldType:u}=o,{addEvent:x,attr:g,defined:y,fireEvent:f,isArray:m,isFunction:v,isNumber:A,isObject:b,merge:P,objectEach:C,pick:E,pushUnique:O}=a;function M(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function k(){this.navigationBindings&&this.navigationBindings.destroy()}function w(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new L(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function j(){let t=this.navigationBindings,a="highcharts-disabled-btn";if(this&&t){let o=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(o=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let i=this.navigationBindings.container[0];C(t.boundClassNames,(n,t)=>{var e=i.querySelectorAll("."+t);if(e)for(let s=0;s{N(t)}),x(i,"destroy",k),x(i,"load",w),x(i,"render",j),x(L,"closePopup",T),x(L,"deselectButton",B),r(n))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=l.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){t=this.chart.pointer?.getCoordinates(t);return[t&&d(t.xAxis),t&&d(t.yAxis)]}initEvents(){let n=this,i=n.chart,t=n.container,s=n.options;n.boundClassNames={},C(s.bindings||{},t=>{n.boundClassNames[t.className]=t}),[].forEach.call(t,s=>{n.eventsToUnbind.push(x(s,"click",t=>{let i=n.getButtonEvents(s,t);i&&!i.button.classList.contains("highcharts-disabled-btn")&&n.bindingsButtonClick(i.button,i.events,t)}))}),C(s.events||{},(t,i)=>{v(t)&&n.eventsToUnbind.push(x(n,i,t,{passive:!1}))}),n.eventsToUnbind.push(x(i.container,"click",function(t){!i.cancelClick&&i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&n.bindingsChartClick(this,t)})),n.eventsToUnbind.push(x(i.container,e.isTouchDevice?"touchmove":"mousemove",function(t){n.bindingsContainerMouseMove(this,t)},e.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,s){let n=this.chart,e=n.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),f(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&n.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,f(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,s),(i.start||i.steps)&&n.renderer.boxWrapper.addClass("highcharts-draw-mode")):(n.stockTools&&t.classList.remove("highcharts-active"),e.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let s=this.activeAnnotation,n=this.selectedButton,e=t.renderer.boxWrapper;s&&(s.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let s=c.Element.prototype,n=s.matches||s.msMatchesSelector||s.webkitMatchesSelector,e=null;if(s.closest)e=s.closest.call(t,i);else do{if(n.call(t,i))return t}while(null!==(t=t.parentElement||t.parentNode)&&1===t.nodeType);return e}(i.target,".highcharts-popup")?s.cancelClick&&setTimeout(()=>{s.cancelClick=!1},0):f(this,"closePopup")),n&&n.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,n.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]:(f(this,"deselectButton",{button:this.selectedButtonElement}),e.removeClass("highcharts-draw-mode"),n.end&&n.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=n.start.call(this,i),this.currentUserDetails&&n.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]):(f(this,"deselectButton",{button:this.selectedButtonElement}),e.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,n.end&&n.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,s){return C(t,(e,t)=>{let i=parseFloat(e),o=t.split("."),a=o.length-1;if("undefined"!==(e=!A(i)||e.match(/px|em/g)||t.match(/format/g)?e:i)){let n=s;o.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let t=E(o[s+1],"");a===s?n[i]=e:(n[i]||(n[i]=t.match(/\d/g)?[]:{}),n=n[i])}})}}),s}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(a){let i=a.options,n=L.annotationsEditable,r=n.nestedOptions,e=E(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),h=L.annotationsNonEditable[i.langKey]||[],o={langKey:i.langKey,type:e};function l(t,n,s,e,i){let o;s&&y(t)&&-1===h.indexOf(n)&&(0<=(s.indexOf&&s.indexOf(n))||s[n]||!0===s)&&(m(t)?(e[n]=[],t.forEach((t,s)=>{b(t)?(e[n][s]={},C(t,(t,i)=>{l(t,i,r[n],e[n][s],n)})):l(t,0,r[n],e[n],n)})):b(t)?(o={},m(e)?(e.push(o),o[n]={},o=o[n]):e[n]=o,C(t,(t,i)=>{l(t,i,0===n?s:r[n],o,n)})):"format"===n?e[n]=[p(t,a.labels[0].points[0]).toString(),"text"]:m(e)?e.push([t,u(i,t)]):e[n]=[t,u(n,t)])}return C(i,(t,s)=>{"typeOptions"===s?(o[s]={},C(i[s],(t,i)=>{l(t,i,r,o[s],i)})):l(t,s,n[e],o,s)}),o}getClickedClassNames(t,i){let s=i.target,n=[],e;for(;s&&s.tagName&&((e=g(s,"class"))&&(n=n.concat(e.split(" ").map(t=>[t,s]))),(s=s.parentNode)!==t););return n}getButtonEvents(t,i){let s,n=this;return this.getClickedClassNames(t,i).forEach(t=>{n.boundClassNames[t[0]]&&!s&&(s={events:n.boundClassNames[t[0]],button:t[1]})}),s}update(t){this.options=P(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return L.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},L.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},L}),i(t,"masters/modules/annotations.src.js",[t["Core/Globals.js"],t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/NavigationBindings.js"]],function(t,i,s){return t.Annotation=t.Annotation||i,t.NavigationBindings=t.NavigationBindings||s,t.Annotation.compose(t.Chart,t.NavigationBindings,t.Pointer,t.SVGRenderer),t}),i(t,"Extensions/Annotations/Types/BasicAnnotation.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,s,i){let n=i["merge"];class e extends t{addControlPoints(){let t=this.options,i=e.basicControlPoints,s=this.basicType;(t.labels||t.shapes||[]).forEach(t=>{t.controlPoints=i[s]})}init(){let t=this.options;var i;t.shapes?(delete t.labelOptions,i=t.shapes[0].type,t.shapes[0].className=(t.shapes[0].className||"")+" highcharts-basic-shape",this.basicType=i&&"path"!==i?i:"rectangle"):(delete t.shapes,this.basicType="label"),super.init.apply(this,arguments)}}return e.basicControlPoints={label:[{symbol:"triangle-down",positioner:function(t){if(!t.graphic.placed)return{x:0,y:-9e7};t=s.pointToPixels(t.points[0]);return{x:t.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){t=this.mouseMoveToTranslation(t);i.translatePoint(t.x,t.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}},{symbol:"square",positioner:function(t){return t.graphic.placed?{x:t.graphic.alignAttr.x-(this.graphic.width||0)/2,y:t.graphic.alignAttr.y-(this.graphic.height||0)/2}:{x:0,y:-9e7}},events:{drag:function(t,i){t=this.mouseMoveToTranslation(t);i.translate(t.x,t.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}}],rectangle:[{positioner:function(t){t=s.pointToPixels(t.points[2]);return{x:t.x-4,y:t.y-4}},events:{drag:function(t,i){let s=i.annotation,n=this.chart.pointer?.getCoordinates(t),e=i.options.points,o=s.userOptions.shapes,a=s.clipXAxis?.index||0,r=s.clipYAxis?.index||0;var h;n&&(t=n.xAxis[a].value,h=n.yAxis[r].value,e[1].x=t,e[2].x=t,e[2].y=h,e[3].y=h,o&&o[0]&&(o[0].points=i.options.points)),s.redraw(!1)}}}],circle:[{positioner:function(t){var i=s.pointToPixels(t.points[0]),t=t.options.r;return{x:i.x+t*Math.cos(Math.PI/4)-(this.graphic.width||0)/2,y:i.y+t*Math.sin(Math.PI/4)-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.annotation,n=this.mouseMoveToTranslation(t),e=s.userOptions.shapes;i.setRadius(Math.max(i.options.r+n.y/Math.sin(Math.PI/4),5)),e&&e[0]&&(e[0].r=i.options.r,e[0].point=i.options.point),i.redraw(!1)}}}],ellipse:[{positioner:function(t){t=t.getAbsolutePosition(t.points[0]);return{x:t.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){var s=i.getAbsolutePosition(i.points[0]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,0),i.redraw(!1)}}},{positioner:function(t){t=t.getAbsolutePosition(t.points[1]);return{x:t.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){var s=i.getAbsolutePosition(i.points[1]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,1),i.redraw(!1)}}},{positioner:function(t){var i=t.getAbsolutePosition(t.points[0]),s=t.getAbsolutePosition(t.points[1]),t=t.getAttrs(i,s);return{x:t.cx-(this.graphic.width||0)/2+t.ry*Math.sin(t.angle*Math.PI/180),y:t.cy-(this.graphic.height||0)/2-t.ry*Math.cos(t.angle*Math.PI/180)}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[0]),n=i.getAbsolutePosition(i.points[1]),e=i.getDistanceFromLine(s,n,t.chartX,t.chartY),o=i.getYAxis(),a=Math.abs(o.toValue(0)-o.toValue(e));i.setYRadius(a),i.redraw(!1)}}}]},e.prototype.defaultOptions=n(t.prototype.defaultOptions,{}),t.types.basicAnnotation=e}),i(t,"Extensions/Annotations/Types/CrookedLine.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,s,n,i){let e=i["merge"];class o extends t{setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}getPointsOptions(){let i=this.options.typeOptions;return(i.points||[]).map(t=>(t.xAxis=i.xAxis,t.yAxis=i.yAxis,t))}getControlPointsOptions(){return this.getPointsOptions()}addControlPoints(){this.getControlPointsOptions().forEach(function(t,i){i=new s(this.chart,this,e(this.options.controlPointOptions,t.controlPoint),i);this.controlPoints.push(i),t.controlPoint=i.options},this)}addShapes(){let t=this.options.typeOptions,i=this.initShape(e(t.line,{type:"path",className:"highcharts-crooked-lines",points:this.points.map((t,i)=>function(t){return t.annotation.points[i]})}),0);t.line=i.options}}return o.prototype.defaultOptions=e(t.prototype.defaultOptions,{typeOptions:{xAxis:0,yAxis:0,line:{fill:"none"}},controlPointOptions:{positioner:function(t){var i=this.graphic,t=n.pointToPixels(t.points[this.index]);return{x:t.x-(i.width||0)/2,y:t.y-(i.height||0)/2}},events:{drag:function(s,n){if(n.chart.isInsidePlot(s.chartX-n.chart.plotLeft,s.chartY-n.chart.plotTop,{visiblePlotOnly:!0})){let t=this.mouseMoveToTranslation(s),i=n.options.typeOptions;n.translatePoint(t.x,t.y,this.index),i.points[this.index].x=n.points[this.index].x,i.points[this.index].y=n.points[this.index].y,n.redraw(!1)}}}}}),t.types.crookedLine=o}),i(t,"Extensions/Annotations/Types/ElliottWave.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Core/Utilities.js"]],function(t,i,s){let n=s["merge"];class e extends i{addLabels(){this.getPointsOptions().forEach((t,i)=>{var s=this.options.typeOptions,s=this.initLabel(n(t.label,{text:s.labels[i],point:function(t){return t.annotation.points[i]}}),!1);t.label=s.options})}}return e.prototype.defaultOptions=n(i.prototype.defaultOptions,{typeOptions:{labels:["(0)","(A)","(B)","(C)","(D)","(E)"],line:{strokeWidth:1}},labelOptions:{align:"center",allowOverlap:!0,crop:!0,overflow:"none",type:"rect",backgroundColor:"none",borderWidth:0,y:-5}}),t.types.elliottWave=e}),i(t,"Extensions/Annotations/Types/Tunnel.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,n,e,o,i){let a=i["merge"];class s extends e{getPointsOptions(){let t=e.prototype.getPointsOptions.call(this),i=this.options.typeOptions.yAxis||0,s=this.chart.yAxis[i];var n;return t[2]=this.heightPointOptions(t[1]),t[3]=this.heightPointOptions(t[0]),s&&s.logarithmic&&(n=s.toPixels(t[2].y)-s.toPixels(t[1].y),n=s.toPixels(t[0].y)+n,t[3].y=s.toValue(n)),t}getControlPointsOptions(){return this.getPointsOptions().slice(0,2)}heightPointOptions(t){let i=a(t),s=this.options.typeOptions;return i.y+=s.height,i}addControlPoints(){e.prototype.addControlPoints.call(this);let t=this.options,i=t.typeOptions,s=new n(this.chart,this,a(t.controlPointOptions,i.heightControlPoint),2);this.controlPoints.push(s),i.heightControlPoint=s.options}addShapes(){this.addLine(),this.addBackground()}addLine(){var t=this.initShape(a(this.options.typeOptions.line,{type:"path",points:[this.points[0],this.points[1],function(t){let i=o.pointToOptions(t.annotation.points[2]);return i.command="M",i},this.points[3]],className:"highcharts-tunnel-lines"}),0);this.options.typeOptions.line=t.options}addBackground(){var t=this.initShape(a(this.options.typeOptions.background,{type:"path",points:this.points.slice(),className:"highcharts-tunnel-background"}),1);this.options.typeOptions.background=t.options}translateSide(t,i,s){s=Number(s);this.translatePoint(t,i,s),this.translatePoint(t,i,0===s?3:2)}translateHeight(t){this.translatePoint(0,t,2),this.translatePoint(0,t,3),this.options.typeOptions.height=this.points[3].y-this.points[0].y,this.userOptions.typeOptions.height=this.options.typeOptions.height}}return s.prototype.defaultOptions=a(e.prototype.defaultOptions,{typeOptions:{background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},line:{strokeWidth:1},height:-2,heightControlPoint:{positioner:function(t){var i=o.pointToPixels(t.points[2]),t=o.pointToPixels(t.points[3]),s=(i.x+t.x)/2;return{x:s-(this.graphic.width||0)/2,y:(t.y-i.y)/(t.x-i.x)*(s-i.x)+i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})&&(i.translateHeight(this.mouseMoveToTranslation(t).y),i.redraw(!1))}}}},controlPointOptions:{events:{drag:function(t,i){i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})&&(t=this.mouseMoveToTranslation(t),i.translateSide(t.x,t.y,!!this.index),i.redraw(!1))}}}}),t.types.tunnel=s}),i(t,"Extensions/Annotations/Types/InfinityLine.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(t,i,f,s){let n=s["merge"];class m extends i{static edgePoint(e,o){return function(t){let i=t.annotation,s=i.options.typeOptions.type,n=i.points;return"horizontalLine"!==s&&"verticalLine"!==s||(n=[n[0],new f(i.chart,n[0].target,{x:n[0].x+ +("horizontalLine"===s),y:n[0].y+ +("verticalLine"===s),xAxis:n[0].options.xAxis,yAxis:n[0].options.yAxis})]),m.findEdgePoint(n[e],n[o])}}static findEdgeCoordinate(t,i,s,n){var e="x"===s?"y":"x";return(i[s]-t[s])*(n-t[e])/(i[e]-t[e])+t[s]}static findEdgePoint(t,i){var s;let n=t.series.chart,e=t.series.xAxis,o=i.series.yAxis,a=f.pointToPixels(t),r=f.pointToPixels(i),h=r.x-a.x,l=r.y-a.y,p=e.left,c=p+e.width,d=o.top,u=d+o.height,x=h<0?p:c,g=l<0?d:u,y={x:0==h?a.x:x,y:0==l?a.y:g};return 0!=h&&0!=l&&(i=m.findEdgeCoordinate(a,r,"y",x),s=m.findEdgeCoordinate(a,r,"x",g),d<=i&&i<=u?(y.x=x,y.y=i):(y.x=s,y.y=g)),y.x-=n.plotLeft,y.y-=n.plotTop,t.series.chart.inverted&&(i=y.x,y.x=y.y,y.y=i),y}addShapes(){let t=this.options.typeOptions,i=[this.points[0],m.endEdgePoint];t.type.match(/line/gi)&&(i[0]=m.startEdgePoint);var s=this.initShape(n(t.line,{type:"path",points:i,className:"highcharts-infinity-lines"}),0);t.line=s.options}}return m.endEdgePoint=m.edgePoint(0,1),m.startEdgePoint=m.edgePoint(1,0),m.prototype.defaultOptions=n(i.prototype.defaultOptions,{}),t.types.infinityLine=m}),i(t,"Extensions/Annotations/Types/TimeCycles.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/Types/CrookedLine.js"],t["Extensions/Annotations/ControlPoint.js"],t["Core/Utilities.js"]],function(t,i,s,n){let{merge:e,isNumber:x,defined:o}=n;class a extends i{init(t,i,s){o(i.yAxis)&&i.points.forEach(t=>{t.yAxis=i.yAxis}),o(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}setPath(){this.shapes[0].options.d=this.getPath()}getPath(){return[["M",this.startX,this.y]].concat(function(i,s,n,e){let o=[];for(let t=1;t<=s;t++)o.push(["A",i/2,i/2,0,1,1,n+t*i,e]);return o}(this.pixelInterval,this.numberOfCircles,this.startX,this.y))}addShapes(){let t=this.options.typeOptions;this.setPathProperties();var i=this.initShape(e(t.line,{type:"path",d:this.getPath(),points:this.options.points,className:"highcharts-timecycles-lines"}),0);t.line=i.options}addControlPoints(){let i=this.options,t=i.typeOptions;i.controlPointOptions.style.cursor=this.chart.inverted?"ns-resize":"ew-resize",t.controlPointOptions.forEach(t=>{t=e(i.controlPointOptions,t),t=new s(this.chart,this,t,0);this.controlPoints.push(t)})}setPathProperties(){var l,p,c,d=this.options.typeOptions,u=d.points;if(u){let t=u[0],i=u[1],s=d.xAxis||0,n=d.yAxis||0,e=this.chart.xAxis[s],o=this.chart.yAxis[n],a=t.x,r=t.y,h=i.x;a&&h&&(u=x(r)?o.toPixels(r):o.top+o.height,d=x(a)?e.toPixels(a):e.left,l=x(h)?e.toPixels(h):e.left+30,p=e.len,l=Math.round(Math.max(Math.abs(l-d),2)),p=Math.floor(p/l)+2,c=(Math.floor((d-e.left)/l)+1)*l,this.startX=d-c,this.y=u,this.pixelInterval=l,this.numberOfCircles=p)}}redraw(t){this.setPathProperties(),this.setPath(),super.redraw(t)}}return a.prototype.defaultOptions=e(i.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(t){var i=t.points[0];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){var s=i.anchor(i.points[0]).absolutePosition;i.translatePoint(t.chartX-s.x,0,0),i.redraw(!1)}}},{positioner:function(t){var i=t.points[1];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){var s=i.anchor(i.points[1]).absolutePosition;i.translatePoint(t.chartX-s.x,0,1),i.redraw(!1)}}}]}}),t.types.timeCycles=a}),i(t,"Extensions/Annotations/Types/Fibonacci.js",[t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/MockPoint.js"],t["Extensions/Annotations/Types/Tunnel.js"],t["Core/Utilities.js"]],function(t,a,i,s){let e=s["merge"];function o(o,a){return function(){var t,i=this.annotation;if(!i.startRetracements||!i.endRetracements)return[];let s=this.anchor(i.startRetracements[o]).absolutePosition,n=this.anchor(i.endRetracements[o]).absolutePosition,e=[["M",Math.round(s.x),Math.round(s.y)],["L",Math.round(n.x),Math.round(n.y)]];return a&&(t=this.anchor(i.endRetracements[o-1]).absolutePosition,i=this.anchor(i.startRetracements[o-1]).absolutePosition,e.push(["L",Math.round(t.x),Math.round(t.y)],["L",Math.round(i.x),Math.round(i.y)])),e}}class h extends i{linkPoints(){super.linkPoints(),this.linkRetracementsPoints()}linkRetracementsPoints(){let n=this.points,e=n[0].y-n[3].y,o=n[1].y-n[2].y,a=n[0].x,r=n[1].x;h.levels.forEach((t,i)=>{var s=n[0].y-e*t,t=n[1].y-o*t,i=this.options.typeOptions.reversed?h.levels.length-i-1:i;this.startRetracements=this.startRetracements||[],this.endRetracements=this.endRetracements||[],this.linkRetracementPoint(i,a,s,this.startRetracements),this.linkRetracementPoint(i,r,t,this.endRetracements)})}linkRetracementPoint(t,i,s,n){let e=n[t],o=this.options.typeOptions;e?(e.options.x=i,e.options.y=s,e.refresh()):n[t]=new a(this.chart,this,{x:i,y:s,xAxis:o.xAxis,yAxis:o.yAxis})}addShapes(){h.levels.forEach(function(t,i){var{backgroundColors:s,lineColor:n,lineColors:e}=this.options.typeOptions;this.initShape({type:"path",d:o(i),stroke:e[i]||n,className:"highcharts-fibonacci-line"},i),0Max: "+this.max+"
    Average: "+this.average+"
    Bins: "+this.bins}function g(t,i,s,n){return{xAxisMin:Math.min(i,t),xAxisMax:Math.max(i,t),yAxisMin:Math.min(n,s),yAxisMax:Math.max(n,s)}}function x(t,i,s){return t.toValue(t.toPixels(i)+s)}function r(t){var i=this.options.typeOptions,s=this.chart.xAxis[i.xAxis],i=this.chart.yAxis[i.yAxis],n=this.offsetX,e=this.offsetY;this.xAxisMin=x(s,this.startXMin,n),this.xAxisMax=x(s,this.startXMax,n),this.yAxisMin=x(i,this.startYMin,e),this.yAxisMax=x(i,this.startYMax,e),this.min=function(){let t=this.chart.series,i=g(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=1/0,n=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.yi.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,n=!0)})}),s=n?s:""}.call(this),this.max=function(){let t=this.chart.series,i=g(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=-1/0,n=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.y>s&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,n=!0)})}),s=n?s:""}.call(this),this.average=function(){let t="";return t=""!==this.max&&""!==this.min?(this.max+this.min)/2:t}.call(this),this.bins=function(){let t=this.chart.series,i=g(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=0,n=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s++,n=!0)})}),s=n?s:""}.call(this),t&&this.resize(0,0)}function h(t,i,s,n,e){var o=this.options.typeOptions,a=o.selectType,r=this.chart.xAxis[o.xAxis],o=this.chart.yAxis[o.yAxis],h=this.startXMin,l=this.startXMax,p=this.startYMin,c=this.startYMax,d=this.offsetX,u=this.offsetY;i&&("x"===a?0===s?this.startXMin=x(r,h,n):this.startXMax=x(r,l,n):"y"===a?0===s?this.startYMin=x(o,p,e):this.startYMax=x(o,c,e):(this.startXMax=x(r,l,n),this.startYMax=x(o,c,e))),t&&(this.startXMin=x(r,h,d),this.startXMax=x(r,l,d),this.startYMin=x(o,p,u),this.startYMax=x(o,c,u),this.offsetX=0,this.offsetY=0),this.options.typeOptions.point={x:this.startXMin,y:this.startYMin},this.userOptions.typeOptions.point={x:this.startXMin,y:this.startYMin}}class s extends t{init(t,i,s){super.init(t,i,s),this.offsetX=0,this.offsetY=0,this.resizeX=0,this.resizeY=0,function(){let t=this.options.typeOptions,i=this.chart,s=i.inverted,n=i.xAxis[t.xAxis],e=i.yAxis[t.yAxis],o=t.background,a=s?o.height:o.width,r=s?o.width:o.height,h=t.selectType,l=s?n.left:e.top,p=s?e.top:n.left;this.startXMin=t.point.x,this.startYMin=t.point.y,c(a)?this.startXMax=this.startXMin+a:this.startXMax=x(n,this.startXMin,parseFloat(a)),c(r)?this.startYMax=this.startYMin-r:this.startYMax=x(e,this.startYMin,parseFloat(r)),"x"===h?(this.startYMin=e.toValue(l),this.startYMax=e.toValue(l+e.len)):"y"===h&&(this.startXMin=n.toValue(p),this.startXMax=n.toValue(p+n.len))}.call(this),this.addValues(),this.addShapes()}setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}pointsOptions(){return this.options.points}shapePointsOptions(){var t=this.options.typeOptions,i=t.xAxis,t=t.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:i,yAxis:t},{x:this.xAxisMax,y:this.yAxisMin,xAxis:i,yAxis:t},{x:this.xAxisMax,y:this.yAxisMax,xAxis:i,yAxis:t},{x:this.xAxisMin,y:this.yAxisMax,xAxis:i,yAxis:t}]}addControlPoints(){let t=this.chart.inverted,i=this.options.controlPointOptions,s=this.options.typeOptions.selectType;o(this.userOptions.controlPointOptions&&this.userOptions.controlPointOptions.style.cursor)||("x"===s?i.style.cursor=t?"ns-resize":"ew-resize":"y"===s&&(i.style.cursor=t?"ew-resize":"ns-resize"));var n=new e(this.chart,this,this.options.controlPointOptions,0);this.controlPoints.push(n),"xy"!==s&&(n=new e(this.chart,this,this.options.controlPointOptions,1),this.controlPoints.push(n))}addValues(t){let s=this.options.typeOptions,i=s.label.formatter;r.call(this,t),s.label.enabled&&(0t.redraw())}translate(i,s){this.shapes.forEach(t=>t.translate(i,s))}}return s.prototype.defaultOptions=f(t.prototype.defaultOptions,{typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"0.7em",color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(t){let i=this.index,s=t.chart,n=t.options,e=n.typeOptions,o=e.selectType,a=n.controlPointOptions,r=s.inverted,h=s.xAxis[e.xAxis],l=s.yAxis[e.yAxis],p=g(t.xAxisMin,t.xAxisMax,t.yAxisMin,t.yAxisMax),c=t.xAxisMax,d=t.yAxisMax,u,x;return"x"===o&&(d=(p.yAxisMax+p.yAxisMin)/2,0===i&&(c=t.xAxisMin)),"y"===o&&(c=p.xAxisMin+(p.xAxisMax-p.xAxisMin)/2,0===i&&(d=t.yAxisMin)),x=r?(u=l.toPixels(d),h.toPixels(c)):(u=h.toPixels(c),l.toPixels(d)),{x:u-a.width/2,y:x-a.height/2}},events:{drag:function(t,i){var t=this.mouseMoveToTranslation(t),s=i.options.typeOptions.selectType,n=this.index,e="y"===s?0:t.x,t="x"===s?0:t.y;i.resize(e,t,n,s),i.resizeX+=e,i.resizeY+=t,i.redraw(!1,!0)}}}}),t.types.measure=s}),i(t,"masters/modules/annotations-advanced.src.js",[t["Core/Globals.js"]],function(t){return t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/annotations.min.js b/assets/js/external/highcharts/modules/annotations.min.js index 9e1ce83..06be9b2 100644 --- a/assets/js/external/highcharts/modules/annotations.min.js +++ b/assets/js/external/highcharts/modules/annotations.min.js @@ -1 +1 @@ -!function(i){"object"==typeof module&&module.exports?module.exports=i.default=i:"function"==typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(t){return i(t),i.Highcharts=t,i}):i("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var t=o?o._modules:{};function i(t,i,s,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,s),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Extensions/Annotations/AnnotationChart.js",[t["Core/Utilities.js"]],function(t){let{addEvent:o,erase:e,find:n,fireEvent:a,pick:r,wrap:l}=t;function h(t,i){let s=this.initAnnotation(t);return this.options.annotations.push(s.options),r(i,!0)&&(s.redraw(),s.graphic.attr({opacity:1})),s}function c(){let p=this;p.plotBoxClip=this.renderer.clipRect(this.plotBox),p.controlPointsGroup=p.renderer.g("control-points").attr({zIndex:99}).clip(p.plotBoxClip).add(),p.options.annotations.forEach((i,t)=>{var s;p.annotations.some(t=>t.options===i)||(s=p.initAnnotation(i),p.options.annotations[t]=s.options)}),p.drawAnnotations(),o(p,"redraw",p.drawAnnotations),o(p,"destroy",function(){p.plotBoxClip.destroy(),p.controlPointsGroup.destroy()}),o(p,"exportData",function(r){let t=p.annotations,s=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,e=!r.dataRows[1].xValues,o=p.options.lang&&p.options.lang.exportData&&p.options.lang.exportData.annotationHeader,i=r.dataRows[0].length,l=p.options.exporting&&p.options.exporting.csv&&p.options.exporting.csv.annotations&&p.options.exporting.csv.annotations.itemDelimiter,h=p.options.exporting&&p.options.exporting.csv&&p.options.exporting.csv.annotations&&p.options.exporting.csv.annotations.join,n=(t.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let a=t.options.text;t.points.forEach(t=>{let e=t.x,o=t.series.xAxis?t.series.xAxis.index:-1,n=!1;if(-1===o){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{!n&&t.xValues&&void 0!==o&&e===t.xValues[o]&&(h&&t.length>i?t[t.length-1]+=l+a:t.push(a),n=!0)}),!n){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{n=Math.max(n,t.length)});var a=n-r.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function d(i){let t=this.annotations,s="annotations"===i.coll?i:n(t,function(t){return t.options.id===i});s&&(a(s,"remove"),e(this.options.annotations,s.options),e(t,s),s.destroy())}function u(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function g(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(i,t,s){let e=t.prototype;e.addAnnotation||(s=s.prototype,o(t,"afterInit",u),e.addAnnotation=h,e.callbacks.push(c),e.collectionsWithInit.annotations=[h],e.collectionsWithUpdate.push("annotations"),e.drawAnnotations=p,e.removeAnnotation=d,e.initAnnotation=function(t){t=new(i.types[t.type]||i)(this,t);return this.annotations.push(t),t},l(s,"onContainerMouseDown",g))}}}),i(t,"Extensions/Annotations/AnnotationDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return i(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6}}),i(t,"Extensions/Annotations/EventEmitter.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:a,isTouchDevice:r}=t,{addEvent:l,fireEvent:h,objectEach:s,pick:c,removeEvent:e}=i;return class{addEvents(){function i(t){l(t,r?"touchstart":"mousedown",t=>{e.onMouseDown(t)},{passive:!1})}let e=this;if(i(this.graphic.element),(e.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),s(e.options.events,(i,s)=>{function t(t){"click"===s&&e.cancelClick||i.call(e,e.chart.pointer?.normalize(t),e.target)}-1===(e.nonDOMEvents||[]).indexOf(s)?(l(e.graphic.element,s,t,{passive:!1}),e.graphic.div&&l(e.graphic.div,s,t,{passive:!1})):l(e,s,t,{passive:!1})}),e.options.draggable&&(l(e,"drag",e.onDrag),!e.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[e.options.draggable]};e.graphic.css(i),(e.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}e.isUpdating||h(e,"add")}destroy(){this.removeDocEvents(),e(this),this.hcEvents=null}mouseMoveToRadians(t,i,s){let e=t.prevChartY-s,o=t.prevChartX-i,n=t.chartY-s,a=t.chartX-i,r;return this.chart.inverted&&(r=o,o=e,e=r,r=a,a=n,n=r),Math.atan2(n,a)-Math.atan2(e,o)}mouseMoveToScale(t,i,s){let e=t.prevChartX-i,o=t.prevChartY-s,n=t.chartX-i,a=t.chartY-s,r=(n||1)/(e||1),l=(a||1)/(o||1);return this.chart.inverted&&(i=l,l=r,r=i),{x:r,y:l}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,s=t.chartY-t.prevChartY,e;return this.chart.inverted&&(e=s,s=i,i=e),{x:i,y:s}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(n){if(n.preventDefault&&n.preventDefault(),2!==n.button){let i=this,s=i.chart.pointer,t=n?.sourceCapabilities?.firesTouchEvents||!1,e=(n=s?.normalize(n)||n).chartX,o=n.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=l(a,r||t?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=s?.normalize(t)||t).prevChartX=e,t.prevChartY=o,h(i,"drag",t),e=t.chartX,o=t.chartY},r||t?{passive:!1}:void 0),i.removeMouseUp=l(a,r||t?"touchend":"mouseup",function(){let t=c(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&h(c(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},r||t?{passive:!1}:void 0)}}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}}}),i(t,"Extensions/Annotations/ControlPoint.js",[t["Extensions/Annotations/EventEmitter.js"],t["Core/Utilities.js"]],function(t,i){let{merge:o,pick:n}=i;return class extends t{constructor(t,i,s,e){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=n(s.index,e)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){var i=this.chart,s=this.target,e=this.index,t=o(!0,this.options,t);this.destroy(),this.constructor(i,s,t,e),this.render(i.controlPointsGroup),this.redraw()}}}),i(t,"Extensions/Annotations/MockPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,i){let{prototype:e}=t["series"],{defined:n,fireEvent:a}=i;return class s{static fromPoint(t){return new s(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let s=t.series,e=s.chart,o=t.plotX||0,n=t.plotY||0,a;return e.inverted&&(n=t.mock?(o=t.plotY,t.plotX):(o=e.plotWidth-(t.plotY||0),e.plotHeight-(t.plotX||0))),s&&!i&&(o+=(a=s.getPlotBox()).translateX,n+=a.translateY),{x:o,y:n}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,s){this.mock=!0,this.series={visible:!0,chart:t,getPlotBox:e.getPlotBox},this.target=i||null,this.options=s,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getLabelConfig(){return{x:this.x,y:this.y,point:this}}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,s=this.series.xAxis,e=this.series.yAxis,o={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(o.isInsidePlot=n(t)&&0<=t&&t<=s.len),e&&(o.isInsidePlot=o.isInsidePlot&&n(i)&&0<=i&&i<=e.len),a(this.series.chart,"afterIsInsidePlot",o),o.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,s=t.yAxis,e=this.getOptions();i?(this.x=e.x,this.plotX=i.toPixels(e.x,!0)):(this.x=void 0,this.plotX=e.x),s?(this.y=e.y,this.plotY=s.toPixels(e.y,!0)):(this.y=null,this.plotY=e.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,s=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=s?s.toValue(this.plotY,!0):this.plotY}rotate(t,i,s){var e,o,n;this.hasDynamicOptions()||(e=Math.cos(s),s=Math.sin(s),o=this.plotX-t,n=this.plotY-i,this.plotX=o*e-n*s+t,this.plotY=o*s+n*e+i,this.refreshOptions())}scale(t,i,s,e){var o,n;this.hasDynamicOptions()||(o=this.plotX*s,n=this.plotY*e,this.plotX=(1-s)*t+o,this.plotY=(1-e)*i+n,this.refreshOptions())}setAxis(t,i){let s=i+"Axis",e=t[s],o=this.series.chart;this.series[s]="object"==typeof e?e:n(e)?o[s][e]||o.get(e):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,s,e){this.hasDynamicOptions()||(this.plotX+=s,this.plotY+=e,this.refreshOptions())}}}),i(t,"Extensions/Annotations/ControlTarget.js",[t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(n,r,a){var t;return(t||(t={})).compose=function(t){t=t.prototype;t.addControlPoints||a.merge(!0,t,{addControlPoints:i,anchor:s,destroyControlTarget:e,getPointsOptions:o,linkPoints:l,point:h,redrawControlPoints:c,renderControlPoints:p,transform:d,transformPoint:u,translate:g,translatePoint:m})},t;function i(){let e=this.controlPoints,o=this.options.controlPoints||[];o.forEach((t,i)=>{let s=a.merge(this.options.controlPointOptions,t);s.index||(s.index=i),o[i]=s,e.push(new n(this.chart,this,s))})}function s(t){let i=t.series.getPlotBox(),s=t.series.chart,e=t.mock?t.toAnchor():s.tooltip&&s.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],o={x:e[0]+(this.options.x||0),y:e[1]+(this.options.y||0),height:e[2]||0,width:e[3]||0};return{relativePosition:o,absolutePosition:a.merge(o,{x:o.x+(t.mock?i.translateX:s.plotLeft),y:o.y+(t.mock?i.translateY:s.plotTop)})}}function e(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function o(){var t=this.options;return t.points||t.point&&a.splat(t.point)}function l(){let t,i,s=this.getPointsOptions(),e=this.points,o=s&&s.length||0;for(t=0;tt.redraw(i))}function p(){this.controlPoints.forEach(t=>t.render())}function d(s,e,o,n,a){var t;this.chart.inverted&&(t=e,e=o,o=t),this.points.forEach((t,i)=>this.transformPoint(s,e,o,n,a,i),this)}function u(t,i,s,e,o,n){let a=this.points[n];(a=a.mock?a:this.points[n]=r.fromPoint(a))[t](i,s,e,o)}function g(t,i){this.transform("translate",null,null,t,i)}function m(t,i,s){this.transformPoint("translate",null,null,t,i,s)}}),i(t,"Extensions/Annotations/Controllables/Controllable.js",[t["Extensions/Annotations/ControlTarget.js"],t["Core/Utilities.js"]],function(t,i){let n=i["merge"];class s{constructor(t,i,s,e){this.annotation=t,this.chart=t.chart,this.collection="label"===e?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=s,this.itemType=e,this.init(t,i,s)}attr(){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,s,e=this.constructor.attrsMap,o={},n=this.chart.styledMode;for(i in t)s=e[i],void 0===e[i]||n&&-1!==["fill","stroke","stroke-width"].indexOf(s)||(o[s]=t[i]);return o}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,s){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=s,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,s){this.transform("rotate",t,i,s)}scale(t,i,s,e){this.transform("scale",t,i,s,e)}setControlPointsVisibility(i){this.controlPoints.forEach(t=>{t.setVisibility(i)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,s){let e=this.annotation.chart,o=this.annotation.userOptions,n=e.annotations.indexOf(this.annotation),a=e.options.annotations[n];this.translatePoint(t,i,0),s&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,o[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,s=n(!0,this.options,t),e=this.graphic.parentGroup,o=this.constructor;this.destroy(),n(!0,this,new o(i,s,this.index,this.itemType)),this.render(e),this.redraw()}}return t.compose(s),s}),i(t,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}}}),i(t,"Extensions/Annotations/Controllables/ControllablePath.js",[t["Extensions/Annotations/Controllables/Controllable.js"],t["Extensions/Annotations/Controllables/ControllableDefaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i,s,e){let o=i["defaultMarkers"],{addEvent:n,defined:p,extend:a,merge:d,uniqueKey:u}=e,r=c("marker-end"),l=c("marker-start"),h="rgba(192,192,192,"+(s.svg?1e-4:.002)+")";function c(i){return function(t){this.attr(i,"url(#"+t+")")}}function g(){this.options.defs=d(o,this.options.defs||{})}function m(t,i){let s={attributes:{id:t}},e={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"},o=(s.children=i.children&&i.children.map(function(t){return d(e,t)}),d(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s)),n=this.definition(o);return n.id=t,n}class x extends t{static compose(t,i){let s=i.prototype;s.addMarker||(n(t,"afterGetContainer",g),s.addMarker=m)}constructor(t,i,s){super(t,i,s,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,s=i.length,e=[],o=s,n=i[0],a=o&&this.anchor(n).absolutePosition,r=0,l;if(a)for(e.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),o(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,s,e){return Math.abs((i.y-t.y)*s-(i.x-t.x)*e+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let s=t.x,e=t.y,o=i.x,n=i.y,a=(s+o)/2,r=Math.sqrt((s-o)*(s-o)/4+(e-n)*(e-n)/4),l=180*Math.atan((n-e)/(o-s))/Math.PI;return at.plotWidth&&("left"===n?h.align="right":h.x=(h.x||0)+t.plotWidth-o),(o=p+r)<0&&("bottom"===a?h.verticalAlign="top":h.y=(h.y||0)-o),(o=p+l.height-r)>t.plotHeight&&("top"===a?h.verticalAlign="bottom":h.y=(h.y||0)+t.plotHeight-o),h}constructor(t,i,s){super(t,i,s,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let s=this.annotation.chart,e=this.annotation.userOptions,o=s.annotations.indexOf(this.annotation),n=s.options.annotations[o];var a;s.inverted&&(a=t,t=i,i=a),this.options.x+=t,this.options.y+=i,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y,e[this.collection][this.index].x=this.options.x,e[this.collection][this.index].y=this.options.y}render(t){let i=this.options,s=this.attrsFromOptions(i),e=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(s).add(t),this.annotation.chart.styledMode||("contrast"===e.color&&(e.color=this.annotation.chart.renderer.getContrast(-1{o(e,t,i.closeButtonEvents.bind(i))}),o(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),e}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,s=this.closeButton;this.type=void 0,i.innerHTML=e.emptyHTML,0<=i.className.indexOf(t)&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(s),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}}}),i(t,"Extensions/Annotations/Popup/PopupAnnotations.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:c,isFirefox:p}=t,{createElement:d,isArray:u,isObject:g,objectEach:m,pick:h,stableSort:x}=i;function v(e,o,n,t,a,r){let l,h;if(o){let i=this.addInput,s=this.lang;m(t,(t,i)=>{l=""!==n?n+"."+i:i,g(t)&&(!u(t)||u(t)&&g(t[0])?((h=s[i]||i).match(/\d/g)||a.push([!0,h,e]),v.call(this,e,o,l,t,a,!1)):a.push([this,l,"annotation",e,t]))}),r&&(x(a,t=>t[1].match(/format/g)?-1:1),p&&a.reverse(),a.forEach(t=>{!0===t[0]?d("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(c.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},i.apply(t[0],t.splice(1)))}))}}return{addForm:function(e,o,n,a){if(e){let t=this.container,i=this.lang,s=d("h2",{className:"highcharts-popup-main-title"},void 0,t);s.appendChild(c.createTextNode(i[o.langKey]||o.langKey||"")),s=d("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,t);var r=d("div",{className:"highcharts-popup-bottom-row"},void 0,t);v.call(this,s,e,"",o,[],!0),this.addButton(r,a?i.addButton||"Add":i.saveButton||"Save",a?"add":"save",t,n)}},addToolbar:function(t,i,s){let e=this.lang,o=this.container,n=this.showForm,a="highcharts-annotation-toolbar",r=(-1===o.className.indexOf(a)&&(o.className+=" "+a+" highcharts-no-mousewheel"),t&&(o.style.top=t.plotTop+10+"px"),d("p",{className:"highcharts-annotation-label"},void 0,o)),l=(r.setAttribute("aria-label","Annotation type"),r.appendChild(c.createTextNode(h(e[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,""))),this.addButton(o,e.editButton||"Edit","edit",o,()=>{n.call(this,"annotation-edit",t,i,s)}));l.className+=" highcharts-annotation-edit-button",l.style["background-image"]="url("+this.iconsURL+"edit.svg)",(l=this.addButton(o,e.removeButton||"Remove","remove",o,s)).className+=" highcharts-annotation-remove-button",l.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}}}),i(t,"Extensions/Annotations/Popup/PopupIndicators.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(m,t,i,s){var h;let x=t["doc"],n=i["seriesTypes"],{addEvent:v,createElement:f,defined:c,isArray:y,isObject:p,objectEach:b,stableSort:A}=s,r=((t=h=h||{})[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average",{"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]});function a(t){f("div",{className:"highcharts-popup-lhs-col"},void 0,t);t=f("div",{className:"highcharts-popup-rhs-col"},void 0,t);f("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,t)}function d(e,t,i,s){function n(t,i){let s=g.parentNode.children[1];(function(t,i,s,e){var o=i.params||i.options.params;e.innerHTML=m.emptyHTML,f("h3",{className:"highcharts-indicator-title"},void 0,e).appendChild(x.createTextNode(E(i,s).indicatorFullName)),f("input",{type:"hidden",name:"highcharts-type-"+s,value:s},void 0,e),P.call(this,s,"series",t,e,i,i.linkedParent&&i.linkedParent.options.id),o.volumeSeriesID&&P.call(this,s,"volume",t,e,i,i.linkedParent&&o.volumeSeriesID),C.call(this,t,"params",o,s,e)}).call(o,e,t,i,g),s&&(s.style.display="block"),h&&t.options&&f("input",{type:"hidden",name:"highcharts-id-"+i,value:t.options.id},void 0,g).setAttribute("highcharts-data-series-id",t.options.id)}let o=this,a=o.lang,r=t.querySelectorAll(".highcharts-popup-lhs-col")[0],l=t.querySelectorAll(".highcharts-popup-rhs-col")[0],h="edit"===i,c=h?e.series:e.options.plotOptions||{};if(!e&&c)return;let p,d=[],u=(h||y(c)?y(c)&&(d=function(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}.call(this,c)):d=function(t,n){let a,i=this.chart&&this.chart.options.lang,r=i&&i.navigation&&i.navigation.popup&&i.navigation.popup.indicatorAliases,l=[];return b(t,(o,t)=>{var i=o&&o.options;if(o.params||i&&i.params){let{indicatorFullName:s,indicatorType:e}=E(o,t);if(n){let t=RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),i=r&&r[e]&&r[e].join(" ")||"";(s.match(t)||i.match(t))&&(a={indicatorFullName:s,indicatorType:e,series:o},l.push(a))}else a={indicatorFullName:s,indicatorType:e,series:o},l.push(a)}}),l}.call(this,c,s),A(d,(t,i)=>{t=t.indicatorFullName.toLowerCase(),i=i.indicatorFullName.toLowerCase();return t{let{indicatorFullName:i,indicatorType:s,series:e}=t,o=(p=f("li",{className:"highcharts-indicator-list"},void 0,u),f("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,p));["click","touchstart"].forEach(t=>{v(o,t,function(){n(e,s)})})}),0{var s,e=a+"."+i;c(t)&&e&&(p(t)&&(o.call(this,e,r,l,{}),C.call(this,n,e,t,r,l)),e in h?(s=u.call(this,r,e,l),g.call(this,n,a,s,r,i,t)):"params.volumeSeriesID"==e||y(t)||o.call(this,e,r,l,{value:t,type:"number"}))})}}function l(i,t){function s(t){d.call(e,i,e.container,"add",t)}let e=this,o=t.querySelectorAll(".highcharts-popup-lhs-col")[0],n=this.lang.clearFilter,a=f("div",{className:"highcharts-input-wrapper"},void 0,o),r=this.addInput("searchIndicators","input",a,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),l=f("a",{textContent:n},void 0,a);r.classList.add("highcharts-input-search-indicators"),l.classList.add("clear-filter-button"),v(r,"input",function(){s(this.value),this.value.length?l.style.display="inline-block":l.style.display="none"}),["click","touchstart"].forEach(t=>{v(l,t,function(){r.value="",s(""),l.style.display="none"})})}function u(t,i,s){var e=i.split("."),e=e[e.length-1],t="highcharts-"+i+"-type-"+t,o=this.lang;f("label",{htmlFor:t},null,s).appendChild(x.createTextNode(o[e]||i));let n=f("select",{name:t,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return n.setAttribute("id","highcharts-select-"+i),n}function g(t,e,o,i,s,n,a){"series"===e||"volume"===e?t.series.forEach(t=>{var i=t.options,s=i.name||i.params?t.name:i.id||"";"highcharts-navigator-series"!==i.id&&i.id!==(a&&a.options&&a.options.id)&&(c(n)||"volume"!==e||"column"!==t.type||(n=i.id),f("option",{value:i.id},void 0,o).appendChild(x.createTextNode(s)))}):i&&s&&r[s+"-"+i].forEach(t=>{f("option",{value:t},void 0,o).appendChild(x.createTextNode(t))}),c(n)&&(o.value=n)}function E(t,i){let s=t.options,e=n[i]&&n[i].prototype.nameBase||i.toUpperCase(),o=i;return s&&s.type&&(o=t.options.type,e=t.name),{indicatorFullName:e,indicatorType:o}}function P(i,s,e,o,n,a){if(e){let t=u.call(this,i,s,o);g.call(this,e,s,t,void 0,void 0,void 0,n),c(a)&&(t.value=a)}}return{addForm:function(i,t,s){var e,o=this.lang;if(i){this.tabs.init.call(this,i);let t=this.container.querySelectorAll(".highcharts-tab-item-content");a(t[0]),l.call(this,i,t[0]),d.call(this,i,t[0],"add"),e=t[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.addButton||"add","add",e,s),a(t[1]),d.call(this,i,t[1],"edit"),e=t[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.saveButton||"save","edit",e,s),this.addButton(e,o.removeButton||"remove","remove",e,s)}},getAmount:function(){let i=0;return this.series.forEach(t=>{(t.params||t.options.params)&&i++}),i}}}),i(t,"Extensions/Annotations/Popup/PopupTabs.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let a=t["doc"],{addEvent:o,createElement:r}=i;function s(){return r("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function e(t,i){let s=this.container,e=this.lang,o="highcharts-tab-item",n=(0===i&&(o+=" highcharts-tab-disabled"),r("button",{className:o},void 0,s));return n.appendChild(a.createTextNode(e[t+"Button"]||t)),n.setAttribute("highcharts-data-tab-type",t),n}function n(t,i){let s=this.container.querySelectorAll(".highcharts-tab-item-content");t.className+=" highcharts-tab-item-active",s[i].className+=" highcharts-tab-item-show"}function l(t){let e=this;this.container.querySelectorAll(".highcharts-tab-item").forEach((i,s)=>{0===t&&"edit"===i.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(t=>{o(i,t,function(){(function(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{let i=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(i){i.cancelClick=!0;let t=l(h,"click",()=>{setTimeout(()=>{i.cancelClick=!1},0),t()})}})}addInput(t,i,s,e){let o=t.split("."),n=o[o.length-1],a=this.lang,r="highcharts-"+i+"-"+u(e.htmlFor,n),l=(n.match(/^\d+$/)||c("label",{htmlFor:r,className:e.labelClassName},void 0,s).appendChild(h.createTextNode(a[n]||n)),c("input",{name:r,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,s));return l.setAttribute("highcharts-data-name",t),l}closeButtonEvents(){var t;this.chart?(t=this.chart.navigationBindings,d(t,"closePopup"),t&&t.selectedButtonElement&&d(t,"deselectButton",{button:t.selectedButtonElement})):super.closeButtonEvents()}addButton(t,i,s,e,o){let n=c("button",void 0,void 0,t);return n.appendChild(h.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{l(n,t,()=>(this.closePopup(),o(function(t,i){let s=Array.prototype.slice.call(t.querySelectorAll("input")),e=Array.prototype.slice.call(t.querySelectorAll("select")),o=t.querySelectorAll("#highcharts-select-series > option:checked")[0],n=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:o&&o.getAttribute("value")||"",fields:{}};return s.forEach(t=>{var i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),e.forEach(t=>{let i=t.id;var s;"highcharts-select-series"!==i&&"highcharts-select-volume"!==i&&(s=i.split("highcharts-select-")[1],a.fields[s]=t.value)}),n&&(a.fields["params.volumeSeriesID"]=n.getAttribute("value")||""),a}(e,s))))}),n}showForm(t,i,s,e){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,s,e),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,s,e),"annotation-edit"===t&&this.annotations.addForm.call(this,i,s,e),"flag"===t&&this.annotations.addForm.call(this,i,s,e,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}return p(g.prototype,{annotations:e,indicators:o,tabs:n}),g}),i(t,"Extensions/Annotations/Popup/PopupComposition.js",[t["Core/Globals.js"],t["Extensions/Annotations/Popup/Popup.js"],t["Core/Utilities.js"]],function(t,i,s){let e=t["composed"],{addEvent:o,pushUnique:n,wrap:a}=s;function r(){this.popup&&this.popup.closePopup()}function l(t){this.popup||(this.popup=new i(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/11.4.7/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function h(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(t,i){n(e,"Popup")&&(o(t,"closePopup",r),o(t,"showPopup",l),a(i.prototype,"onContainerMouseDown",h))}}}),i(t,"Extensions/Annotations/Annotation.js",[t["Core/Animation/AnimationUtilities.js"],t["Extensions/Annotations/AnnotationChart.js"],t["Extensions/Annotations/AnnotationDefaults.js"],t["Extensions/Annotations/Controllables/ControllableRect.js"],t["Extensions/Annotations/Controllables/ControllableCircle.js"],t["Extensions/Annotations/Controllables/ControllableEllipse.js"],t["Extensions/Annotations/Controllables/ControllablePath.js"],t["Extensions/Annotations/Controllables/ControllableImage.js"],t["Extensions/Annotations/Controllables/ControllableLabel.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/ControlTarget.js"],t["Extensions/Annotations/EventEmitter.js"],t["Extensions/Annotations/MockPoint.js"],t["Extensions/Annotations/Popup/PopupComposition.js"],t["Core/Utilities.js"]],function(t,o,i,s,e,n,a,r,l,h,c,p,d,u,g){let m=t["getDeferredAnimation"],{destroyObjectProperties:x,erase:v,fireEvent:f,merge:y,pick:b,splat:A}=g;function C(i,e){let o={};return["labels","shapes"].forEach(t=>{let s=i[t];s&&(e[t]?o[t]=A(e[t]).map(function(t,i){return y(s[i],t)}):o[t]=i[t])}),o}class E extends p{static compose(t,i,s,e){o.compose(E,t,s),l.compose(e),a.compose(t,e),i.compose(E,t),u.compose(i,s)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=y(this.defaultOptions,i),this.userOptions=i;i=C(this.options,i);this.options.labels=i.labels,this.options.shapes=i.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let s=this.options.labels||[];s.forEach((t,i)=>{t=this.initLabel(t,i);y(!0,s[i],t.options)})}addShapes(){let s=this.options.shapes||[];s.forEach((t,i)=>{t=this.initShape(t,i);y(!0,s[i],t.options)})}destroy(){function t(t){t.destroy()}var i=this.chart;this.labels.forEach(t),this.shapes.forEach(t),this.clipXAxis=null,this.clipYAxis=null,v(i.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),x(this,i)}destroyItem(t){v(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);var s=C(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,s=this.index){var e=this.chart,o=this.options.animation;this.index=s,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=m(e,o)}initLabel(t,i){let s=new l(this,y(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=y(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),e=new E.shapesMap[s.type](this,s,i);return e.itemType="shape",this.shapes.push(e),e}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(s,e){if(s.linkPoints(),s.shouldBeDrawn()){if(s.graphic||this.renderItem(s),s.redraw(b(e,!0)&&s.graphic.placed),s.points.length){e=s;let t=e.graphic,i=e.points.some(t=>!1!==t.series.visible&&!1!==t.visible);t&&(i?"hidden"===t.visibility&&t.show():t.hide())}}else this.destroyItem(s)}redrawItems(t,i){let s=t.length;for(;s--;)this.redrawItem(t[s],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let s=this.chart.xAxis,e=this.chart.yAxis,t=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((t,i)=>{i=i&&(i.point||i.points&&i.points[0]);return[s[i&&i.xAxis]||t[0],e[i&&i.yAxis]||t[1]]},[]);this.clipXAxis=t[0],this.clipYAxis=t[1]}setControlPointsVisibility(i){function t(t){t.setControlPointsVisibility(i)}this.controlPoints.forEach(t=>{t.setVisibility(i)}),this.shapes.forEach(t),this.labels.forEach(t)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=y(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,e=b(t,!i.visible);this.graphic.attr("visibility",e?"inherit":"hidden"),e||(this.shapes.forEach(t=function(t){t.setControlPointsVisibility(e)}),this.labels.forEach(t),s.activeAnnotation===this&&s.popup&&"annotation-toolbar"===s.popup.type&&f(s,"closePopup")),i.visible=e}update(t,i){let s=this.chart,e=C(this.userOptions,t),o=s.annotations.indexOf(this),n=y(!0,this.userOptions,t);n.labels=e.labels,n.shapes=e.shapes,this.destroy(),this.initProperties(s,n),this.init(s,n),s.options.annotations[o]=this.options,this.isUpdating=!0,b(i,!0)&&s.drawAnnotations(),f(this,"afterUpdate"),this.isUpdating=!1}}return E.ControlPoint=h,E.MockPoint=d,E.shapesMap={rect:s,circle:e,ellipse:n,path:a,image:r},E.types={},E.prototype.defaultOptions=i,E.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],c.compose(E),E}),i(t,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;{var i=t=t||{};i.compose=function(t){return t.navigation||(t.navigation=new s(t)),t};class s{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(i,s){this.updates.forEach(t=>{t.call(this.chart,i,s)})}}i.Additions=s}return t}),i(t,"Extensions/Annotations/NavigationBindingsUtilities.js",[t["Core/Utilities.js"]],function(t){let{defined:o,isNumber:n,pick:a}=t,r={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:r,getAssignedAxis:function(t){return t.filter(t=>{var i=t.axis.getExtremes(),s=i.min,i=i.max,e=a(t.axis.minPointOffset,0);return n(s)&&n(i)&&t.value>=s-e&&t.value<=i+e&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let s=r[t],e=typeof i;return{string:"text",number:"number",boolean:"checkbox"}[e=o(s)?s:e]}}}),i(t,"Extensions/Annotations/NavigationBindingsDefaults.js",[t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i){let l=t["getAssignedAxis"],{isNumber:a,merge:n}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(n({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:i.value,y:t.value,xAxis:i.axis.index,yAxis:t.axis.index},r:5}]},s.annotationsOptions,s.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;var e,o,n=i.options.shapes,n=n&&n[0]&&n[0].point||{};a(n.xAxis)&&a(n.yAxis)&&(e=this.chart.inverted,o=this.chart.xAxis[n.xAxis].toPixels(n.x),n=this.chart.yAxis[n.yAxis].toPixels(n.y),s=Math.max(Math.sqrt(Math.pow(e?n-t.chartX:o-t.chartX,2)+Math.pow(e?o-t.chartY:n-t.chartY,2)),5)),i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(n({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:i.axis.index,yAxis:t.axis.index,points:[{x:i.value,y:t.value},{x:i.value,y:t.value}],ry:1}]},s.annotationsOptions,s.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[1]);s.translatePoint(t.chartX-e.x,t.chartY-e.y,1),s.redraw(!1)},function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[0]),o=s.getAbsolutePosition(s.points[1]),n=s.getDistanceFromLine(e,o,t.chartX,t.chartY),a=s.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(n));s.setYRadius(r),s.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i,s,e,t=this.chart.pointer?.getCoordinates(t),o=t&&l(t.xAxis),t=t&&l(t.yAxis);if(o&&t)return i=o.value,s=t.value,o=o.axis.index,t=t.axis.index,e=this.chart.options.navigation,this.chart.addAnnotation(n({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:o,yAxis:t,x:i,y:s},{xAxis:o,yAxis:t,x:i,y:s},{xAxis:o,yAxis:t,x:i,y:s},{xAxis:o,yAxis:t,x:i,y:s},{command:"Z"}]}]},e.annotationsOptions,e.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,e=s&&s[0]&&s[0].points||[],o=this.chart.pointer?.getCoordinates(t),n=o&&l(o.xAxis),a=o&&l(o.yAxis);var r;n&&a&&(t=n.value,r=a.value,e[1].x=t,e[2].x=t,e[2].y=r,e[3].y=r,i.update({shapes:[{points:e}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(n({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:i.axis.index,yAxis:t.axis.index,x:i.value,y:t.value}}]},s.annotationsOptions,s.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),i(t,"Extensions/Annotations/NavigationBindings.js",[t["Core/Chart/ChartNavigationComposition.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Extensions/Annotations/NavigationBindingsDefaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i,s,o,e,n,a){let r=i["setOptions"],c=s["format"],{composed:l,doc:h,win:p}=o,{getAssignedAxis:d,getFieldType:u}=n,{addEvent:g,attr:m,defined:x,fireEvent:v,isArray:f,isFunction:y,isNumber:b,isObject:A,merge:C,objectEach:E,pick:P,pushUnique:k}=a;function w(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function j(){this.navigationBindings&&this.navigationBindings.destroy()}function B(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new D(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function O(){let t=this.navigationBindings,a="highcharts-disabled-btn";if(this&&t){let n=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(n=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let i=this.navigationBindings.container[0];E(t.boundClassNames,(e,t)=>{var o=i.querySelectorAll("."+t);if(o)for(let s=0;s{T(t)}),g(i,"destroy",j),g(i,"load",B),g(i,"render",O),g(D,"closePopup",N),g(D,"deselectButton",M),r(e))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=h.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){t=this.chart.pointer?.getCoordinates(t);return[t&&d(t.xAxis),t&&d(t.yAxis)]}initEvents(){let e=this,i=e.chart,t=e.container,s=e.options;e.boundClassNames={},E(s.bindings||{},t=>{e.boundClassNames[t.className]=t}),[].forEach.call(t,s=>{e.eventsToUnbind.push(g(s,"click",t=>{let i=e.getButtonEvents(s,t);i&&!i.button.classList.contains("highcharts-disabled-btn")&&e.bindingsButtonClick(i.button,i.events,t)}))}),E(s.events||{},(t,i)=>{y(t)&&e.eventsToUnbind.push(g(e,i,t,{passive:!1}))}),e.eventsToUnbind.push(g(i.container,"click",function(t){!i.cancelClick&&i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&e.bindingsChartClick(this,t)})),e.eventsToUnbind.push(g(i.container,o.isTouchDevice?"touchmove":"mousemove",function(t){e.bindingsContainerMouseMove(this,t)},o.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,s){let e=this.chart,o=e.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),v(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&e.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),n?(this.selectedButton=i,this.selectedButtonElement=t,v(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,s),(i.start||i.steps)&&e.renderer.boxWrapper.addClass("highcharts-draw-mode")):(e.stockTools&&t.classList.remove("highcharts-active"),o.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let s=this.activeAnnotation,e=this.selectedButton,o=t.renderer.boxWrapper;s&&(s.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let s=p.Element.prototype,e=s.matches||s.msMatchesSelector||s.webkitMatchesSelector,o=null;if(s.closest)o=s.closest.call(t,i);else do{if(e.call(t,i))return t}while(null!==(t=t.parentElement||t.parentNode)&&1===t.nodeType);return o}(i.target,".highcharts-popup")?s.cancelClick&&setTimeout(()=>{s.cancelClick=!1},0):v(this,"closePopup")),e&&e.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,e.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]:(v(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),e.end&&e.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=e.start.call(this,i),this.currentUserDetails&&e.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(v(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,s){return E(t,(o,t)=>{let i=parseFloat(o),n=t.split("."),a=n.length-1;if("undefined"!==(o=!b(i)||o.match(/px|em/g)||t.match(/format/g)?o:i)){let e=s;n.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let t=P(n[s+1],"");a===s?e[i]=o:(e[i]||(e[i]=t.match(/\d/g)?[]:{}),e=e[i])}})}}),s}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(a){let i=a.options,e=D.annotationsEditable,r=e.nestedOptions,o=P(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),l=D.annotationsNonEditable[i.langKey]||[],n={langKey:i.langKey,type:o};function h(t,e,s,o,i){let n;s&&x(t)&&-1===l.indexOf(e)&&(0<=(s.indexOf&&s.indexOf(e))||s[e]||!0===s)&&(f(t)?(o[e]=[],t.forEach((t,s)=>{A(t)?(o[e][s]={},E(t,(t,i)=>{h(t,i,r[e],o[e][s],e)})):h(t,0,r[e],o[e],e)})):A(t)?(n={},f(o)?(o.push(n),n[e]={},n=n[e]):o[e]=n,E(t,(t,i)=>{h(t,i,0===e?s:r[e],n,e)})):"format"===e?o[e]=[c(t,a.labels[0].points[0]).toString(),"text"]:f(o)?o.push([t,u(i,t)]):o[e]=[t,u(e,t)])}return E(i,(t,s)=>{"typeOptions"===s?(n[s]={},E(i[s],(t,i)=>{h(t,i,r,n[s],i)})):h(t,s,e[o],n,s)}),n}getClickedClassNames(t,i){let s=i.target,e=[],o;for(;s&&s.tagName&&((o=m(s,"class"))&&(e=e.concat(o.split(" ").map(t=>[t,s]))),(s=s.parentNode)!==t););return e}getButtonEvents(t,i){let s,e=this;return this.getClickedClassNames(t,i).forEach(t=>{e.boundClassNames[t[0]]&&!s&&(s={events:e.boundClassNames[t[0]],button:t[1]})}),s}update(t){this.options=C(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return D.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},D.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},D}),i(t,"masters/modules/annotations.src.js",[t["Core/Globals.js"],t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/NavigationBindings.js"]],function(t,i,s){return t.Annotation=t.Annotation||i,t.NavigationBindings=t.NavigationBindings||s,t.Annotation.compose(t.Chart,t.NavigationBindings,t.Pointer,t.SVGRenderer),t})}); \ No newline at end of file +!function(i){"object"==typeof module&&module.exports?module.exports=i.default=i:"function"==typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(t){return i(t),i.Highcharts=t,i}):i("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var t=o?o._modules:{};function i(t,i,s,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,s),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Extensions/Annotations/AnnotationChart.js",[t["Core/Utilities.js"]],function(t){let{addEvent:o,erase:e,find:n,fireEvent:a,pick:r,wrap:l}=t;function h(t,i){let s=this.initAnnotation(t);return this.options.annotations.push(s.options),r(i,!0)&&(s.redraw(),s.graphic.attr({opacity:1})),s}function c(){let p=this;p.plotBoxClip=this.renderer.clipRect(this.plotBox),p.controlPointsGroup=p.renderer.g("control-points").attr({zIndex:99}).clip(p.plotBoxClip).add(),p.options.annotations.forEach((i,t)=>{var s;p.annotations.some(t=>t.options===i)||(s=p.initAnnotation(i),p.options.annotations[t]=s.options)}),p.drawAnnotations(),o(p,"redraw",p.drawAnnotations),o(p,"destroy",function(){p.plotBoxClip.destroy(),p.controlPointsGroup.destroy()}),o(p,"exportData",function(r){let t=p.annotations,s=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,e=!r.dataRows[1].xValues,o=p.options.lang&&p.options.lang.exportData&&p.options.lang.exportData.annotationHeader,i=r.dataRows[0].length,l=p.options.exporting&&p.options.exporting.csv&&p.options.exporting.csv.annotations&&p.options.exporting.csv.annotations.itemDelimiter,h=p.options.exporting&&p.options.exporting.csv&&p.options.exporting.csv.annotations&&p.options.exporting.csv.annotations.join,n=(t.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let a=t.options.text;t.points.forEach(t=>{let e=t.x,o=t.series.xAxis?t.series.xAxis.index:-1,n=!1;if(-1===o){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{!n&&t.xValues&&void 0!==o&&e===t.xValues[o]&&(h&&t.length>i?t[t.length-1]+=l+a:t.push(a),n=!0)}),!n){let i=r.dataRows[0].length,s=Array(i);for(let t=0;t{n=Math.max(n,t.length)});var a=n-r.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function d(i){let t=this.annotations,s="annotations"===i.coll?i:n(t,function(t){return t.options.id===i});s&&(a(s,"remove"),e(this.options.annotations,s.options),e(t,s),s.destroy())}function u(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function g(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(i,t,s){let e=t.prototype;e.addAnnotation||(s=s.prototype,o(t,"afterInit",u),e.addAnnotation=h,e.callbacks.push(c),e.collectionsWithInit.annotations=[h],e.collectionsWithUpdate.push("annotations"),e.drawAnnotations=p,e.removeAnnotation=d,e.initAnnotation=function(t){t=new(i.types[t.type]||i)(this,t);return this.annotations.push(t),t},l(s,"onContainerMouseDown",g))}}}),i(t,"Extensions/Annotations/AnnotationDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return i(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6}}),i(t,"Extensions/Annotations/EventEmitter.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:a,isTouchDevice:r}=t,{addEvent:l,fireEvent:h,objectEach:s,pick:c,removeEvent:e}=i;return class{addEvents(){function i(t){l(t,r?"touchstart":"mousedown",t=>{e.onMouseDown(t)},{passive:!1})}let e=this;if(i(this.graphic.element),(e.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),s(e.options.events,(i,s)=>{function t(t){"click"===s&&e.cancelClick||i.call(e,e.chart.pointer?.normalize(t),e.target)}-1===(e.nonDOMEvents||[]).indexOf(s)?(l(e.graphic.element,s,t,{passive:!1}),e.graphic.div&&l(e.graphic.div,s,t,{passive:!1})):l(e,s,t,{passive:!1})}),e.options.draggable&&(l(e,"drag",e.onDrag),!e.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[e.options.draggable]};e.graphic.css(i),(e.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}e.isUpdating||h(e,"add")}destroy(){this.removeDocEvents(),e(this),this.hcEvents=null}mouseMoveToRadians(t,i,s){let e=t.prevChartY-s,o=t.prevChartX-i,n=t.chartY-s,a=t.chartX-i,r;return this.chart.inverted&&(r=o,o=e,e=r,r=a,a=n,n=r),Math.atan2(n,a)-Math.atan2(e,o)}mouseMoveToScale(t,i,s){let e=t.prevChartX-i,o=t.prevChartY-s,n=t.chartX-i,a=t.chartY-s,r=(n||1)/(e||1),l=(a||1)/(o||1);return this.chart.inverted&&(i=l,l=r,r=i),{x:r,y:l}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,s=t.chartY-t.prevChartY,e;return this.chart.inverted&&(e=s,s=i,i=e),{x:i,y:s}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(n){if(n.preventDefault&&n.preventDefault(),2!==n.button){let i=this,s=i.chart.pointer,t=n?.sourceCapabilities?.firesTouchEvents||!1,e=(n=s?.normalize(n)||n).chartX,o=n.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=l(a,r||t?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=s?.normalize(t)||t).prevChartX=e,t.prevChartY=o,h(i,"drag",t),e=t.chartX,o=t.chartY},r||t?{passive:!1}:void 0),i.removeMouseUp=l(a,r||t?"touchend":"mouseup",function(){let t=c(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&h(c(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},r||t?{passive:!1}:void 0)}}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}}}),i(t,"Extensions/Annotations/ControlPoint.js",[t["Extensions/Annotations/EventEmitter.js"],t["Core/Utilities.js"]],function(t,i){let{merge:o,pick:n}=i;return class extends t{constructor(t,i,s,e){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=n(s.index,e)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){var i=this.chart,s=this.target,e=this.index,t=o(!0,this.options,t);this.destroy(),this.constructor(i,s,t,e),this.render(i.controlPointsGroup),this.redraw()}}}),i(t,"Extensions/Annotations/MockPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,i){let{prototype:e}=t["series"],{defined:n,fireEvent:a}=i;return class s{static fromPoint(t){return new s(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let s=t.series,e=s.chart,o=t.plotX||0,n=t.plotY||0,a;return e.inverted&&(n=t.mock?(o=t.plotY,t.plotX):(o=e.plotWidth-(t.plotY||0),e.plotHeight-(t.plotX||0))),s&&!i&&(o+=(a=s.getPlotBox()).translateX,n+=a.translateY),{x:o,y:n}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,s){this.mock=!0,this.series={visible:!0,chart:t,getPlotBox:e.getPlotBox},this.target=i||null,this.options=s,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getLabelConfig(){return{x:this.x,y:this.y,point:this}}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,s=this.series.xAxis,e=this.series.yAxis,o={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(o.isInsidePlot=n(t)&&0<=t&&t<=s.len),e&&(o.isInsidePlot=o.isInsidePlot&&n(i)&&0<=i&&i<=e.len),a(this.series.chart,"afterIsInsidePlot",o),o.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,s=t.yAxis,e=this.getOptions();i?(this.x=e.x,this.plotX=i.toPixels(e.x,!0)):(this.x=void 0,this.plotX=e.x),s?(this.y=e.y,this.plotY=s.toPixels(e.y,!0)):(this.y=null,this.plotY=e.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,s=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=s?s.toValue(this.plotY,!0):this.plotY}rotate(t,i,s){var e,o,n;this.hasDynamicOptions()||(e=Math.cos(s),s=Math.sin(s),o=this.plotX-t,n=this.plotY-i,this.plotX=o*e-n*s+t,this.plotY=o*s+n*e+i,this.refreshOptions())}scale(t,i,s,e){var o,n;this.hasDynamicOptions()||(o=this.plotX*s,n=this.plotY*e,this.plotX=(1-s)*t+o,this.plotY=(1-e)*i+n,this.refreshOptions())}setAxis(t,i){let s=i+"Axis",e=t[s],o=this.series.chart;this.series[s]="object"==typeof e?e:n(e)?o[s][e]||o.get(e):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,s,e){this.hasDynamicOptions()||(this.plotX+=s,this.plotY+=e,this.refreshOptions())}}}),i(t,"Extensions/Annotations/ControlTarget.js",[t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/MockPoint.js"],t["Core/Utilities.js"]],function(n,r,a){var t;return(t||(t={})).compose=function(t){t=t.prototype;t.addControlPoints||a.merge(!0,t,{addControlPoints:i,anchor:s,destroyControlTarget:e,getPointsOptions:o,linkPoints:l,point:h,redrawControlPoints:c,renderControlPoints:p,transform:d,transformPoint:u,translate:g,translatePoint:m})},t;function i(){let e=this.controlPoints,o=this.options.controlPoints||[];o.forEach((t,i)=>{let s=a.merge(this.options.controlPointOptions,t);s.index||(s.index=i),o[i]=s,e.push(new n(this.chart,this,s))})}function s(t){let i=t.series.getPlotBox(),s=t.series.chart,e=t.mock?t.toAnchor():s.tooltip&&s.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],o={x:e[0]+(this.options.x||0),y:e[1]+(this.options.y||0),height:e[2]||0,width:e[3]||0};return{relativePosition:o,absolutePosition:a.merge(o,{x:o.x+(t.mock?i.translateX:s.plotLeft),y:o.y+(t.mock?i.translateY:s.plotTop)})}}function e(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function o(){var t=this.options;return t.points||t.point&&a.splat(t.point)}function l(){let t,i,s=this.getPointsOptions(),e=this.points,o=s&&s.length||0;for(t=0;tt.redraw(i))}function p(){this.controlPoints.forEach(t=>t.render())}function d(s,e,o,n,a){var t;this.chart.inverted&&(t=e,e=o,o=t),this.points.forEach((t,i)=>this.transformPoint(s,e,o,n,a,i),this)}function u(t,i,s,e,o,n){let a=this.points[n];(a=a.mock?a:this.points[n]=r.fromPoint(a))[t](i,s,e,o)}function g(t,i){this.transform("translate",null,null,t,i)}function m(t,i,s){this.transformPoint("translate",null,null,t,i,s)}}),i(t,"Extensions/Annotations/Controllables/Controllable.js",[t["Extensions/Annotations/ControlTarget.js"],t["Core/Utilities.js"]],function(t,i){let n=i["merge"];class s{constructor(t,i,s,e){this.annotation=t,this.chart=t.chart,this.collection="label"===e?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=s,this.itemType=e,this.init(t,i,s)}attr(){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,s,e=this.constructor.attrsMap,o={},n=this.chart.styledMode;for(i in t)s=e[i],void 0===e[i]||n&&-1!==["fill","stroke","stroke-width"].indexOf(s)||(o[s]=t[i]);return o}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,s){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=s,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,s){this.transform("rotate",t,i,s)}scale(t,i,s,e){this.transform("scale",t,i,s,e)}setControlPointsVisibility(i){this.controlPoints.forEach(t=>{t.setVisibility(i)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,s){let e=this.annotation.chart,o=this.annotation.userOptions,n=e.annotations.indexOf(this.annotation),a=e.options.annotations[n];this.translatePoint(t,i,0),s&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,o[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,s=n(!0,this.options,t),e=this.graphic.parentGroup,o=this.constructor;this.destroy(),n(!0,this,new o(i,s,this.index,this.itemType)),this.render(e),this.redraw()}}return t.compose(s),s}),i(t,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}}}),i(t,"Extensions/Annotations/Controllables/ControllablePath.js",[t["Extensions/Annotations/Controllables/Controllable.js"],t["Extensions/Annotations/Controllables/ControllableDefaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i,s,e){let o=i["defaultMarkers"],{addEvent:n,defined:p,extend:a,merge:d,uniqueKey:u}=e,r=c("marker-end"),l=c("marker-start"),h="rgba(192,192,192,"+(s.svg?1e-4:.002)+")";function c(i){return function(t){this.attr(i,"url(#"+t+")")}}function g(){this.options.defs=d(o,this.options.defs||{})}function m(t,i){let s={attributes:{id:t}},e={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"},o=(s.children=i.children&&i.children.map(function(t){return d(e,t)}),d(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s)),n=this.definition(o);return n.id=t,n}class x extends t{static compose(t,i){let s=i.prototype;s.addMarker||(n(t,"afterGetContainer",g),s.addMarker=m)}constructor(t,i,s){super(t,i,s,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,s=i.length,e=[],o=s,n=i[0],a=o&&this.anchor(n).absolutePosition,r=0,l;if(a)for(e.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),o(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,s,e){return Math.abs((i.y-t.y)*s-(i.x-t.x)*e+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let s=t.x,e=t.y,o=i.x,n=i.y,a=(s+o)/2,r=Math.sqrt((s-o)*(s-o)/4+(e-n)*(e-n)/4),l=180*Math.atan((n-e)/(o-s))/Math.PI;return at.plotWidth&&("left"===n?h.align="right":h.x=(h.x||0)+t.plotWidth-o),(o=p+r)<0&&("bottom"===a?h.verticalAlign="top":h.y=(h.y||0)-o),(o=p+l.height-r)>t.plotHeight&&("top"===a?h.verticalAlign="bottom":h.y=(h.y||0)+t.plotHeight-o),h}constructor(t,i,s){super(t,i,s,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let s=this.annotation.chart,e=this.annotation.userOptions,o=s.annotations.indexOf(this.annotation),n=s.options.annotations[o];var a;s.inverted&&(a=t,t=i,i=a),this.options.x+=t,this.options.y+=i,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y,e[this.collection][this.index].x=this.options.x,e[this.collection][this.index].y=this.options.y}render(t){let i=this.options,s=this.attrsFromOptions(i),e=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(s).add(t),this.annotation.chart.styledMode||("contrast"===e.color&&(e.color=this.annotation.chart.renderer.getContrast(-1{o(e,t,i.closeButtonEvents.bind(i))}),o(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),e}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,s=this.closeButton;this.type=void 0,i.innerHTML=e.emptyHTML,0<=i.className.indexOf(t)&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(s),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}}}),i(t,"Extensions/Annotations/Popup/PopupAnnotations.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let{doc:c,isFirefox:p}=t,{createElement:d,isArray:u,isObject:g,objectEach:m,pick:h,stableSort:x}=i;function v(e,o,n,t,a,r){let l,h;if(o){let i=this.addInput,s=this.lang;m(t,(t,i)=>{l=""!==n?n+"."+i:i,g(t)&&(!u(t)||u(t)&&g(t[0])?((h=s[i]||i).match(/\d/g)||a.push([!0,h,e]),v.call(this,e,o,l,t,a,!1)):a.push([this,l,"annotation",e,t]))}),r&&(x(a,t=>t[1].match(/format/g)?-1:1),p&&a.reverse(),a.forEach(t=>{!0===t[0]?d("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(c.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},i.apply(t[0],t.splice(1)))}))}}return{addForm:function(e,o,n,a){if(e){let t=this.container,i=this.lang,s=d("h2",{className:"highcharts-popup-main-title"},void 0,t);s.appendChild(c.createTextNode(i[o.langKey]||o.langKey||"")),s=d("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,t);var r=d("div",{className:"highcharts-popup-bottom-row"},void 0,t);v.call(this,s,e,"",o,[],!0),this.addButton(r,a?i.addButton||"Add":i.saveButton||"Save",a?"add":"save",t,n)}},addToolbar:function(t,i,s){let e=this.lang,o=this.container,n=this.showForm,a="highcharts-annotation-toolbar",r=(-1===o.className.indexOf(a)&&(o.className+=" "+a+" highcharts-no-mousewheel"),t&&(o.style.top=t.plotTop+10+"px"),d("p",{className:"highcharts-annotation-label"},void 0,o)),l=(r.setAttribute("aria-label","Annotation type"),r.appendChild(c.createTextNode(h(e[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,""))),this.addButton(o,e.editButton||"Edit","edit",o,()=>{n.call(this,"annotation-edit",t,i,s)}));l.className+=" highcharts-annotation-edit-button",l.style["background-image"]="url("+this.iconsURL+"edit.svg)",(l=this.addButton(o,e.removeButton||"Remove","remove",o,s)).className+=" highcharts-annotation-remove-button",l.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}}}),i(t,"Extensions/Annotations/Popup/PopupIndicators.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(m,t,i,s){var h;let x=t["doc"],n=i["seriesTypes"],{addEvent:v,createElement:f,defined:c,isArray:y,isObject:p,objectEach:b,stableSort:A}=s,r=((t=h=h||{})[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average",{"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]});function a(t){f("div",{className:"highcharts-popup-lhs-col"},void 0,t);t=f("div",{className:"highcharts-popup-rhs-col"},void 0,t);f("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,t)}function d(e,t,i,s){function n(t,i){let s=g.parentNode.children[1];(function(t,i,s,e){var o=i.params||i.options.params;e.innerHTML=m.emptyHTML,f("h3",{className:"highcharts-indicator-title"},void 0,e).appendChild(x.createTextNode(E(i,s).indicatorFullName)),f("input",{type:"hidden",name:"highcharts-type-"+s,value:s},void 0,e),P.call(this,s,"series",t,e,i,i.linkedParent&&i.linkedParent.options.id),o.volumeSeriesID&&P.call(this,s,"volume",t,e,i,i.linkedParent&&o.volumeSeriesID),C.call(this,t,"params",o,s,e)}).call(o,e,t,i,g),s&&(s.style.display="block"),h&&t.options&&f("input",{type:"hidden",name:"highcharts-id-"+i,value:t.options.id},void 0,g).setAttribute("highcharts-data-series-id",t.options.id)}let o=this,a=o.lang,r=t.querySelectorAll(".highcharts-popup-lhs-col")[0],l=t.querySelectorAll(".highcharts-popup-rhs-col")[0],h="edit"===i,c=h?e.series:e.options.plotOptions||{};if(!e&&c)return;let p,d=[],u=(h||y(c)?y(c)&&(d=function(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}.call(this,c)):d=function(t,n){let a,i=this.chart&&this.chart.options.lang,r=i&&i.navigation&&i.navigation.popup&&i.navigation.popup.indicatorAliases,l=[];return b(t,(o,t)=>{var i=o&&o.options;if(o.params||i&&i.params){let{indicatorFullName:s,indicatorType:e}=E(o,t);if(n){let t=RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),i=r&&r[e]&&r[e].join(" ")||"";(s.match(t)||i.match(t))&&(a={indicatorFullName:s,indicatorType:e,series:o},l.push(a))}else a={indicatorFullName:s,indicatorType:e,series:o},l.push(a)}}),l}.call(this,c,s),A(d,(t,i)=>{t=t.indicatorFullName.toLowerCase(),i=i.indicatorFullName.toLowerCase();return t{let{indicatorFullName:i,indicatorType:s,series:e}=t,o=(p=f("li",{className:"highcharts-indicator-list"},void 0,u),f("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,p));["click","touchstart"].forEach(t=>{v(o,t,function(){n(e,s)})})}),0{var s,e=a+"."+i;c(t)&&e&&(p(t)&&(o.call(this,e,r,l,{}),C.call(this,n,e,t,r,l)),e in h?(s=u.call(this,r,e,l),g.call(this,n,a,s,r,i,t)):"params.volumeSeriesID"==e||y(t)||o.call(this,e,r,l,{value:t,type:"number"}))})}}function l(i,t){function s(t){d.call(e,i,e.container,"add",t)}let e=this,o=t.querySelectorAll(".highcharts-popup-lhs-col")[0],n=this.lang.clearFilter,a=f("div",{className:"highcharts-input-wrapper"},void 0,o),r=this.addInput("searchIndicators","input",a,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),l=f("a",{textContent:n},void 0,a);r.classList.add("highcharts-input-search-indicators"),l.classList.add("clear-filter-button"),v(r,"input",function(){s(this.value),this.value.length?l.style.display="inline-block":l.style.display="none"}),["click","touchstart"].forEach(t=>{v(l,t,function(){r.value="",s(""),l.style.display="none"})})}function u(t,i,s){var e=i.split("."),e=e[e.length-1],t="highcharts-"+i+"-type-"+t,o=this.lang;f("label",{htmlFor:t},null,s).appendChild(x.createTextNode(o[e]||i));let n=f("select",{name:t,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return n.setAttribute("id","highcharts-select-"+i),n}function g(t,e,o,i,s,n,a){"series"===e||"volume"===e?t.series.forEach(t=>{var i=t.options,s=i.name||i.params?t.name:i.id||"";"highcharts-navigator-series"!==i.id&&i.id!==(a&&a.options&&a.options.id)&&(c(n)||"volume"!==e||"column"!==t.type||(n=i.id),f("option",{value:i.id},void 0,o).appendChild(x.createTextNode(s)))}):i&&s&&r[s+"-"+i].forEach(t=>{f("option",{value:t},void 0,o).appendChild(x.createTextNode(t))}),c(n)&&(o.value=n)}function E(t,i){let s=t.options,e=n[i]&&n[i].prototype.nameBase||i.toUpperCase(),o=i;return s&&s.type&&(o=t.options.type,e=t.name),{indicatorFullName:e,indicatorType:o}}function P(i,s,e,o,n,a){if(e){let t=u.call(this,i,s,o);g.call(this,e,s,t,void 0,void 0,void 0,n),c(a)&&(t.value=a)}}return{addForm:function(i,t,s){var e,o=this.lang;if(i){this.tabs.init.call(this,i);let t=this.container.querySelectorAll(".highcharts-tab-item-content");a(t[0]),l.call(this,i,t[0]),d.call(this,i,t[0],"add"),e=t[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.addButton||"add","add",e,s),a(t[1]),d.call(this,i,t[1],"edit"),e=t[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.saveButton||"save","edit",e,s),this.addButton(e,o.removeButton||"remove","remove",e,s)}},getAmount:function(){let i=0;return this.series.forEach(t=>{(t.params||t.options.params)&&i++}),i}}}),i(t,"Extensions/Annotations/Popup/PopupTabs.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let a=t["doc"],{addEvent:o,createElement:r}=i;function s(){return r("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function e(t,i){let s=this.container,e=this.lang,o="highcharts-tab-item",n=(0===i&&(o+=" highcharts-tab-disabled"),r("button",{className:o},void 0,s));return n.appendChild(a.createTextNode(e[t+"Button"]||t)),n.setAttribute("highcharts-data-tab-type",t),n}function n(t,i){let s=this.container.querySelectorAll(".highcharts-tab-item-content");t.className+=" highcharts-tab-item-active",s[i].className+=" highcharts-tab-item-show"}function l(t){let e=this;this.container.querySelectorAll(".highcharts-tab-item").forEach((i,s)=>{0===t&&"edit"===i.getAttribute("highcharts-data-tab-type")||["click","touchstart"].forEach(t=>{o(i,t,function(){(function(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{let i=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(i){i.cancelClick=!0;let t=l(h,"click",()=>{setTimeout(()=>{i.cancelClick=!1},0),t()})}})}addInput(t,i,s,e){let o=t.split("."),n=o[o.length-1],a=this.lang,r="highcharts-"+i+"-"+u(e.htmlFor,n),l=(n.match(/^\d+$/)||c("label",{htmlFor:r,className:e.labelClassName},void 0,s).appendChild(h.createTextNode(a[n]||n)),c("input",{name:r,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,s));return l.setAttribute("highcharts-data-name",t),l}closeButtonEvents(){var t;this.chart?(t=this.chart.navigationBindings,d(t,"closePopup"),t&&t.selectedButtonElement&&d(t,"deselectButton",{button:t.selectedButtonElement})):super.closeButtonEvents()}addButton(t,i,s,e,o){let n=c("button",void 0,void 0,t);return n.appendChild(h.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{l(n,t,()=>(this.closePopup(),o(function(t,i){let s=Array.prototype.slice.call(t.querySelectorAll("input")),e=Array.prototype.slice.call(t.querySelectorAll("select")),o=t.querySelectorAll("#highcharts-select-series > option:checked")[0],n=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:o&&o.getAttribute("value")||"",fields:{}};return s.forEach(t=>{var i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),e.forEach(t=>{let i=t.id;var s;"highcharts-select-series"!==i&&"highcharts-select-volume"!==i&&(s=i.split("highcharts-select-")[1],a.fields[s]=t.value)}),n&&(a.fields["params.volumeSeriesID"]=n.getAttribute("value")||""),a}(e,s))))}),n}showForm(t,i,s,e){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,s,e),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,s,e),"annotation-edit"===t&&this.annotations.addForm.call(this,i,s,e),"flag"===t&&this.annotations.addForm.call(this,i,s,e,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}return p(g.prototype,{annotations:e,indicators:o,tabs:n}),g}),i(t,"Extensions/Annotations/Popup/PopupComposition.js",[t["Core/Globals.js"],t["Extensions/Annotations/Popup/Popup.js"],t["Core/Utilities.js"]],function(t,i,s){let e=t["composed"],{addEvent:o,pushUnique:n,wrap:a}=s;function r(){this.popup&&this.popup.closePopup()}function l(t){this.popup||(this.popup=new i(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/11.4.8/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function h(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(t,i){n(e,"Popup")&&(o(t,"closePopup",r),o(t,"showPopup",l),a(i.prototype,"onContainerMouseDown",h))}}}),i(t,"Extensions/Annotations/Annotation.js",[t["Core/Animation/AnimationUtilities.js"],t["Extensions/Annotations/AnnotationChart.js"],t["Extensions/Annotations/AnnotationDefaults.js"],t["Extensions/Annotations/Controllables/ControllableRect.js"],t["Extensions/Annotations/Controllables/ControllableCircle.js"],t["Extensions/Annotations/Controllables/ControllableEllipse.js"],t["Extensions/Annotations/Controllables/ControllablePath.js"],t["Extensions/Annotations/Controllables/ControllableImage.js"],t["Extensions/Annotations/Controllables/ControllableLabel.js"],t["Extensions/Annotations/ControlPoint.js"],t["Extensions/Annotations/ControlTarget.js"],t["Extensions/Annotations/EventEmitter.js"],t["Extensions/Annotations/MockPoint.js"],t["Extensions/Annotations/Popup/PopupComposition.js"],t["Core/Utilities.js"]],function(t,o,i,s,e,n,a,r,l,h,c,p,d,u,g){let m=t["getDeferredAnimation"],{destroyObjectProperties:x,erase:v,fireEvent:f,merge:y,pick:b,splat:A}=g;function C(i,e){let o={};return["labels","shapes"].forEach(t=>{let s=i[t];s&&(e[t]?o[t]=A(e[t]).map(function(t,i){return y(s[i],t)}):o[t]=i[t])}),o}class E extends p{static compose(t,i,s,e){o.compose(E,t,s),l.compose(e),a.compose(t,e),i.compose(E,t),u.compose(i,s)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=y(this.defaultOptions,i),this.userOptions=i;i=C(this.options,i);this.options.labels=i.labels,this.options.shapes=i.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let s=this.options.labels||[];s.forEach((t,i)=>{t=this.initLabel(t,i);y(!0,s[i],t.options)})}addShapes(){let s=this.options.shapes||[];s.forEach((t,i)=>{t=this.initShape(t,i);y(!0,s[i],t.options)})}destroy(){function t(t){t.destroy()}var i=this.chart;this.labels.forEach(t),this.shapes.forEach(t),this.clipXAxis=null,this.clipYAxis=null,v(i.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),x(this,i)}destroyItem(t){v(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);var s=C(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,s=this.index){var e=this.chart,o=this.options.animation;this.index=s,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=m(e,o)}initLabel(t,i){let s=new l(this,y(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=y(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),e=new E.shapesMap[s.type](this,s,i);return e.itemType="shape",this.shapes.push(e),e}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(s,e){if(s.linkPoints(),s.shouldBeDrawn()){if(s.graphic||this.renderItem(s),s.redraw(b(e,!0)&&s.graphic.placed),s.points.length){e=s;let t=e.graphic,i=e.points.some(t=>!1!==t.series.visible&&!1!==t.visible);t&&(i?"hidden"===t.visibility&&t.show():t.hide())}}else this.destroyItem(s)}redrawItems(t,i){let s=t.length;for(;s--;)this.redrawItem(t[s],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let s=this.chart.xAxis,e=this.chart.yAxis,t=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((t,i)=>{i=i&&(i.point||i.points&&i.points[0]);return[s[i&&i.xAxis]||t[0],e[i&&i.yAxis]||t[1]]},[]);this.clipXAxis=t[0],this.clipYAxis=t[1]}setControlPointsVisibility(i){function t(t){t.setControlPointsVisibility(i)}this.controlPoints.forEach(t=>{t.setVisibility(i)}),this.shapes.forEach(t),this.labels.forEach(t)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=y(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,e=b(t,!i.visible);this.graphic.attr("visibility",e?"inherit":"hidden"),e||(this.shapes.forEach(t=function(t){t.setControlPointsVisibility(e)}),this.labels.forEach(t),s.activeAnnotation===this&&s.popup&&"annotation-toolbar"===s.popup.type&&f(s,"closePopup")),i.visible=e}update(t,i){let s=this.chart,e=C(this.userOptions,t),o=s.annotations.indexOf(this),n=y(!0,this.userOptions,t);n.labels=e.labels,n.shapes=e.shapes,this.destroy(),this.initProperties(s,n),this.init(s,n),s.options.annotations[o]=this.options,this.isUpdating=!0,b(i,!0)&&s.drawAnnotations(),f(this,"afterUpdate"),this.isUpdating=!1}}return E.ControlPoint=h,E.MockPoint=d,E.shapesMap={rect:s,circle:e,ellipse:n,path:a,image:r},E.types={},E.prototype.defaultOptions=i,E.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],c.compose(E),E}),i(t,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;{var i=t=t||{};i.compose=function(t){return t.navigation||(t.navigation=new s(t)),t};class s{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(i,s){this.updates.forEach(t=>{t.call(this.chart,i,s)})}}i.Additions=s}return t}),i(t,"Extensions/Annotations/NavigationBindingsUtilities.js",[t["Core/Utilities.js"]],function(t){let{defined:o,isNumber:n,pick:a}=t,r={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:r,getAssignedAxis:function(t){return t.filter(t=>{var i=t.axis.getExtremes(),s=i.min,i=i.max,e=a(t.axis.minPointOffset,0);return n(s)&&n(i)&&t.value>=s-e&&t.value<=i+e&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let s=r[t],e=typeof i;return{string:"text",number:"number",boolean:"checkbox"}[e=o(s)?s:e]}}}),i(t,"Extensions/Annotations/NavigationBindingsDefaults.js",[t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i){let l=t["getAssignedAxis"],{isNumber:a,merge:n}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(n({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:i.value,y:t.value,xAxis:i.axis.index,yAxis:t.axis.index},r:5}]},s.annotationsOptions,s.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;var e,o,n=i.options.shapes,n=n&&n[0]&&n[0].point||{};a(n.xAxis)&&a(n.yAxis)&&(e=this.chart.inverted,o=this.chart.xAxis[n.xAxis].toPixels(n.x),n=this.chart.yAxis[n.yAxis].toPixels(n.y),s=Math.max(Math.sqrt(Math.pow(e?n-t.chartX:o-t.chartX,2)+Math.pow(e?o-t.chartY:n-t.chartY,2)),5)),i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(n({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:i.axis.index,yAxis:t.axis.index,points:[{x:i.value,y:t.value},{x:i.value,y:t.value}],ry:1}]},s.annotationsOptions,s.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[1]);s.translatePoint(t.chartX-e.x,t.chartY-e.y,1),s.redraw(!1)},function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[0]),o=s.getAbsolutePosition(s.points[1]),n=s.getDistanceFromLine(e,o,t.chartX,t.chartY),a=s.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(n));s.setYRadius(r),s.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i,s,e,t=this.chart.pointer?.getCoordinates(t),o=t&&l(t.xAxis),t=t&&l(t.yAxis);if(o&&t)return i=o.value,s=t.value,o=o.axis.index,t=t.axis.index,e=this.chart.options.navigation,this.chart.addAnnotation(n({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:o,yAxis:t,x:i,y:s},{xAxis:o,yAxis:t,x:i,y:s},{xAxis:o,yAxis:t,x:i,y:s},{xAxis:o,yAxis:t,x:i,y:s},{command:"Z"}]}]},e.annotationsOptions,e.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,e=s&&s[0]&&s[0].points||[],o=this.chart.pointer?.getCoordinates(t),n=o&&l(o.xAxis),a=o&&l(o.yAxis);var r;n&&a&&(t=n.value,r=a.value,e[1].x=t,e[2].x=t,e[2].y=r,e[3].y=r,i.update({shapes:[{points:e}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),s=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(n({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:i.axis.index,yAxis:t.axis.index,x:i.value,y:t.value}}]},s.annotationsOptions,s.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),i(t,"Extensions/Annotations/NavigationBindings.js",[t["Core/Chart/ChartNavigationComposition.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Extensions/Annotations/NavigationBindingsDefaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i,s,o,e,n,a){let r=i["setOptions"],c=s["format"],{composed:l,doc:h,win:p}=o,{getAssignedAxis:d,getFieldType:u}=n,{addEvent:g,attr:m,defined:x,fireEvent:v,isArray:f,isFunction:y,isNumber:b,isObject:A,merge:C,objectEach:E,pick:P,pushUnique:k}=a;function w(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function j(){this.navigationBindings&&this.navigationBindings.destroy()}function B(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new D(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function O(){let t=this.navigationBindings,a="highcharts-disabled-btn";if(this&&t){let n=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(n=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let i=this.navigationBindings.container[0];E(t.boundClassNames,(e,t)=>{var o=i.querySelectorAll("."+t);if(o)for(let s=0;s{T(t)}),g(i,"destroy",j),g(i,"load",B),g(i,"render",O),g(D,"closePopup",N),g(D,"deselectButton",M),r(e))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=h.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){t=this.chart.pointer?.getCoordinates(t);return[t&&d(t.xAxis),t&&d(t.yAxis)]}initEvents(){let e=this,i=e.chart,t=e.container,s=e.options;e.boundClassNames={},E(s.bindings||{},t=>{e.boundClassNames[t.className]=t}),[].forEach.call(t,s=>{e.eventsToUnbind.push(g(s,"click",t=>{let i=e.getButtonEvents(s,t);i&&!i.button.classList.contains("highcharts-disabled-btn")&&e.bindingsButtonClick(i.button,i.events,t)}))}),E(s.events||{},(t,i)=>{y(t)&&e.eventsToUnbind.push(g(e,i,t,{passive:!1}))}),e.eventsToUnbind.push(g(i.container,"click",function(t){!i.cancelClick&&i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&e.bindingsChartClick(this,t)})),e.eventsToUnbind.push(g(i.container,o.isTouchDevice?"touchmove":"mousemove",function(t){e.bindingsContainerMouseMove(this,t)},o.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,s){let e=this.chart,o=e.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),v(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&e.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),n?(this.selectedButton=i,this.selectedButtonElement=t,v(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,s),(i.start||i.steps)&&e.renderer.boxWrapper.addClass("highcharts-draw-mode")):(e.stockTools&&t.classList.remove("highcharts-active"),o.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let s=this.activeAnnotation,e=this.selectedButton,o=t.renderer.boxWrapper;s&&(s.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let s=p.Element.prototype,e=s.matches||s.msMatchesSelector||s.webkitMatchesSelector,o=null;if(s.closest)o=s.closest.call(t,i);else do{if(e.call(t,i))return t}while(null!==(t=t.parentElement||t.parentNode)&&1===t.nodeType);return o}(i.target,".highcharts-popup")?s.cancelClick&&setTimeout(()=>{s.cancelClick=!1},0):v(this,"closePopup")),e&&e.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,e.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]:(v(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),e.end&&e.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=e.start.call(this,i),this.currentUserDetails&&e.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(v(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,s){return E(t,(o,t)=>{let i=parseFloat(o),n=t.split("."),a=n.length-1;if("undefined"!==(o=!b(i)||o.match(/px|em/g)||t.match(/format/g)?o:i)){let e=s;n.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let t=P(n[s+1],"");a===s?e[i]=o:(e[i]||(e[i]=t.match(/\d/g)?[]:{}),e=e[i])}})}}),s}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(a){let i=a.options,e=D.annotationsEditable,r=e.nestedOptions,o=P(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),l=D.annotationsNonEditable[i.langKey]||[],n={langKey:i.langKey,type:o};function h(t,e,s,o,i){let n;s&&x(t)&&-1===l.indexOf(e)&&(0<=(s.indexOf&&s.indexOf(e))||s[e]||!0===s)&&(f(t)?(o[e]=[],t.forEach((t,s)=>{A(t)?(o[e][s]={},E(t,(t,i)=>{h(t,i,r[e],o[e][s],e)})):h(t,0,r[e],o[e],e)})):A(t)?(n={},f(o)?(o.push(n),n[e]={},n=n[e]):o[e]=n,E(t,(t,i)=>{h(t,i,0===e?s:r[e],n,e)})):"format"===e?o[e]=[c(t,a.labels[0].points[0]).toString(),"text"]:f(o)?o.push([t,u(i,t)]):o[e]=[t,u(e,t)])}return E(i,(t,s)=>{"typeOptions"===s?(n[s]={},E(i[s],(t,i)=>{h(t,i,r,n[s],i)})):h(t,s,e[o],n,s)}),n}getClickedClassNames(t,i){let s=i.target,e=[],o;for(;s&&s.tagName&&((o=m(s,"class"))&&(e=e.concat(o.split(" ").map(t=>[t,s]))),(s=s.parentNode)!==t););return e}getButtonEvents(t,i){let s,e=this;return this.getClickedClassNames(t,i).forEach(t=>{e.boundClassNames[t[0]]&&!s&&(s={events:e.boundClassNames[t[0]],button:t[1]})}),s}update(t){this.options=C(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return D.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},D.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},D}),i(t,"masters/modules/annotations.src.js",[t["Core/Globals.js"],t["Extensions/Annotations/Annotation.js"],t["Extensions/Annotations/NavigationBindings.js"]],function(t,i,s){return t.Annotation=t.Annotation||i,t.NavigationBindings=t.NavigationBindings||s,t.Annotation.compose(t.Chart,t.NavigationBindings,t.Pointer,t.SVGRenderer),t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/arc-diagram.min.js b/assets/js/external/highcharts/modules/arc-diagram.min.js index 0443a2b..d33517c 100644 --- a/assets/js/external/highcharts/modules/arc-diagram.min.js +++ b/assets/js/external/highcharts/modules/arc-diagram.min.js @@ -1 +1 @@ -!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("modules/arc-diagram",["highcharts/modules/sankey"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var t=r?r._modules:{};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Series/ArcDiagram/ArcDiagramPoint.js",[t["Series/NodesComposition.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{sankey:{prototype:{pointClass:s}}}=e["seriesTypes"],r=i["extend"];class a extends s{isValid(){return!0}}return r(a.prototype,{setState:t.setNodeState}),a}),e(t,"Series/ArcDiagram/ArcDiagramSeriesDefaults.js",[],function(){return{centeredLinks:!1,equalNodes:!1,dataLabels:{linkTextPath:{attributes:{startOffset:"25%"}}},marker:{fillOpacity:1,lineWidth:0,states:{},symbol:"circle"},offset:"100%",reversed:!1}}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:a}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(a(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:x,merge:b,pick:v}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,a=s.squareSymbol,o=a?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(a?(t.symbolWidth-r)/2:0,t.baseline-r+1,o,r,v(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:a}=this,{baseline:o=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,p=r.renderer,c=s.group,g=o-Math.round(h*(i?.4:.3)),u={},m,f=a.marker,y=0;if(r.styledMode||(u["stroke-width"]=Math.min(a.lineWidth||0,24),a.dashStyle?u.dashstyle=a.dashStyle:"square"!==a.linecap&&(u["stroke-linecap"]="round")),s.line=p.path().addClass("highcharts-graph").attr(u).add(c),i&&(s.area=p.path().addClass("highcharts-area").add(c)),u["stroke-linecap"]&&(y=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",y,g],["L",n-y,g]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-y,o],["L",y,o]]})),f&&!1!==f.enabled&&n){let t=Math.min(v(f.radius,d),d);0===l.indexOf("url")&&(f=b(f,{width:h,height:h}),t=0),s.symbol=m=p.symbol(l,n/2-t,g-t,2*t,2*t,x({context:"legend"},f)).addClass("highcharts-point").add(c),m.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,a,o,d,p){let{animObject:c,setAnimation:g}=t,u=e["defaultOptions"],n=i["registerEventOptions"],{svg:m,win:f}=s,x=o["seriesTypes"],{arrayMax:k,arrayMin:A,clamp:D,correctFloat:w,crisp:y,defined:M,destroyObjectProperties:N,diffObjects:I,erase:b,error:O,extend:v,find:W,fireEvent:L,getClosestDistance:G,getNestedProperty:h,insertItem:S,isArray:E,isNumber:T,isString:X,merge:P,objectEach:C,pick:j,removeEvent:z,splat:V,syncTimeout:B}=p;class R{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(L(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,a=!1!==e.visible,a=(s.linkedSeries=[],s.bindAxes(),v(s,{name:e.name,state:"",visible:a,selected:!0===e.selected}),n(this,e),e.events);(a&&a.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),L(this,"afterInit")}is(t){return x[t]&&this instanceof x[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;L(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||O(18,!0,t)})}),L(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=T(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!p.negativeColor&&!p.negativeFillColor||p.zones||(e={value:p[this.zoneAxis+"Threshold"]||p.threshold||0,className:"highcharts-negative"},a||(e.color=p.negativeColor,e.fillColor=p.negativeFillColor),c.push(e)),c.length&&M(c[c.length-1].value)&&c.push(a?{}:{color:this.color,fillColor:this.fillColor}),L(this,"afterSetOptions",{options:p}),p}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,a=this.chart,o=t+"Index",n=t+"Counter",h=i?.length||a.options.chart.colorCount;e||(M(r=j("color"===t?this.options.colorIndex:void 0,this[o]))?s=r:(a.series.length||(a[n]=0),s=a[n]%h,a[n]+=1),i&&(e=i[s])),void 0!==s&&(this[o]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var a=e.id,o=e.x,n=this.points,h=this.options.dataSorting;if(a){a=this.chart.get(a);a instanceof l&&(i=a)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=W(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&T(o)?this.xData.indexOf(o,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&T(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,a=r.dataSorting,o=this.points,n=[],h=this.requireSorting,l=t.length===o.length,d,i,s,p,c=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=M(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||T(s)?(-1===(s=this.findPointIndex(i,p))||void 0===s?n.push(t):o[s]&&t!==r.data[s]?(o[s].update(t,!1,null,!1),o[s].touched=!0,h&&(p=s+1)):o[s]&&(o[s].touched=!0),(!l||e!==s||a&&a.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=o.length;i--;)(s=o[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||a&&a.enabled?c=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),n.length=0);return o.forEach(function(t){t&&(t.touched=!1)}),!!c&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=k(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,a=r.points,o=a&&a.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,p=n.turboThreshold,c=this.xData,g=this.yData,u=r.pointArrayMap,m=u&&u.length,f=n.keys,y,x,b,v=0,S=1,C;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,C=P(!0,e));var k=(e=C||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(b=h.options.chart.allowMutatingData&&!1!==s&&k&&o&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):b)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=p&&p!(!E(t)||!f&&!T(t[0]));if(T(s)&&T(A))for(y=0;y{t=h(s,t),e=h(s,e);return ep?(c=[],g=[]):e.yData&&(c[0]p)&&(c=(o=this.cropData(e.xData,e.yData,d,p)).xData,g=o.yData,h=o.start,n=!0));t=G([r?c.map(r.log2lin):c],()=>e.requireSorting&&!u&&O(15,!1,e.chart));return{xData:c,yData:g,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,L(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,a,o,n=0,h=r;for(a=0;a=i){n=Math.max(0,a-1);break}for(o=a;os){h=o+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,a=i.length,o=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?o:0,p,c,g,u,m=this.data;if(!m&&!n){let t=[];t.length=e.length,m=this.data=t}for(h&&n&&(this.options.keys=!1),u=0;u=y&&(S[m-a]||g)<=x,p&&c)if(f=u.length)for(;f--;)T(u[f])&&(r[b++]=u[f]);else r[b++]=u;var C={activeYData:r,dataMin:A(r),dataMax:k(r)};return L(this,"afterGetExtremes",{dataExtremes:C}),C}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,L(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,a,o,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:p}=this,c=p.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,m=j(c.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=c.enabledThreshold*c.radius);if(!1!==c.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,a=(i=x?o-i:i)-s;r?.push(["L",e,Math.abs(a){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],v?o-t[1]:t[1],v?t[2]:o-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=D(a.toPixels(j(t.value,e),!0)||0,0,o)}),m&&!this.showLine&&m.hide(),u&&u.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(f.reversed&&e.reverse(),t),a=0,o=0,n=f.len,h=y.len;v?(a=i,n=g):(o=i,h=g);var l=[["M",a,o],["L",n,o],["L",n,h],["L",a,h],["Z"]],d=[l[0],...e,l[1],l[2],...c,l[3],l[4]];c=e.reverse(),g=i,x&&(p(d),u&&p(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=b.path(d),u&&(r=t.simpleClip=b.path(l))),m&&t.graph?.clip(s),u&&t.area?.clip(r)})}else this.visible&&(m&&m.show(),u&&u.show())}plotGroup(t,e,i,s,r){let a=this[t],o=!a,n={visibility:i,zIndex:s||.1};return M(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),a||(this[t]=a=this.chart.renderer.g().add(r)),a.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(M(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(a.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),a.attr(n)[o?"attr":"animate"](this.getPlotBox(e)),a}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||z(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=c(i.animation),a=t.visible?"inherit":"hidden",o=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;L(this,"render"),t.plotGroup("group","series",a,o,n),t.markerGroup=t.plotGroup("markerGroup","markers",a,o,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,L(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[a=Math.floor(o/2)],left:t(e.slice(0,a),i+1,s),right:t(e.slice(a+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let u=this,[m,f]=this.kdAxisArray,y=e?"distX":"dist",s=-1<(u.options.findNearestPointBy||"").indexOf("y")?2:1,x=!!u.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let a=i.point,o=u.kdAxisArray[s%r],n,h,l=a;c=a,g=(d=e)[m],p=c[m],g=M(g)&&M(p)?g-p:null,p=d[f],d=c[f],p=M(p)&&M(d)?p-d:0,d=x&&c.marker?.radius||0,c.dist=Math.sqrt((g&&g*g||0)+p*p)-d,c.distX=M(g)?Math.abs(g)-d:Number.MAX_VALUE;var d,p=(e[o]||0)-(a[o]||0)+(x&&a.marker?.radius||0),c=p<0?"left":"right",g=p<0?"right":"left";return i[c]&&(l=(n=t(e,i[c],s+1,r))[y]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(m?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=o.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{a?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),L(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let a,o,n=this.options,h=this.data,l=this.chart,d=this.xAxis,p=d&&d.hasNames&&d.names,c=n.data,g=this.xData;e=j(e,!0);var u={series:this},m=(this.pointClass.prototype.applyOptions.apply(u,[t]),u.x);if(o=g.length,this.requireSorting&&mm;)o--;this.updateParallelArrays(u,"splice",[o,0,0]),this.updateParallelArrays(u,o),p&&u.name&&(p[m]=u.name),c.splice(o,0,t),(a||this.processedData)&&(this.data.splice(o,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(u,"shift"),c.shift())),!1!==r&&L(this,"addPoint",{point:u}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===a.length&&n.splice(t,1),a.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(o||{series:r},"splice",[t,1]),o&&o.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,a=r.data,o=a[t],n=r.points,h=r.chart;g(i,h),e=j(e,!0),o?o.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,a=r.chart;function o(){r.destroy(s),a.isDirtyLegend=a.isDirtyBox=!0,a.linkSeries(s),j(t,!0)&&a.redraw(e)}!1!==i?L(r,"remove",null,o):o()}update(t,e){L(this,"update",{options:t=I(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,a=i.initialType||i.type,o=s.options.plotOptions,n=x[a].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,p,c=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||r.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),m=(g=g||a,u&&(c.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&c.push("area","graph"),i.parallelArrays.forEach(function(t){c.push(t+"Data")}),t.data&&(t.dataSorting&&v(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=P(r,{index:(void 0===r.index?i:r).index,pointStart:o?.series?.pointStart??r.pointStart??i.xData?.[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(c=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(c)).forEach(function(t){c[t]=i[t],delete i[t]}),!1);if(x[g]){if(m=g!==i.type,i.remove(!1,!1,!1,!0),m)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,x[g].prototype);else{var f=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(p in n)i[p]=void 0;v(i,x[g].prototype),f?i.hcEvents=f:delete i.hcEvents}}else O(17,!0,s,{missingModuleFor:g});if(c.forEach(function(t){i[t]=c[t]}),i.init(s,t),u&&this.points)for(var y of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))y&&y.series&&(y.resolveColor(),Object.keys(l).length&&y.destroyElements(l),!1===d.showInLegend&&y.legendItem&&s.legend.destroyItem(y));i.initialType=a,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),L(this,"afterUpdate"),j(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!M(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&L(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&L(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,a=s.inactiveOtherPoints,o=s.states,n=j(o[e||"normal"]&&o[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(o[e]&&!1===o[e].enabled)return;if(e&&(h=o[e].lineWidth||h+(o[e].lineWidthPlus||0),l=j(o[e].opacity,l)),r&&!r.dashstyle&&T(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);a||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&a&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,a=i.visible,o=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!a:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[o]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),L(i,o),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),L(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return R.defaultOptions=a,R.types=o.seriesTypes,R.registerType=o.registerSeriesType,v(R.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),o.series=R}),e(t,"Core/Renderer/RendererRegistry.js",[t["Core/Globals.js"]],function(s){var t,r;let a;return r=t={rendererTypes:{},getRendererType:function(t=a){return r.rendererTypes[t]||r.rendererTypes[a]},registerRendererType:function(t,e,i){r.rendererTypes[t]=e,a&&!i||(a=t,s.Renderer=e)}},t}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:a,extend:o,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class p extends t{constructor(t,e,i,s,r,a,o,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=a,this.anchorY=o,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=p.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),p.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:a=0,width:o=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:o,height:s,x:r+this.bBox.x-n,y:a+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&a(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!a(t.textStr)?p.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(o(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);a(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return p.emptyBBox={width:0,height:0,x:0,y:0},p.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],p}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:v,isNumber:d,pick:S}=t;function r(u,m,f,y,x){let b=[];if(x){let t=x.start||0,e=S(x.r,f),i=S(x.r,y||f),s=2e-4/(x.borderRadius?1:Math.max(e,1)),r=Math.abs((x.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){o&&o.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),o&&o.removeChild(i)}}else i.appendChild(p.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=g(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),g(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,o++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(p.createTextNode(t),i);let e=p.createElementNS(c,"tspan");e.textContent="​",g(e,{dy:a,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:a}=e,o=this.renderer.styledMode;if("b"===a||"strong"===a?o?s.class="highcharts-strong":r.fontWeight="bold":"i"!==a&&"em"!==a||(o?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===a){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===a&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,a,o,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===p[i]&&s.getSubStringLength)try{p[i]=o+s.getSubStringLength(0,a?i+1:i)}catch(t){}return p[i]}let n,h,l=this.svgElement,d=l["rotation"],p=[],c=a?1:0,g=(t||a||"").length,u=g;if(l.rotation=0,o+(h=s(r.textContent.length))>e){for(;c<=g;)u=Math.ceil((c+g)/2),a&&(n=i(a,u)),h=s(u,n&&n.length-1),c===g?c=g+1:h>e?g=u-1:c=u;0===g?r.textContent="":t&&g===t.length-1||(r.textContent=n||i(t||a,u))}a&&a.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return a(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(x,t,e,i,s,r,l,a,o,n){let h,b=t["defaultOptions"],{charts:m,deg2rad:d,doc:f,isFirefox:p,isMS:v,isWebKit:c,noop:g,SVG_NS:u,symbolSizes:y,win:S}=i,{addEvent:C,attr:k,createElement:A,crisp:D,css:w,defined:M,destroyObjectProperties:O,extend:L,isArray:E,isNumber:T,isObject:P,isString:N,merge:j,pick:B,pInt:I,replaceNested:W,uniqueKey:G}=n;class R{constructor(t,e,i,s,r,a,o){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;o||l.css(this.getStyle(s||{})),t.appendChild(d),k(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&k(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 11.4.7")),this.defs=this.createElement("defs").add(),this.allowHTML=a,this.forExport=r,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),p&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),h=t.getBoundingClientRect(),w(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=C(S,"resize",n))}definition(t){return new x([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((p||c)&&f.getElementsByTagName("base").length&&(M(h)||(t=G(),t=new x([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(f.body),w(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=f.elementFromPoint(6,6),h="hitme"===(e&&e.id),f.body.removeChild(t)),h))return W(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=L({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),O(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new o(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},a,o,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),p=this.styledMode,c=arguments,g=0,u=(r=j(b.global.buttonTheme,r),p&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),m=r.style||{},f=(delete r.states,delete r.style,[x.filterUserAttributes(r)]),y=[m];return p||["hover","select","disabled"].forEach((t,e)=>{f.push(j(f[0],x.filterUserAttributes(c[e+5]||u[t]||{}))),y.push(f[e+1].style),delete f[e+1].style}),C(d.element,v?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),C(d.element,v?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),p||(d.attr(f[t]),t=y[t],P(t)&&d.css(t))},d.attr(f[0]),p||(d.css(L({cursor:"default"},m)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return M(i[1])&&i[1]===s[1]&&(i[1]=s[1]=D(i[1],e)),M(i[2])&&i[2]===s[2]&&(i[2]=s[2]=D(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return E(t)?e.d=t:P(t)&&L(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=P(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,a){let o,n=(P(t)?(e=(o=t).y,i=o.r,s=o.innerR,r=o.start,a=o.end,t=o.x):o={innerR:s,start:r,end:a},this.symbol("arc",t,e,i,i,o));return n.r=i,n}rect(t,e,i,s,r,a){let o=P(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==a&&(o["stroke-width"]=a,L(o,n.crisp(o))),o.fill="none"),n.rSetter=function(t,e,i){n.r=t,k(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(o)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,a){function o(t){h.attr({href:e}),a.call(h,t)}let n={preserveAspectRatio:"none"},h=(T(t)&&(n.x=t),T(i)&&(n.y=i),T(s)&&(n.width=s),T(r)&&(n.height=r),this.createElement("image").attr(n));if(a){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;C(t,"load",o),t.src=e,t.complete&&o({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let a,o,n,h,l=this,p=/^url\((.*?)\)$/,c=p.test(t),g=!c&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof i&&(o=u.call(this.symbols,i||0,s||0,e||0,r||0,d)),a=this.path(o),l.styledMode||a.attr("fill","none"),L(a,{symbolName:g||void 0,x:i,y:s,width:e,height:r}),d&&L(a,d);else if(c){n=t.match(p)[1];let e=a=this.image(n);e.imgwidth=B(d&&d.width,y[n]&&y[n].width),e.imgheight=B(d&&d.height,y[n]&&y[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:a,imgwidth:o,imgheight:n}=this,h="width"===e?o:n,l=1;d&&"within"===d.backgroundSize&&r&&a&&o&&n?(l=Math.min(r/o,a/n),k(s,{width:Math.round(o*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&o&&n&&this.translate(((r||0)-o*l)/2,((a||0)-n*l)/2)}}),M(i)&&e.attr({x:i,y:s}),e.isImg=!0,M(e.imgwidth)&&M(e.imgheight)?h(e):(e.attr({width:0,height:0}),A("img",{onload:function(){let t=m[l.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this)),y[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),M(t)&&(r.text=t);let a=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(a.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),a=t.getAttribute(s);for(let t=0,e;tt.align())}}return L(R.prototype,{Element:r,SVG_NS:u,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:a,draw:g}),s.registerRendererType("svg",R,!0),R}),e(t,"Series/ArcDiagram/ArcDiagramSeries.js",[t["Series/ArcDiagram/ArcDiagramPoint.js"],t["Series/ArcDiagram/ArcDiagramSeriesDefaults.js"],t["Series/Sankey/SankeyColumnComposition.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Extensions/TextPath.js"]],function(t,e,i,s,r,a,o,n,h){h.compose(n);let{symbols:p}=a["prototype"],{column:l,sankey:c}=r["seriesTypes"],{crisp:g,extend:d,merge:u,pick:m,relativeLength:f}=o;class y extends c{createNodeColumns(){let d=this,c=d.chart,g=i.compose([],d);return g.sankeyColumn.maxLength=c.inverted?c.plotHeight:c.plotWidth,g.sankeyColumn.getTranslationFactor=t=>{let e=g.slice(),i=this.options.minLinkWidth||0,s,r=0,a,o,n=0,h=1,l=0,d=(c.plotSizeX||0)-(t.options.marker&&t.options.marker.lineWidth||0)-(g.length-1)*t.nodePadding;for(;g.length;){for(r=d/g.sankeyColumn.sum(),s=!1,a=g.length;a--;){o=g[a].getSum()*r*h;var p=Math.min(c.plotHeight,c.plotWidth);o>p?h=Math.min(p/o,h):o{t.scale=h,g.push(t)}),g.sankeyColumn.maxRadius=n,g.sankeyColumn.scale=h,g.sankeyColumn.additionalSpace=l,r},g.sankeyColumn.offset=function(e,i){let s=e.series.options.equalNodes,r=d.nodePadding,a=Math.min(c.plotWidth,c.plotHeight,(g.sankeyColumn.maxLength||0)/d.nodes.length-r),o=g.sankeyColumn.additionalSpace||0,n;for(let t=0;t{e=(t.offset(i,e)||0)*r;return Math.min(t.nodeX+e,t.nodeX+(t.shapeArgs&&t.shapeArgs.height||0)-n)},p=h?t.nodeX+((t.shapeArgs.height||0)-n)/2:d(t,"linksFrom"),c=h?e.nodeX+((e.shapeArgs.height||0)-n)/2:d(e,"linksTo"),g=l;p>c&&([p,c]=[c,p]),o.reversed&&([p,c]=[c,p],g=(s.plotSizeY||0)-g),i.shapeType="path",i.linkBase=[p,p+n,c,c+n];var u=(c+n-p)/Math.abs(c+n-p)*m(o.linkRadius,Math.min(Math.abs(c+n-p)/2,t.nodeY-Math.abs(n)));i.shapeArgs={d:[["M",p,g],["A",(c+n-p)/2,u,0,0,1,c+n,g],["L",c,g],["A",(c-p-n)/2,u-n,0,0,0,p+n,g],["Z"]]},i.dlBox={x:p+(c-p)/2,y:g-u,height:n,width:0},i.tooltipPos=s.inverted?[(s.plotSizeY||0)-i.dlBox.y-n/2,(s.plotSizeX||0)-i.dlBox.x]:[i.dlBox.x,i.dlBox.y+n/2],i.y=i.plotY=1,i.x=i.plotX=1,i.color||(i.color=t.color)}translateNode(s,t){var r=this.translationFactor,a=this.chart,o=a.inverted?a.plotWidth:a.plotHeight,n=this.options,o=Math.min(a.plotWidth,a.plotHeight,o/s.series.nodes.length-this.nodePadding),e=s.getSum()*(t.sankeyColumn.scale||0),o=n.equalNodes?o:Math.max(e*r,this.options.minLinkWidth||0),i=n.marker?.lineWidth||0,h=t.sankeyColumn.offset(s,r),r=g(m(h&&h.absoluteLeft,(t.sankeyColumn.left(r)||0)+(h&&h.relativeLeft||0)),i),h=u(n.marker,s.options.marker),l=h.symbol,d=h.radius,h=parseInt(n.offset,10)*((a.inverted?a.plotWidth:a.plotHeight)-(g(this.colDistance*(s.column||0)+(h.lineWidth||0)/2,i)+(t.sankeyColumn.scale||0)*(t.sankeyColumn.maxRadius||0)/2))/100;if(s.sum=e){s.nodeX=r,s.nodeY=h;let t=s.options.width||n.width||o,e=s.options.height||n.height||o,i=h;n.reversed&&(i=(a.plotSizeY||0)-h,a.inverted&&(i=(a.plotSizeY||0)-h)),this.mapOptionsToLevel&&(s.dlOptions=c.getDLOptions({level:this.mapOptionsToLevel[s.level],optionsPoint:s.options})),s.plotX=1,s.plotY=1,s.tooltipPos=a.inverted?[(a.plotSizeY||0)-i-e/2,(a.plotSizeX||0)-r-t/2]:[r+t/2,i+e/2],s.shapeType="path",s.shapeArgs={d:p[l||"circle"](r,i-(d||e)/2,d||t,d||e),width:d||t,height:d||e},s.dlBox={x:r+t/2,y:i,height:0,width:0}}else s.dlOptions={enabled:!1}}drawDataLabels(){var t;this.options.dataLabels&&(t=this.options.dataLabels.textPath,l.prototype.drawDataLabels.call(this,this.nodes),this.options.dataLabels.textPath=this.options.dataLabels.linkTextPath,l.prototype.drawDataLabels.call(this,this.data),this.options.dataLabels.textPath=t)}pointAttribs(t,e){if(t&&t.isNode){let{...t}=s.prototype.pointAttribs.apply(this,arguments);return t}return super.pointAttribs.apply(this,arguments)}markerAttribs(t){return t.isNode?super.markerAttribs.apply(this,arguments):{}}}return y.defaultOptions=u(c.defaultOptions,e),d(y.prototype,{orderNodes:!1}),y.prototype.pointClass=t,r.registerSeriesType("arcdiagram",y),y}),e(t,"masters/modules/arc-diagram.src.js",[t["Core/Globals.js"]],function(t){return t})}); \ No newline at end of file +!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("modules/arc-diagram",["highcharts/modules/sankey"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var t=r?r._modules:{};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Series/ArcDiagram/ArcDiagramPoint.js",[t["Series/NodesComposition.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{sankey:{prototype:{pointClass:s}}}=e["seriesTypes"],r=i["extend"];class a extends s{isValid(){return!0}}return r(a.prototype,{setState:t.setNodeState}),a}),e(t,"Series/ArcDiagram/ArcDiagramSeriesDefaults.js",[],function(){return{centeredLinks:!1,equalNodes:!1,dataLabels:{linkTextPath:{attributes:{startOffset:"25%"}}},marker:{fillOpacity:1,lineWidth:0,states:{},symbol:"circle"},offset:"100%",reversed:!1}}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:a}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(a(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:x,merge:b,pick:v}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,a=s.squareSymbol,o=a?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(a?(t.symbolWidth-r)/2:0,t.baseline-r+1,o,r,v(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:a}=this,{baseline:o=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,p=r.renderer,c=s.group,g=o-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),u={},m,f=a.marker,y=0;if(r.styledMode||(u["stroke-width"]=Math.min(a.lineWidth||0,24),a.dashStyle?u.dashstyle=a.dashStyle:"square"!==a.linecap&&(u["stroke-linecap"]="round")),s.line=p.path().addClass("highcharts-graph").attr(u).add(c),i&&(s.area=p.path().addClass("highcharts-area").add(c)),u["stroke-linecap"]&&(y=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",y,g],["L",n-y,g]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-y,o],["L",y,o]]})),f&&!1!==f.enabled&&n){let t=Math.min(v(f.radius,d),d);0===l.indexOf("url")&&(f=b(f,{width:h,height:h}),t=0),s.symbol=m=p.symbol(l,n/2-t,g-t,2*t,2*t,x({context:"legend"},f)).addClass("highcharts-point").add(c),m.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,a,o,d,p){let{animObject:c,setAnimation:g}=t,u=e["defaultOptions"],n=i["registerEventOptions"],{svg:m,win:f}=s,x=o["seriesTypes"],{arrayMax:k,arrayMin:A,clamp:D,correctFloat:w,crisp:y,defined:M,destroyObjectProperties:N,diffObjects:I,erase:b,error:O,extend:v,find:W,fireEvent:L,getClosestDistance:G,getNestedProperty:h,insertItem:S,isArray:E,isNumber:T,isString:X,merge:P,objectEach:C,pick:j,removeEvent:z,splat:V,syncTimeout:B}=p;class R{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(L(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,a=!1!==e.visible,a=(s.linkedSeries=[],s.bindAxes(),v(s,{name:e.name,state:"",visible:a,selected:!0===e.selected}),n(this,e),e.events);(a&&a.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),L(this,"afterInit")}is(t){return x[t]&&this instanceof x[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;L(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||O(18,!0,t)})}),L(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=T(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!p.negativeColor&&!p.negativeFillColor||p.zones||(e={value:p[this.zoneAxis+"Threshold"]||p.threshold||0,className:"highcharts-negative"},a||(e.color=p.negativeColor,e.fillColor=p.negativeFillColor),c.push(e)),c.length&&M(c[c.length-1].value)&&c.push(a?{}:{color:this.color,fillColor:this.fillColor}),L(this,"afterSetOptions",{options:p}),p}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,a=this.chart,o=t+"Index",n=t+"Counter",h=i?.length||a.options.chart.colorCount;e||(M(r=j("color"===t?this.options.colorIndex:void 0,this[o]))?s=r:(a.series.length||(a[n]=0),s=a[n]%h,a[n]+=1),i&&(e=i[s])),void 0!==s&&(this[o]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var a=e.id,o=e.x,n=this.points,h=this.options.dataSorting;if(a){a=this.chart.get(a);a instanceof l&&(i=a)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=W(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&T(o)?this.xData.indexOf(o,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&T(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,a=r.dataSorting,o=this.points,n=[],h=this.requireSorting,l=t.length===o.length,d,i,s,p,c=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=M(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||T(s)?(-1===(s=this.findPointIndex(i,p))||void 0===s?n.push(t):o[s]&&t!==r.data[s]?(o[s].update(t,!1,null,!1),o[s].touched=!0,h&&(p=s+1)):o[s]&&(o[s].touched=!0),(!l||e!==s||a&&a.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=o.length;i--;)(s=o[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||a&&a.enabled?c=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),n.length=0);return o.forEach(function(t){t&&(t.touched=!1)}),!!c&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=k(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,a=r.points,o=a&&a.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,p=n.turboThreshold,c=this.xData,g=this.yData,u=r.pointArrayMap,m=u&&u.length,f=n.keys,y,x,b,v=0,S=1,C;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,C=P(!0,e));var k=(e=C||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(b=h.options.chart.allowMutatingData&&!1!==s&&k&&o&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):b)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=p&&p!(!E(t)||!f&&!T(t[0]));if(T(s)&&T(A))for(y=0;y{t=h(s,t),e=h(s,e);return ep?(c=[],g=[]):e.yData&&(c[0]p)&&(c=(o=this.cropData(e.xData,e.yData,d,p)).xData,g=o.yData,h=o.start,n=!0));t=G([r?c.map(r.log2lin):c],()=>e.requireSorting&&!u&&O(15,!1,e.chart));return{xData:c,yData:g,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,L(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,a,o,n=0,h=r;for(a=0;a=i){n=Math.max(0,a-1);break}for(o=a;os){h=o+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,a=i.length,o=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?o:0,p,c,g,u,m=this.data;if(!m&&!n){let t=[];t.length=e.length,m=this.data=t}for(h&&n&&(this.options.keys=!1),u=0;u=y&&(S[m-a]||g)<=x,p&&c)if(f=u.length)for(;f--;)T(u[f])&&(r[b++]=u[f]);else r[b++]=u;var C={activeYData:r,dataMin:A(r),dataMax:k(r)};return L(this,"afterGetExtremes",{dataExtremes:C}),C}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,L(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,a,o,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:p}=this,c=p.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,m=j(c.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=c.enabledThreshold*c.radius);if(!1!==c.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,a=(i=x?o-i:i)-s;r?.push(["L",e,Math.abs(a){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],v?o-t[1]:t[1],v?t[2]:o-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=D(a.toPixels(j(t.value,e),!0)||0,0,o)}),m&&!this.showLine&&m.hide(),u&&u.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(f.reversed&&e.reverse(),t),a=0,o=0,n=f.len,h=y.len;v?(a=i,n=g):(o=i,h=g);var l=[["M",a,o],["L",n,o],["L",n,h],["L",a,h],["Z"]],d=[l[0],...e,l[1],l[2],...c,l[3],l[4]];c=e.reverse(),g=i,x&&(p(d),u&&p(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=b.path(d),u&&(r=t.simpleClip=b.path(l))),m&&t.graph?.clip(s),u&&t.area?.clip(r)})}else this.visible&&(m&&m.show(),u&&u.show())}plotGroup(t,e,i,s,r){let a=this[t],o=!a,n={visibility:i,zIndex:s||.1};return M(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),a||(this[t]=a=this.chart.renderer.g().add(r)),a.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(M(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(a.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),a.attr(n)[o?"attr":"animate"](this.getPlotBox(e)),a}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||z(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=c(i.animation),a=t.visible?"inherit":"hidden",o=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;L(this,"render"),t.plotGroup("group","series",a,o,n),t.markerGroup=t.plotGroup("markerGroup","markers",a,o,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,L(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[a=Math.floor(o/2)],left:t(e.slice(0,a),i+1,s),right:t(e.slice(a+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let u=this,[m,f]=this.kdAxisArray,y=e?"distX":"dist",s=-1<(u.options.findNearestPointBy||"").indexOf("y")?2:1,x=!!u.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let a=i.point,o=u.kdAxisArray[s%r],n,h,l=a;c=a,g=(d=e)[m],p=c[m],g=M(g)&&M(p)?g-p:null,p=d[f],d=c[f],p=M(p)&&M(d)?p-d:0,d=x&&c.marker?.radius||0,c.dist=Math.sqrt((g&&g*g||0)+p*p)-d,c.distX=M(g)?Math.abs(g)-d:Number.MAX_VALUE;var d,p=(e[o]||0)-(a[o]||0)+(x&&a.marker?.radius||0),c=p<0?"left":"right",g=p<0?"right":"left";return i[c]&&(l=(n=t(e,i[c],s+1,r))[y]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(m?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=o.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{a?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),L(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let a,o,n=this.options,h=this.data,l=this.chart,d=this.xAxis,p=d&&d.hasNames&&d.names,c=n.data,g=this.xData;e=j(e,!0);var u={series:this},m=(this.pointClass.prototype.applyOptions.apply(u,[t]),u.x);if(o=g.length,this.requireSorting&&mm;)o--;this.updateParallelArrays(u,"splice",[o,0,0]),this.updateParallelArrays(u,o),p&&u.name&&(p[m]=u.name),c.splice(o,0,t),(a||this.processedData)&&(this.data.splice(o,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(u,"shift"),c.shift())),!1!==r&&L(this,"addPoint",{point:u}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===a.length&&n.splice(t,1),a.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(o||{series:r},"splice",[t,1]),o&&o.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,a=r.data,o=a[t],n=r.points,h=r.chart;g(i,h),e=j(e,!0),o?o.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,a=r.chart;function o(){r.destroy(s),a.isDirtyLegend=a.isDirtyBox=!0,a.linkSeries(s),j(t,!0)&&a.redraw(e)}!1!==i?L(r,"remove",null,o):o()}update(t,e){L(this,"update",{options:t=I(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,a=i.initialType||i.type,o=s.options.plotOptions,n=x[a].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,p,c=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||r.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),m=(g=g||a,u&&(c.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&c.push("area","graph"),i.parallelArrays.forEach(function(t){c.push(t+"Data")}),t.data&&(t.dataSorting&&v(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=P(r,{index:(void 0===r.index?i:r).index,pointStart:o?.series?.pointStart??r.pointStart??i.xData?.[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(c=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(c)).forEach(function(t){c[t]=i[t],delete i[t]}),!1);if(x[g]){if(m=g!==i.type,i.remove(!1,!1,!1,!0),m)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,x[g].prototype);else{var f=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(p in n)i[p]=void 0;v(i,x[g].prototype),f?i.hcEvents=f:delete i.hcEvents}}else O(17,!0,s,{missingModuleFor:g});if(c.forEach(function(t){i[t]=c[t]}),i.init(s,t),u&&this.points)for(var y of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))y&&y.series&&(y.resolveColor(),Object.keys(l).length&&y.destroyElements(l),!1===d.showInLegend&&y.legendItem&&s.legend.destroyItem(y));i.initialType=a,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),L(this,"afterUpdate"),j(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!M(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&L(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&L(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,a=s.inactiveOtherPoints,o=s.states,n=j(o[e||"normal"]&&o[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(o[e]&&!1===o[e].enabled)return;if(e&&(h=o[e].lineWidth||h+(o[e].lineWidthPlus||0),l=j(o[e].opacity,l)),r&&!r.dashstyle&&T(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);a||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&a&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,a=i.visible,o=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!a:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[o]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),L(i,o),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),L(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return R.defaultOptions=a,R.types=o.seriesTypes,R.registerType=o.registerSeriesType,v(R.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),o.series=R}),e(t,"Core/Renderer/RendererRegistry.js",[t["Core/Globals.js"]],function(s){var t,r;let a;return r=t={rendererTypes:{},getRendererType:function(t=a){return r.rendererTypes[t]||r.rendererTypes[a]},registerRendererType:function(t,e,i){r.rendererTypes[t]=e,a&&!i||(a=t,s.Renderer=e)}},t}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:a,extend:o,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class p extends t{constructor(t,e,i,s,r,a,o,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=a,this.anchorY=o,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=p.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),p.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:a=0,width:o=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:o,height:s,x:r+this.bBox.x-n,y:a+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&a(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!a(t.textStr)?p.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(o(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);a(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return p.emptyBBox={width:0,height:0,x:0,y:0},p.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],p}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:v,isNumber:d,pick:S}=t;function r(u,m,f,y,x){let b=[];if(x){let t=x.start||0,e=S(x.r,f),i=S(x.r,y||f),s=2e-4/(x.borderRadius?1:Math.max(e,1)),r=Math.abs((x.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){o&&o.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),o&&o.removeChild(i)}}else i.appendChild(p.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=g(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),g(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,o++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(p.createTextNode(t),i);let e=p.createElementNS(c,"tspan");e.textContent="​",g(e,{dy:a,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:a}=e,o=this.renderer.styledMode;if("b"===a||"strong"===a?o?s.class="highcharts-strong":r.fontWeight="bold":"i"!==a&&"em"!==a||(o?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===a){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===a&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,a,o,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===p[i]&&s.getSubStringLength)try{p[i]=o+s.getSubStringLength(0,a?i+1:i)}catch(t){}return p[i]}let n,h,l=this.svgElement,d=l["rotation"],p=[],c=a?1:0,g=(t||a||"").length,u=g;if(l.rotation=0,o+(h=s(r.textContent.length))>e){for(;c<=g;)u=Math.ceil((c+g)/2),a&&(n=i(a,u)),h=s(u,n&&n.length-1),c===g?c=g+1:h>e?g=u-1:c=u;0===g?r.textContent="":t&&g===t.length-1||(r.textContent=n||i(t||a,u))}a&&a.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return a(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(x,t,e,i,s,r,l,a,o,n){let h,b=t["defaultOptions"],{charts:m,deg2rad:d,doc:f,isFirefox:p,isMS:v,isWebKit:c,noop:g,SVG_NS:u,symbolSizes:y,win:S}=i,{addEvent:C,attr:k,createElement:A,crisp:D,css:w,defined:M,destroyObjectProperties:O,extend:L,isArray:E,isNumber:T,isObject:P,isString:N,merge:j,pick:B,pInt:I,replaceNested:W,uniqueKey:G}=n;class R{constructor(t,e,i,s,r,a,o){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;o||l.css(this.getStyle(s||{})),t.appendChild(d),k(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&k(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=a,this.forExport=r,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),p&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),h=t.getBoundingClientRect(),w(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=C(S,"resize",n))}definition(t){return new x([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((p||c)&&f.getElementsByTagName("base").length&&(M(h)||(t=G(),t=new x([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(f.body),w(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=f.elementFromPoint(6,6),h="hitme"===(e&&e.id),f.body.removeChild(t)),h))return W(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=L({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),O(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new o(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},a,o,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),p=this.styledMode,c=arguments,g=0,u=(r=j(b.global.buttonTheme,r),p&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),m=r.style||{},f=(delete r.states,delete r.style,[x.filterUserAttributes(r)]),y=[m];return p||["hover","select","disabled"].forEach((t,e)=>{f.push(j(f[0],x.filterUserAttributes(c[e+5]||u[t]||{}))),y.push(f[e+1].style),delete f[e+1].style}),C(d.element,v?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),C(d.element,v?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),p||(d.attr(f[t]),t=y[t],P(t)&&d.css(t))},d.attr(f[0]),p||(d.css(L({cursor:"default"},m)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return M(i[1])&&i[1]===s[1]&&(i[1]=s[1]=D(i[1],e)),M(i[2])&&i[2]===s[2]&&(i[2]=s[2]=D(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return E(t)?e.d=t:P(t)&&L(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=P(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,a){let o,n=(P(t)?(e=(o=t).y,i=o.r,s=o.innerR,r=o.start,a=o.end,t=o.x):o={innerR:s,start:r,end:a},this.symbol("arc",t,e,i,i,o));return n.r=i,n}rect(t,e,i,s,r,a){let o=P(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==a&&(o["stroke-width"]=a,L(o,n.crisp(o))),o.fill="none"),n.rSetter=function(t,e,i){n.r=t,k(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(o)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,a){function o(t){h.attr({href:e}),a.call(h,t)}let n={preserveAspectRatio:"none"},h=(T(t)&&(n.x=t),T(i)&&(n.y=i),T(s)&&(n.width=s),T(r)&&(n.height=r),this.createElement("image").attr(n));if(a){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;C(t,"load",o),t.src=e,t.complete&&o({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let a,o,n,h,l=this,p=/^url\((.*?)\)$/,c=p.test(t),g=!c&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof i&&(o=u.call(this.symbols,i||0,s||0,e||0,r||0,d)),a=this.path(o),l.styledMode||a.attr("fill","none"),L(a,{symbolName:g||void 0,x:i,y:s,width:e,height:r}),d&&L(a,d);else if(c){n=t.match(p)[1];let e=a=this.image(n);e.imgwidth=B(d&&d.width,y[n]&&y[n].width),e.imgheight=B(d&&d.height,y[n]&&y[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:a,imgwidth:o,imgheight:n}=this,h="width"===e?o:n,l=1;d&&"within"===d.backgroundSize&&r&&a&&o&&n?(l=Math.min(r/o,a/n),k(s,{width:Math.round(o*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&o&&n&&this.translate(((r||0)-o*l)/2,((a||0)-n*l)/2)}}),M(i)&&e.attr({x:i,y:s}),e.isImg=!0,e.symbolUrl=t,M(e.imgwidth)&&M(e.imgheight)?h(e):(e.attr({width:0,height:0}),A("img",{onload:function(){let t=m[l.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this)),y[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),M(t)&&(r.text=t);let a=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(a.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),a=t.getAttribute(s);for(let t=0,e;tt.align())}}return L(R.prototype,{Element:r,SVG_NS:u,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:a,draw:g}),s.registerRendererType("svg",R,!0),R}),e(t,"Series/ArcDiagram/ArcDiagramSeries.js",[t["Series/ArcDiagram/ArcDiagramPoint.js"],t["Series/ArcDiagram/ArcDiagramSeriesDefaults.js"],t["Series/Sankey/SankeyColumnComposition.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Extensions/TextPath.js"]],function(t,e,i,s,r,a,o,n,h){h.compose(n);let{symbols:p}=a["prototype"],{column:l,sankey:c}=r["seriesTypes"],{crisp:g,extend:d,merge:u,pick:m,relativeLength:f}=o;class y extends c{createNodeColumns(){let d=this,c=d.chart,g=i.compose([],d);return g.sankeyColumn.maxLength=c.inverted?c.plotHeight:c.plotWidth,g.sankeyColumn.getTranslationFactor=t=>{let e=g.slice(),i=this.options.minLinkWidth||0,s,r=0,a,o,n=0,h=1,l=0,d=(c.plotSizeX||0)-(t.options.marker&&t.options.marker.lineWidth||0)-(g.length-1)*t.nodePadding;for(;g.length;){for(r=d/g.sankeyColumn.sum(),s=!1,a=g.length;a--;){o=g[a].getSum()*r*h;var p=Math.min(c.plotHeight,c.plotWidth);o>p?h=Math.min(p/o,h):o{t.scale=h,g.push(t)}),g.sankeyColumn.maxRadius=n,g.sankeyColumn.scale=h,g.sankeyColumn.additionalSpace=l,r},g.sankeyColumn.offset=function(e,i){let s=e.series.options.equalNodes,r=d.nodePadding,a=Math.min(c.plotWidth,c.plotHeight,(g.sankeyColumn.maxLength||0)/d.nodes.length-r),o=g.sankeyColumn.additionalSpace||0,n;for(let t=0;t{e=(t.offset(i,e)||0)*r;return Math.min(t.nodeX+e,t.nodeX+(t.shapeArgs&&t.shapeArgs.height||0)-n)},p=h?t.nodeX+((t.shapeArgs.height||0)-n)/2:d(t,"linksFrom"),c=h?e.nodeX+((e.shapeArgs.height||0)-n)/2:d(e,"linksTo"),g=l;p>c&&([p,c]=[c,p]),o.reversed&&([p,c]=[c,p],g=(s.plotSizeY||0)-g),i.shapeType="path",i.linkBase=[p,p+n,c,c+n];var u=(c+n-p)/Math.abs(c+n-p)*m(o.linkRadius,Math.min(Math.abs(c+n-p)/2,t.nodeY-Math.abs(n)));i.shapeArgs={d:[["M",p,g],["A",(c+n-p)/2,u,0,0,1,c+n,g],["L",c,g],["A",(c-p-n)/2,u-n,0,0,0,p+n,g],["Z"]]},i.dlBox={x:p+(c-p)/2,y:g-u,height:n,width:0},i.tooltipPos=s.inverted?[(s.plotSizeY||0)-i.dlBox.y-n/2,(s.plotSizeX||0)-i.dlBox.x]:[i.dlBox.x,i.dlBox.y+n/2],i.y=i.plotY=1,i.x=i.plotX=1,i.color||(i.color=t.color)}translateNode(s,t){var r=this.translationFactor,a=this.chart,o=a.inverted?a.plotWidth:a.plotHeight,n=this.options,o=Math.min(a.plotWidth,a.plotHeight,o/s.series.nodes.length-this.nodePadding),e=s.getSum()*(t.sankeyColumn.scale||0),o=n.equalNodes?o:Math.max(e*r,this.options.minLinkWidth||0),i=n.marker?.lineWidth||0,h=t.sankeyColumn.offset(s,r),r=g(m(h&&h.absoluteLeft,(t.sankeyColumn.left(r)||0)+(h&&h.relativeLeft||0)),i),h=u(n.marker,s.options.marker),l=h.symbol,d=h.radius,h=parseInt(n.offset,10)*((a.inverted?a.plotWidth:a.plotHeight)-(g(this.colDistance*(s.column||0)+(h.lineWidth||0)/2,i)+(t.sankeyColumn.scale||0)*(t.sankeyColumn.maxRadius||0)/2))/100;if(s.sum=e){s.nodeX=r,s.nodeY=h;let t=s.options.width||n.width||o,e=s.options.height||n.height||o,i=h;n.reversed&&(i=(a.plotSizeY||0)-h,a.inverted&&(i=(a.plotSizeY||0)-h)),this.mapOptionsToLevel&&(s.dlOptions=c.getDLOptions({level:this.mapOptionsToLevel[s.level],optionsPoint:s.options})),s.plotX=1,s.plotY=1,s.tooltipPos=a.inverted?[(a.plotSizeY||0)-i-e/2,(a.plotSizeX||0)-r-t/2]:[r+t/2,i+e/2],s.shapeType="path",s.shapeArgs={d:p[l||"circle"](r,i-(d||e)/2,d||t,d||e),width:d||t,height:d||e},s.dlBox={x:r+t/2,y:i,height:0,width:0}}else s.dlOptions={enabled:!1}}drawDataLabels(){var t;this.options.dataLabels&&(t=this.options.dataLabels.textPath,l.prototype.drawDataLabels.call(this,this.nodes),this.options.dataLabels.textPath=this.options.dataLabels.linkTextPath,l.prototype.drawDataLabels.call(this,this.data),this.options.dataLabels.textPath=t)}pointAttribs(t,e){if(t&&t.isNode){let{...t}=s.prototype.pointAttribs.apply(this,arguments);return t}return super.pointAttribs.apply(this,arguments)}markerAttribs(t){return t.isNode?super.markerAttribs.apply(this,arguments):{}}}return y.defaultOptions=u(c.defaultOptions,e),d(y.prototype,{orderNodes:!1}),y.prototype.pointClass=t,r.registerSeriesType("arcdiagram",y),y}),e(t,"masters/modules/arc-diagram.src.js",[t["Core/Globals.js"]],function(t){return t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/boost-canvas.min.js b/assets/js/external/highcharts/modules/boost-canvas.min.js index 1d031f5..5003edb 100644 --- a/assets/js/external/highcharts/modules/boost-canvas.min.js +++ b/assets/js/external/highcharts/modules/boost-canvas.min.js @@ -1 +1 @@ -!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("highcharts/modules/boost-canvas",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var t=o?o._modules:{};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Extensions/Boost/Boostables.js",[],function(){return["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"]}),e(t,"Extensions/Boost/BoostableMap.js",[t["Extensions/Boost/Boostables.js"]],function(t){let e={};return t.forEach(t=>{e[t]=!0}),e}),e(t,"Extensions/Boost/BoostChart.js",[t["Extensions/Boost/BoostableMap.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(c,t,e){let i=t["composed"],{addEvent:r,pick:u,pushUnique:s}=e;function n(t){let e=t.series,i=t.boost=t.boost||{},s=t.options.boost||{},o=u(s.seriesThreshold,50);if(e.length>=o)return!0;if(1===e.length)return!1;let r=s.allowForce;if(void 0===r)for(var n of(r=!0,t.xAxis))if(u(n.min,-1/0)>u(n.dataMin,-1/0)||u(n.max,1/0)=(h.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=r&&(a===e.length&&l===a||5t.isPanning)||i.boost.clear?.(),i.boost.canvas&&i.boost.wgl&&n(i)&&i.boost.wgl.allocateBuffer(i),i.boost.markerGroup&&i.xAxis&&0{var e,t=t.hoverPoint?.series;i.boost=i.boost||{},i.boost.markerGroup&&t&&(e=i.inverted?t.yAxis:t.xAxis,t=i.inverted?t.xAxis:t.yAxis,(e&&e.pos!==s||t&&t.pos!==o)&&(i.series.forEach(t=>{t.halo?.hide()}),i.boost.markerGroup.translate(e.pos,t.pos),s=e.pos,o=t.pos))})}return{compose:function(t,e){return e&&s(i,"Boost.Chart")&&t.prototype.callbacks.push(o),t},getBoostClipRect:function(t,e){let i=t.navigator,s={x:t.plotLeft,y:t.plotTop,width:t.plotWidth,height:t.plotHeight};var o,r,n;return i&&t.inverted?(s.width+=i.top+i.height,i.opposite||(s.x=i.left)):i&&!t.inverted&&(s.height=i.top+i.height-t.plotTop),e.getClipBox&&({xAxis:o,yAxis:r}=e,s=e.getClipBox(),t.inverted?(n=s.width,s.width=s.height,s.height=n,s.x=r.pos,s.y=o.pos):(s.x=o.pos,s.y=r.pos)),e===t&&(n=t.inverted?t.xAxis:t.yAxis).length<=1&&(s.y=Math.min(n[0].pos,s.y),s.height=n[0].pos-t.plotTop+n[0].len),s},isChartSeriesBoosting:n}}),e(t,"Extensions/Boost/WGLDrawMode.js",[],function(){return{area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"}}),e(t,"Extensions/Boost/WGLShader.js",[t["Core/Utilities.js"]],function(t){let{clamp:l,error:e,pick:h}=t;return class{constructor(t){this.errors=[],this.uLocations={},(this.gl=t)&&this.createShader()}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){var t=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),e=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=t=>this.gl.getUniformLocation(this.shaderProgram,t);return t&&e?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,t),this.gl.attachShader(this.shaderProgram,e),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS)?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1)):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&e("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(t,e){var i=this.gl.createShader("vertex"===e?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)?i:(this.errors.push("when compiling "+e+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(t,e,i,s=1){var o,r=t.options,n=Number.MAX_VALUE,a=-Number.MAX_VALUE;this.gl&&this.shaderProgram&&t.is("bubble")&&(o=t.getPxExtremes(),n=h(r.zMin,l(e,!1===r.displayNegative?r.zThreshold:-Number.MAX_VALUE,n)),a=h(r.zMax,Math.max(a,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==t.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,t.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",o.minPxSize*s),this.setUniform("bubbleMaxSize",o.maxPxSize*s),this.setUniform("bubbleZMin",n),this.setUniform("bubbleZMax",a),this.setUniform("bubbleZThreshold",t.options.zThreshold))}setColor(t){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,t[0]/255,t[1]/255,t[2]/255,t[3])}setDrawAsCircle(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,t?1:0)}setInverted(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,t)}setPMatrix(t){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,t)}setPointSize(t){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,t)}setSkipTranslation(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,!0===t?1:0)}setTexture(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,t)}setUniform(t,e){this.gl&&this.shaderProgram&&(t=this.uLocations[t]=this.uLocations[t]||this.gl.getUniformLocation(this.shaderProgram,t),this.gl.uniform1f(t,e))}}}),e(t,"Extensions/Boost/WGLVertexBuffer.js",[],function(){return class{constructor(t,e,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=t,this.shader=e}allocate(t){this.iterator=-1,this.preAllocated=new Float32Array(4*t)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(t,e,i){let s;return this.data=t||[],this.data&&0!==this.data.length||this.preAllocated?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(s=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||s,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),e),this.gl.enableVertexAttribArray(this.vertAttribute),!(s=!1)):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(t,e,i,s){this.preAllocated&&(this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=s)}render(t,e,i){var s=(this.preAllocated||this.data).length;return!(!this.buffer||!s||((e=!e||s{t.boosted&&(i+=h.seriesPointCount(t))}),e&&e.allocate(i))}allocateBufferForSingleSeries(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.boosted&&(i=h.seriesPointCount(t)),e&&e.allocate(i))}clear(){let t=this.gl;t&&t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}pushSeriesData(l,h){let d=this.data,c=this.settings,O=this.vbuffer,X=l.pointArrayMap&&"low,high"===l.pointArrayMap.join(","),{chart:u,options:i,sorted:V,xAxis:p,yAxis:g}=l,s=!!i.stacking,o=i.data,e=l.xAxis.getExtremes(),f=e.min-(l.xAxis.minPointOffset||0),m=e.max+(l.xAxis.minPointOffset||0),r=l.yAxis.getExtremes(),b=r.min-(l.yAxis.minPointOffset||0),j=r.max+(l.yAxis.minPointOffset||0),t=l.xData||i.xData||l.processedXData,F=l.yData||i.yData||l.processedYData,x=l.zData||i.zData||l.processedZData,W=!t||0===t.length,Y=i.connectNulls,A=l.points||!1,v=s?l.data:t||o,y={x:Number.MAX_VALUE,y:0},P={x:-Number.MAX_VALUE,y:0},H=void 0===u.index,K=ct[l.type],Z=i.zoneAxis||"y",T=i.zones||!1,q=i.threshold,E=this.getPixelRatio(),Q=l.chart.plotWidth,S=!1,C=!1,M,k,J=0,$=!1,U,R,D,tt,w=-1,B=!1,L=!1,G,et=!1,it=!1,N=!1,st=!1,ot=!0,rt=!0,_,z=!1,nt=!1,I=0;if(!(i.boostData&&0{if(e.color){let t=ht(e.color).rgba;t[0]/=255,t[1]/=255,t[2]/=255,_[i]=t,z||void 0!==e.value||(z=t)}}),z||((z=ht(l.pointAttribs&&l.pointAttribs().fill||l.color).rgba)[0]/=255,z[1]/=255,z[2]/=255)),u.inverted&&(Q=l.chart.plotHeight),l.closestPointRangePx=Number.MAX_VALUE;let r=t=>{t&&(h.colorData.push(t[0]),h.colorData.push(t[1]),h.colorData.push(t[2]),h.colorData.push(t[3]))},n=(t,e,i,s=1,o)=>{r(o),1===E||c.useGPUTranslations&&!h.skipTranslation||(t*=E,e*=E,s*=E),c.usePreallocated&&O?(O.push(t,e,i?1:0,s),I+=4):(d.push(t),d.push(e),d.push(i?E:0),d.push(s))},t=()=>{h.segments.length&&(h.segments[h.segments.length-1].to=d.length||I)},e=()=>{h.segments.length&&h.segments[h.segments.length-1].from===(d.length||I)||(t(),h.segments.push({from:d.length||I}))},a=(t,e,i,s,o)=>{r(o),n(t+i,e),r(o),n(t,e),r(o),n(t,e+s),r(o),n(t,e+s),r(o),n(t+i,e+s),r(o),n(t+i,e)};if(e(),A&&0{if(t.node){if(t.node.levelDynamic>e.node.levelDynamic)return 1;if(t.node.levelDynamic{let r,n;var t=o.plotY;if(void 0!==t&&!isNaN(t)&&null!==o.y&&o.shapeArgs){let{x:t=0,y:e=0,width:i=0,height:s=0}=o.shapeArgs;r=(n=u.styledMode?o.series.colorAttribs(o):n=o.series.pointAttribs(o))["stroke-width"]||0,(N=ht(n.fill).rgba)[0]/=255,N[1]/=255,N[2]/=255,l.is("treemap")&&(r=r||1,(k=ht(n.stroke).rgba)[0]/=255,k[1]/=255,k[2]/=255,a(t,e,i,s,k),r/=2),l.is("heatmap")&&u.inverted&&(t=p.len-t,e=g.len-e,i=-i,s=-s),a(t+r,e+r,i-2*r,s-2*r,N)}}),void t();for(;wh.zMax&&(h.zMax=D[2]),D[2]h.zMax&&(h.zMax=x[w]),x[w]=f&&L<=m&&(et=!0),B&&B>=f&&B<=m&&(it=!0),X?(W&&(R=D.slice(1,3)),G=R[0],R=R[1]):s&&(U=D.x,G=(R=D.stackY)-D.y),null!=b&&null!=j&&(ot=R>=b&&R<=j),U>m&&P.xf&&(y.x=U,y.y=R),null!==R||!Y)if(null!==R&&(ot||et||it)){if((st=V&&(L>=f||U>=f)&&(B<=m||U<=m)?!0:st)||et||it){if(nt&&U-B>nt&&e(),T){let s;T.some((t,e)=>{var i=T[e-1];return"x"===Z?void 0!==t.value&&U<=t.value&&(_[e]&&(!i||U>=i.value)&&(s=_[e]),!0):void 0!==t.value&&R<=t.value&&(_[e]&&(!i||R>=i.value)&&(s=_[e]),!0)}),N=s||z||N}!c.useGPUTranslations&&(h.skipTranslation=!0,U=p.toPixels(U,!0),R=g.toPixels(R,!0),U>Q&&"POINTS"===h.drawMode)||(h.hasMarkers&&st&&!1!==S&&(l.closestPointRangePx=Math.min(l.closestPointRangePx,Math.abs(U-S))),!c.useGPUTranslations&&!c.usePreallocated&&S&&Math.abs(U-S)<1&&C&&Math.abs(R-C)<1?c.debug.showSkipSummary&&++J:(K&&(!1!==(M=G)&&void 0!==G||(M=R<0?R:0),(X||s)&&!g.logarithmic||(M=Math.max(null===q?b:q,b)),c.useGPUTranslations||(M=g.toPixels(M,!0)),n(U,M,0,0,N)),i.step&&!rt&&n(U,C,0,2,N),n(U,R,0,"bubble"===l.type?tt||1:2,N),S=U,C=R,$=!0,rt=!1))}}else e()}else e()}c.debug.showSkipSummary&&console.log("skipped points:",J);var lt=(t,e)=>{c.useGPUTranslations||(h.skipTranslation=!0,t.x=p.toPixels(t.x,!0),t.y=g.toPixels(t.y,!0)),e?this.data=[t.x,t.y,0,2].concat(this.data):n(t.x,t.y,0,2)};$||!1===Y||"line_strip"!==l.drawMode||(y.x-Number.MAX_VALUE&<(P)),t()}}pushSeries(t){let e=this.markerData,i=this.series,s=this.settings;0=i.length?i.push(o):i[t.index]=o,this.pushSeriesData(t,o),s.debug.timeSeriesProcessing&&console.timeEnd("building "+t.type+" series")}flush(){let t=this.vbuffer;this.data=[],this.markerData=[],this.series=[],t&&t.destroy()}setXAxis(t){let e=this.shader;var i;e&&(i=this.getPixelRatio(),e.setUniform("xAxisTrans",t.transA*i),e.setUniform("xAxisMin",t.min),e.setUniform("xAxisMinPad",t.minPixelPadding*i),e.setUniform("xAxisPointRange",t.pointRange),e.setUniform("xAxisLen",t.len*i),e.setUniform("xAxisPos",t.pos*i),e.setUniform("xAxisCVSCoord",!t.horiz),e.setUniform("xAxisIsLog",!!t.logarithmic),e.setUniform("xAxisReversed",!!t.reversed))}setYAxis(t){let e=this.shader;var i;e&&(i=this.getPixelRatio(),e.setUniform("yAxisTrans",t.transA*i),e.setUniform("yAxisMin",t.min),e.setUniform("yAxisMinPad",t.minPixelPadding*i),e.setUniform("yAxisPointRange",t.pointRange),e.setUniform("yAxisLen",t.len*i),e.setUniform("yAxisPos",t.pos*i),e.setUniform("yAxisCVSCoord",!t.horiz),e.setUniform("yAxisIsLog",!!t.logarithmic),e.setUniform("yAxisReversed",!!t.reversed))}setThreshold(t,e){let i=this.shader;i&&(i.setUniform("hasThreshold",t),i.setUniform("translatedThreshold",e))}renderChart(g){let f=this.gl,m=this.settings,b=this.shader,x=this.vbuffer,A=this.getPixelRatio();if(!g)return!1;this.width=g.chartWidth*A,this.height=g.chartHeight*A;var t=this.height,e=this.width;if(!(f&&b&&e&&t))return!1;m.debug.timeRendering&&console.time("gl rendering"),f.canvas.width=e,f.canvas.height=t,b.bind(),f.viewport(0,0,e,t),b.setPMatrix(h.orthoMatrix(e,t)),1{let i=t.series.options,s=i.marker,o=void 0!==i.lineWidth?i.lineWidth:1,r=i.threshold,n=P(r),a=t.series.yAxis.getThreshold(r),l=T(i.marker?i.marker.enabled:null,!!t.series.xAxis.isRadial||null,t.series.closestPointRangePx>2*((i.marker?i.marker.radius:10)||10)),h=this.textureHandles[s&&s.symbol||t.series.symbol]||this.textureHandles.circle,d,c,u,p=[];if(0!==t.segments.length&&t.segments[0].from!==t.segments[0].to&&(h.isReady&&(f.bindTexture(f.TEXTURE_2D,h.handle),b.setTexture(h.handle)),g.styledMode?t.series.markerGroup===t.series.chart.boost?.markerGroup?(delete t.series.markerGroup,t.series.markerGroup=t.series.plotGroup("markerGroup","markers","visible",1,g.seriesGroup).addClass("highcharts-tracker"),u=t.series.markerGroup.getStyle("fill"),t.series.markerGroup.destroy(),t.series.markerGroup=t.series.chart.boost?.markerGroup):u=t.series.markerGroup?.getStyle("fill"):(u="POINTS"===t.drawMode&&t.series.pointAttribs&&t.series.pointAttribs().fill||t.series.color,i.colorByPoint&&(u=t.series.chart.options.colors[e])),t.series.fillOpacity&&i.fillOpacity&&(u=new v(u).setOpacity(T(i.fillOpacity,1)).get()),p=ht(u).rgba,m.useAlpha||(p[3]=1),"add"===i.boostBlending?(f.blendFunc(f.SRC_ALPHA,f.ONE),f.blendEquation(f.FUNC_ADD)):"mult"===i.boostBlending||"multiply"===i.boostBlending?f.blendFunc(f.DST_COLOR,f.ZERO):"darken"===i.boostBlending?(f.blendFunc(f.ONE,f.ONE),f.blendEquation(f.FUNC_MIN)):f.blendFuncSeparate(f.SRC_ALPHA,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA),b.reset(),0{this.render(t)},1)}setSize(t,e){let i=this.shader;!i||this.width===t&&this.height===e||(this.width=t,this.height=e,i.bind(),i.setPMatrix(h.orthoMatrix(t,e)))}init(e,t){var i=this.settings;if(this.isInited=!1,!e)return!1;i.debug.timeSetup&&console.time("gl setup");for(let t=0;t{let i={isReady:!1,texture:n.createElement("canvas"),handle:o.createTexture()},s=i.texture.getContext("2d");(this.textureHandles[t]=i).texture.width=512,i.texture.height=512,s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.strokeStyle="rgba(255, 255, 255, 0)",s.fillStyle="#FFF",e(s);try{o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,i.handle),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,i.texture),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.bindTexture(o.TEXTURE_2D,null),i.isReady=!0}catch(t){}};return t("circle",t=>{t.beginPath(),t.arc(256,256,256,0,2*Math.PI),t.stroke(),t.fill()}),t("square",t=>{t.fillRect(0,0,512,512)}),t("diamond",t=>{t.beginPath(),t.moveTo(256,0),t.lineTo(512,256),t.lineTo(256,512),t.lineTo(0,256),t.lineTo(256,0),t.fill()}),t("triangle",t=>{t.beginPath(),t.moveTo(0,512),t.lineTo(256,0),t.lineTo(512,512),t.lineTo(0,512),t.fill()}),t("triangle-down",t=>{t.beginPath(),t.moveTo(0,0),t.lineTo(256,512),t.lineTo(512,0),t.lineTo(0,0),t.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let e=this.gl,t=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),t&&t.destroy(),e&&(a(this.textureHandles,t=>{t.handle&&e.deleteTexture(t.handle)}),e.canvas.width=1,e.canvas.height=1)}}return h}),e(t,"Extensions/Boost/BoostSeries.js",[t["Extensions/Boost/BoostableMap.js"],t["Extensions/Boost/Boostables.js"],t["Extensions/Boost/BoostChart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"],t["Extensions/Boost/WGLRenderer.js"]],function(l,s,t,e,i,o,h){let G,d,{getBoostClipRect:c,isChartSeriesBoosting:N}=t,r=e["getOptions"],{composed:n,doc:u,noop:_,win:p}=i,{addEvent:g,destroyObjectProperties:a,error:f,extend:m,fireEvent:z,isArray:b,isNumber:C,pick:I,pushUnique:x,wrap:A,defined:O}=o;function X(t,e){var i=e.boost;t&&i&&i.target&&i.canvas&&!N(e.chart)&&t.allocateBufferForSingleSeries(e)}function v(t){return I(t&&t.options&&t.options.boost&&t.options.boost.enabled,!0)}function V(i,t){let e=i.constructor,s=i.seriesGroup||t.group,o=i.chartWidth,r=i.chartHeight,n=i,a=!1,l=(N(i)?n=i:(n=t,a=!(!t.options.events?.click&&!t.options.point?.events?.click)),n.boost=n.boost||{});if(d=d||u.createElement("canvas"),l.target||(l.canvas=d,i.renderer.forExport,n.renderTarget=l.target=i.renderer.image("",0,0,o,r).addClass("highcharts-boost-canvas").add(s),l.clear=function(){l.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},l.copy=function(){l.resize(),l.target.attr({href:l.canvas.toDataURL("image/png")})},l.resize=function(){o=i.chartWidth,r=i.chartHeight,(l.targetFo||l.target).attr({x:0,y:0,width:o,height:r}).css({pointerEvents:a?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(a?"highcharts-tracker":""),n instanceof e&&n.boost?.markerGroup?.translate(i.plotLeft,i.plotTop)},l.clipRect=i.renderer.clipRect(),(l.targetFo||l.target).attr({zIndex:t.options.zIndex}),n instanceof e&&(n.boost.markerGroup=n.renderer.g().add(s).translate(t.xAxis.pos,t.yAxis.pos))),l.canvas.width=o,l.canvas.height=r,l.clipRect){let t=c(i,n),e=t.width===i.clipBox.width&&t.height===i.clipBox.height?s:l.targetFo||l.target;l.clipRect.attr(t),e?.clip(l.clipRect)}return l.resize(),l.clear(),l.wgl||(l.wgl=new h(t=>{t.settings.debug.timeBufferCopy&&console.time("buffer copy"),l.copy(),t.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),l.wgl.init(l.canvas)||f("[highcharts boost] - unable to init WebGL renderer"),l.wgl.setOptions(i.options.boost||{}),n instanceof e&&l.wgl.allocateBuffer(i)),l.wgl.setSize(o,r),l.wgl}function j(i){var t,s=i.points;if(s){let t,e;for(e=0;e{let e=i[t];e&&(i[t]=e.destroy())}),i.zones))a(t,void 0,!0)}function F(t,e,i,s,o,r){let n=(o=o||0)+(s=s||3e3),a=!0;for(;a&&o(i.boostThreshold||Number.MAX_VALUE)&&C(r.min)&&C(r.max)&&(!e||C(o.min)&&C(o.max))&&(!t||C(t.min)&&C(t.max))}let M=(t,e)=>!t.forceCrop&&(N(t.chart)||(e?e.length:0)>=(t.options.boostThreshold||Number.MAX_VALUE));function T(){let e=this,t=e.chart;t.boost&&t.boost.markerGroup===e.markerGroup&&(e.markerGroup=null),t.hoverPoints&&(t.hoverPoints=t.hoverPoints.filter(function(t){return t.series===e})),t.hoverPoint&&t.hoverPoint.series===e&&(t.hoverPoint=null)}function E(){let t=this.boost;t&&t.canvas&&t.target&&(t.wgl&&t.wgl.clear(),t.clear&&t.clear())}function W(t){let e=t.boost;e&&e.canvas&&e.target&&e.wgl&&!N(t.chart)&&e.wgl.render(t.chart)}function P(t,e){let i=t.options,s=t.xAxis,o=t.pointClass;if(e instanceof o)return e;let r=t.xData||i.xData||t.processedXData||!1,n=new o(t,(t.options.data||[])[e.i],r?r[e.i]:void 0);return n.category=I(s.categories?s.categories[n.x]:n.x,n.x),n.dist=e.dist,n.distX=e.distX,n.plotX=e.plotX,n.plotY=e.plotY,n.index=e.i,n.percentage=e.percentage,n.isInside=t.isPointInside(n),n}function S(){let t=this.options||{},c=this.chart,e=c.boost,i=this.boost,u=this.xAxis,p=this.yAxis,s=t.xData||this.processedXData,g=t.yData||this.processedYData,o=this.processedData||t.data,r=u.getExtremes(),f=r.min-(u.minPointOffset||0),m=r.max+(u.minPointOffset||0),n=p.getExtremes(),b=n.min-(p.minPointOffset||0),x=n.max+(p.minPointOffset||0),a={},A=!!this.sampling,l=t.enableMouseTracking,h=t.threshold,v=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),y=!!t.stacking,P=this.cropStart||0,T=this.requireSorting,E=!s,S="x"===t.findNearestPointBy,C=this.xData||this.options.xData||this.processedXData||!1,M=I(t.lineWidth,1),k=!1,U,R=void p.getThreshold(h),D,w,B,L;if(!u.isPanning&&!p.isPanning&&(k=V(c,this),c.boosted=!0,this.visible)){(this.points||this.graph)&&j(this),N(c)?(this.markerGroup&&this.markerGroup!==e?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=e?.markerGroup,i&&i.target&&(this.renderTarget=i.target=i.target.destroy())):(this.markerGroup===e?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,c.seriesGroup).addClass("highcharts-tracker"));let n=this.points=[],d=(t,e,i,s)=>{let o=!!C&&C[P+i],r=t=>{c.inverted&&(t=u.len-t,e=p.len-e),n.push({destroy:_,x:o,clientX:t,plotX:t,plotY:e,i:P+i,percentage:s})};t=Math.ceil(t),G=S?t:t+","+e,l&&(a[G]?o===C[C.length-1]&&(n.length--,r(t)):(a[G]=!0,r(t)))},t=(this.buildKDTree=_,z(this,"renderCanvas"),this.is("line")&&1=b&&o<=x),null!==o&&s>=f&&s<=m&&h&&(r=u.toPixels(s,!0),A?(void 0!==B&&r!==U||(v||(l=o),(void 0===L||o>w)&&(w=o,L=e),(void 0===B||l{z(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),t.debug.timeKDTree&&console.timeEnd("kd tree building")}))}}function k(t){let e=!0;if(!(e=this.chart.options&&this.chart.options.boost?void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled:e)||!this.boosted)return t.call(this);this.chart.boosted=!0;let i=V(this.chart,this);i&&(X(i,this),i.pushSeries(this)),W(this)}function U(t){if(this.boosted){if(y(this))return{};if(this.xAxis.isPanning||this.yAxis.isPanning)return this}return t.apply(this,[].slice.call(arguments,1))}function R(t){let e=this.options.data;if(v(this.chart)&&l[this.type]){var i=this.is("scatter")&&!this.is("bubble")&&!this.is("heatmap");if(!M(this,e)||i||this.options.stacking||!y(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;i&&!this.yAxis.treeGrid?function(t){let{options:e,xAxis:i,yAxis:s}=this;if(!(this.isDirty||i.isDirty||s.isDirty||t))return!1;this.yAxis.setTickInterval();var t=e.boostThreshold||0,o=e.cropThreshold,r=e.data||this.data,n=this.xData,a=i.getExtremes(),l=a.max??Number.MAX_VALUE,h=a.min??-Number.MAX_VALUE,d=this.yData,c=s.getExtremes(),u=c.max??Number.MAX_VALUE,p=c.min??-Number.MAX_VALUE;if(!this.boosted&&i.old&&s.old&&h>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&p>=(s.old.min??-Number.MAX_VALUE)&&u<=(s.old.max??Number.MAX_VALUE))return this.processedXData??(this.processedXData=n),this.processedYData??(this.processedYData=d),!0;if(!t||r.lengthP(s,t)};let e=s.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(t=>{e.push({prop:t,val:s[t],own:Object.hasOwnProperty.call(s,t)})}),s.allowDG=!1,s.directTouch=!1,s.stickyTracking=!0,s.finishedAnimating=!0,s.labelBySeries&&(s.labelBySeries=s.labelBySeries.destroy()),s.is("scatter")&&s.data.length){for(var o of s.data)o?.destroy?.();s.data.length=0,s.points.length=0,delete s.processedData}}}else{var r=this;let t=r.boost,e=r.chart,i=e.boost;if(i?.markerGroup)for(var n of(i.markerGroup.destroy(),i.markerGroup=void 0,e.series))n.markerGroup=void 0,n.markerGroup=n.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker");t&&((t.altered||[]).forEach(t=>{t.own?r[t.prop]=t.val:delete r[t.prop]}),t.clear&&t.clear())}}else t.apply(this,[].slice.call(arguments,1))}function D(t){t=t.apply(this,[].slice.call(arguments,1));return this.boost&&t?this.boost.getPoint(t):t}return{compose:function(t,a,e){if(x(n,"Boost.Series")){let i=r().plotOptions,n=t.prototype;if(g(t,"destroy",T),g(t,"hide",E),e&&(n.renderCanvas=S),A(n,"getExtremes",U),A(n,"processData",R),A(n,"searchPoint",D),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(t=>{var e=n,i=a,s=t;function o(t){var e=this.options.stacking&&("translate"===s||"generatePoints"===s);this.boosted&&!e&&v(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&l[this.type]&&0!==this.options.boostThreshold?"render"===s&&this.renderCanvas&&this.renderCanvas():t.call(this)}if(A(e,s,o),"translate"===s)for(var r of["column","arearange","columnrange","heatmap","treemap"])i[r]&&A(i[r].prototype,s,o)}),s.forEach(t=>{let e=i[t];e&&(e.boostThreshold=5e3,e.boostData=[],a[t].prototype.fillOpacity=!0)}),e){let{area:t,areaspline:e,bubble:i,column:s,heatmap:o,scatter:r,treemap:n}=a;if(t&&m(t.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),e&&m(e.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i){let t=i.prototype;delete t.buildKDTree,A(t,"markerAttribs",function(t){return!this.boosted&&t.apply(this,[].slice.call(arguments,1))})}s&&m(s.prototype,{fill:!0,sampling:!0}),r&&(r.prototype.fill=!0),[o,n].forEach(t=>{t&&A(t.prototype,"drawPoints",k)})}}return t},destroyGraphics:j,eachAsync:F,getPoint:P}}),e(t,"Extensions/BoostCanvas.js",[t["Extensions/Boost/BoostChart.js"],t["Extensions/Boost/BoostSeries.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,Q,f,e,J){var i;let{getBoostClipRect:l,isChartSeriesBoosting:h}=t,m=Q["destroyGraphics"],$=f["parse"],{doc:d,noop:b}=e,{addEvent:x,fireEvent:tt,isNumber:A,merge:et,pick:v,wrap:c}=J;{t=i=i||{};let q,g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function a(t,e,i,s,o){o&&e!==o.clientX&&(t.moveTo(o.clientX,o.yBottom),t.lineTo(o.clientX,o.plotY),t.lineTo(e,i),t.lineTo(e,s))}function u(t,e,i,s,o){t.moveTo(e,i),t.arc(e,i,this.radii&&this.radii[o],0,2*Math.PI,!1)}function p(t,e,i,s){t.rect(e-1,i,1,s-i)}function y(){this.boost&&this.boost.copy&&this.boost.copy()}function P(){let t=this.boost||{};t.target&&t.target.attr({href:g}),t.canvas&&t.canvas.getContext("2d").clearRect(0,0,t.canvas.width,t.canvas.height)}function T(){h(this.chart)?this.boost&&this.boost.clear&&this.boost.clear():this.boost&&this.boost.copy?this.boost.copy():this.chart.boost&&this.chart.boost.copy&&this.chart.boost.copy()}function E(t,e,i){t.lineTo(e,i)}function S(){function e(t,e,i,s,o,r,n){t.call(this,i,e,s,o,r,n)}let i,t=this.chart,s=h(t)?t:this,o=s===t?t.seriesGroup:t.seriesGroup||this.group,r=t.chartWidth,n=t.chartHeight,a=s.boost=s.boost||{};return i=a.targetCtx,a.canvas||(a.canvas=d.createElement("canvas"),a.target=t.renderer.image("",0,0,r,n).addClass("highcharts-boost-canvas").add(o),i=a.targetCtx=a.canvas.getContext("2d"),t.inverted&&["moveTo","lineTo","rect","arc"].forEach(t=>{c(i,t,e)}),a.copy=function(){a.target.attr({href:a.canvas.toDataURL("image/png")})},a.clear=function(){i.clearRect(0,0,a.canvas.width,a.canvas.height),s===a.target&&a.target.attr({href:g})},a.clipRect=t.renderer.clipRect(),a.target.clip(a.clipRect)),a.canvas.width!==r&&(a.canvas.width=r),a.canvas.height!==n&&(a.canvas.height=n),a.target.attr({x:0,y:0,width:r,height:n,style:"pointer-events: none",href:g}),a.clipRect&&a.clipRect.attr(l(t,s)),i}function C(){let T=this,t=T.options,E=T.chart,S=T.xAxis,C=T.yAxis,e=E.options.boost||{},i={timeRendering:e.timeRendering||!1,timeSeriesProcessing:e.timeSeriesProcessing||!1,timeSetup:e.timeSetup||!1},s=T.processedXData,M=T.processedYData,l=t.data,o=S.getExtremes(),k=o.min,U=o.max,r=C.getExtremes(),R=r.min,D=r.max,h={},w=!!T.sampling,d=t.marker&&t.marker.radius,c=T.cvsStrokeBatch||1e3,u=t.enableMouseTracking,n=t.threshold,B=A(n),L=C.getThreshold(n),p=T.fill,G=T.pointArrayMap&&"low,high"===T.pointArrayMap.join(","),N=!!t.stacking,_=T.cropStart||0,z=E.options.loading,W=T.requireSorting,Y=t.connectNulls,I=!s,O=N?T.data:s||l,H=T.fillOpacity?f.parse(T.color).setOpacity(v(t.fillOpacity,.75)).get():T.color,K="x"===t.findNearestPointBy,a=this.boost||{},X=T.cvsDrawPoint,V=t.lineWidth?T.cvsLineTo:void 0,j=d&&d<=1?T.cvsMarkerSquare:T.cvsMarkerCircle,Z=(a.target&&a.target.attr({href:g}),(T.points||T.graph)&&m(T),T.plotGroup("group","series",T.visible?"visible":"hidden",t.zIndex,E.seriesGroup),T.markerGroup=T.group,x(T,"destroy",function(){T.markerGroup=null}),this.points=[]),F=this.getContext();if(T.buildKDTree=b,a.clear&&a.clear(),T.visible){99999{let i=void 0===E.index,s,o,r,n,a,l,h=!1,d=!1,c=NaN,u=NaN,p=!0;return i||(I?(s=t[0],o=t[1],O[e+1]&&(c=O[e+1][0]),O[e-1]&&(u=O[e-1][0])):(s=t,o=M[e],O[e+1]&&(c=O[e+1]),O[e-1]&&(u=O[e-1])),c&&c>=k&&c<=U&&(h=!0),u&&u>=k&&u<=U&&(d=!0),G?(I&&(o=t.slice(1,3)),l=o[0],o=o[1]):N&&(s=t.x,l=(o=t.stackY)-t.y),a=null===o,W||(p=o>=R&&o<=D),!a&&(s>=k&&s<=U&&p||h||d)&&(r=Math.round(S.toPixels(s,!0)),w?(void 0!==A&&r!==g||(G||(l=o),(void 0===v||o>x)&&(x=o,v=e),(void 0===A||l{var e,i,s,o=t.plotY;void 0!==o&&!isNaN(o)&&null!==t.y&&n&&({x:o=0,y:e=0,width:i=0,height:s=0}=t.shapeArgs||{},t=r.styledMode?t.series.colorAttribs(t):t.series.pointAttribs(t),n.fillStyle=t.fill,a?n.fillRect(h.len-e+l.left,l.len-o+h.top,-s,-i):n.fillRect(o+l.left,e+h.top,i,s))}),this.canvasToSVG()):this.chart.showLoading("Your browser doesn't support HTML5 canvas,
    please use a modern browser")}t.compose=function(t,e,i){let s=e.prototype;if(!s.renderCanvas){var{area:e,bubble:i,column:o,heatmap:r,scatter:n}=i;if(t.prototype.callbacks.push(t=>{x(t,"predraw",P),x(t,"render",y)}),s.canvasToSVG=T,s.cvsLineTo=E,s.getContext=S,s.renderCanvas=C,e){let t=e.prototype;t.cvsDrawPoint=a,t.fill=!0,t.fillOpacity=!0,t.sampling=!0}if(i){let t=i.prototype;t.cvsMarkerCircle=u,t.cvsStrokeBatch=1}if(o){let t=o.prototype;t.cvsDrawPoint=p,t.fill=!0,t.sampling=!0}if(r&&c(r.prototype,"drawPoints",U),n){let t=n.prototype;t.cvsMarkerCircle=M,t.cvsMarkerSquare=k,t.fill=!0}}}}return i}),e(t,"masters/modules/boost-canvas.src.js",[t["Core/Globals.js"],t["Extensions/BoostCanvas.js"]],function(t,e){return t.initCanvasBoost=function(){e.compose(t.Chart,t.Series,t.seriesTypes)},t})}); \ No newline at end of file +!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("highcharts/modules/boost-canvas",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var t=o?o._modules:{};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Extensions/Boost/Boostables.js",[],function(){return["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"]}),e(t,"Extensions/Boost/BoostableMap.js",[t["Extensions/Boost/Boostables.js"]],function(t){let e={};return t.forEach(t=>{e[t]=!0}),e}),e(t,"Extensions/Boost/BoostChart.js",[t["Extensions/Boost/BoostableMap.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(c,t,e){let i=t["composed"],{addEvent:r,pick:u,pushUnique:s}=e;function n(t){let e=t.series,i=t.boost=t.boost||{},s=t.options.boost||{},o=u(s.seriesThreshold,50);if(e.length>=o)return!0;if(1===e.length)return!1;let r=s.allowForce;if(void 0===r)for(var n of(r=!0,t.xAxis))if(u(n.min,-1/0)>u(n.dataMin,-1/0)||u(n.max,1/0)=(h.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=r&&(a===e.length&&l===a||5t.isPanning)||i.boost.clear?.(),i.boost.canvas&&i.boost.wgl&&n(i)&&i.boost.wgl.allocateBuffer(i),i.boost.markerGroup&&i.xAxis&&0{var e,t=t.hoverPoint?.series;i.boost=i.boost||{},i.boost.markerGroup&&t&&(e=i.inverted?t.yAxis:t.xAxis,t=i.inverted?t.xAxis:t.yAxis,(e&&e.pos!==s||t&&t.pos!==o)&&(i.series.forEach(t=>{t.halo?.hide()}),i.boost.markerGroup.translate(e.pos,t.pos),s=e.pos,o=t.pos))})}return{compose:function(t,e){return e&&s(i,"Boost.Chart")&&t.prototype.callbacks.push(o),t},getBoostClipRect:function(t,e){let i=t.navigator,s={x:t.plotLeft,y:t.plotTop,width:t.plotWidth,height:t.plotHeight};var o,r,n;return i&&t.inverted?(s.width+=i.top+i.height,i.opposite||(s.x=i.left)):i&&!t.inverted&&(s.height=i.top+i.height-t.plotTop),e.getClipBox&&({xAxis:o,yAxis:r}=e,s=e.getClipBox(),t.inverted?(n=s.width,s.width=s.height,s.height=n,s.x=r.pos,s.y=o.pos):(s.x=o.pos,s.y=r.pos)),e===t&&(n=t.inverted?t.xAxis:t.yAxis).length<=1&&(s.y=Math.min(n[0].pos,s.y),s.height=n[0].pos-t.plotTop+n[0].len),s},isChartSeriesBoosting:n}}),e(t,"Extensions/Boost/WGLDrawMode.js",[],function(){return{area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"}}),e(t,"Extensions/Boost/WGLShader.js",[t["Core/Utilities.js"]],function(t){let{clamp:l,error:e,pick:h}=t;return class{constructor(t){this.errors=[],this.uLocations={},(this.gl=t)&&this.createShader()}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){var t=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),e=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=t=>this.gl.getUniformLocation(this.shaderProgram,t);return t&&e?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,t),this.gl.attachShader(this.shaderProgram,e),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS)?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1)):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&e("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(t,e){var i=this.gl.createShader("vertex"===e?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)?i:(this.errors.push("when compiling "+e+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(t,e,i,s=1){var o,r=t.options,n=Number.MAX_VALUE,a=-Number.MAX_VALUE;this.gl&&this.shaderProgram&&t.is("bubble")&&(o=t.getPxExtremes(),n=h(r.zMin,l(e,!1===r.displayNegative?r.zThreshold:-Number.MAX_VALUE,n)),a=h(r.zMax,Math.max(a,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==t.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,t.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",o.minPxSize*s),this.setUniform("bubbleMaxSize",o.maxPxSize*s),this.setUniform("bubbleZMin",n),this.setUniform("bubbleZMax",a),this.setUniform("bubbleZThreshold",t.options.zThreshold))}setColor(t){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,t[0]/255,t[1]/255,t[2]/255,t[3])}setDrawAsCircle(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,t?1:0)}setInverted(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,t)}setPMatrix(t){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,t)}setPointSize(t){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,t)}setSkipTranslation(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,!0===t?1:0)}setTexture(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,t)}setUniform(t,e){this.gl&&this.shaderProgram&&(t=this.uLocations[t]=this.uLocations[t]||this.gl.getUniformLocation(this.shaderProgram,t),this.gl.uniform1f(t,e))}}}),e(t,"Extensions/Boost/WGLVertexBuffer.js",[],function(){return class{constructor(t,e,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=t,this.shader=e}allocate(t){this.iterator=-1,this.preAllocated=new Float32Array(4*t)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(t,e,i){let s;return this.data=t||[],this.data&&0!==this.data.length||this.preAllocated?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(s=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||s,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),e),this.gl.enableVertexAttribArray(this.vertAttribute),!(s=!1)):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(t,e,i,s){this.preAllocated&&(this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=s)}render(t,e,i){var s=(this.preAllocated||this.data).length;return!(!this.buffer||!s||((e=!e||s{t.boosted&&(i+=h.seriesPointCount(t))}),e&&e.allocate(i))}allocateBufferForSingleSeries(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.boosted&&(i=h.seriesPointCount(t)),e&&e.allocate(i))}clear(){let t=this.gl;t&&t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}pushSeriesData(l,h){let d=this.data,c=this.settings,O=this.vbuffer,X=l.pointArrayMap&&"low,high"===l.pointArrayMap.join(","),{chart:u,options:i,sorted:V,xAxis:p,yAxis:g}=l,s=!!i.stacking,o=i.data,e=l.xAxis.getExtremes(),f=e.min-(l.xAxis.minPointOffset||0),m=e.max+(l.xAxis.minPointOffset||0),r=l.yAxis.getExtremes(),b=r.min-(l.yAxis.minPointOffset||0),j=r.max+(l.yAxis.minPointOffset||0),t=l.xData||i.xData||l.processedXData,F=l.yData||i.yData||l.processedYData,x=l.zData||i.zData||l.processedZData,W=!t||0===t.length,Y=i.connectNulls,A=l.points||!1,v=s?l.data:t||o,y={x:Number.MAX_VALUE,y:0},P={x:-Number.MAX_VALUE,y:0},H=void 0===u.index,K=ct[l.type],Z=i.zoneAxis||"y",T=i.zones||!1,q=i.threshold,E=this.getPixelRatio(),Q=l.chart.plotWidth,S=!1,C=!1,M,k,J=0,$=!1,U,R,D,tt,w=-1,B=!1,L=!1,G,et=!1,it=!1,N=!1,st=!1,ot=!0,rt=!0,_,z=!1,nt=!1,I=0;if(!(i.boostData&&0{if(e.color){let t=ht(e.color).rgba;t[0]/=255,t[1]/=255,t[2]/=255,_[i]=t,z||void 0!==e.value||(z=t)}}),z||((z=ht(l.pointAttribs&&l.pointAttribs().fill||l.color).rgba)[0]/=255,z[1]/=255,z[2]/=255)),u.inverted&&(Q=l.chart.plotHeight),l.closestPointRangePx=Number.MAX_VALUE;let r=t=>{t&&(h.colorData.push(t[0]),h.colorData.push(t[1]),h.colorData.push(t[2]),h.colorData.push(t[3]))},n=(t,e,i,s=1,o)=>{r(o),1===E||c.useGPUTranslations&&!h.skipTranslation||(t*=E,e*=E,s*=E),c.usePreallocated&&O?(O.push(t,e,i?1:0,s),I+=4):(d.push(t),d.push(e),d.push(i?E:0),d.push(s))},t=()=>{h.segments.length&&(h.segments[h.segments.length-1].to=d.length||I)},e=()=>{h.segments.length&&h.segments[h.segments.length-1].from===(d.length||I)||(t(),h.segments.push({from:d.length||I}))},a=(t,e,i,s,o)=>{r(o),n(t+i,e),r(o),n(t,e),r(o),n(t,e+s),r(o),n(t,e+s),r(o),n(t+i,e+s),r(o),n(t+i,e)};if(e(),A&&0{if(t.node){if(t.node.levelDynamic>e.node.levelDynamic)return 1;if(t.node.levelDynamic{let r,n;var t=o.plotY;if(void 0!==t&&!isNaN(t)&&null!==o.y&&o.shapeArgs){let{x:t=0,y:e=0,width:i=0,height:s=0}=o.shapeArgs;r=(n=u.styledMode?o.series.colorAttribs(o):n=o.series.pointAttribs(o))["stroke-width"]||0,(N=ht(n.fill).rgba)[0]/=255,N[1]/=255,N[2]/=255,l.is("treemap")&&(r=r||1,(k=ht(n.stroke).rgba)[0]/=255,k[1]/=255,k[2]/=255,a(t,e,i,s,k),r/=2),l.is("heatmap")&&u.inverted&&(t=p.len-t,e=g.len-e,i=-i,s=-s),a(t+r,e+r,i-2*r,s-2*r,N)}}),void t();for(;wh.zMax&&(h.zMax=D[2]),D[2]h.zMax&&(h.zMax=x[w]),x[w]=f&&L<=m&&(et=!0),B&&B>=f&&B<=m&&(it=!0),X?(W&&(R=D.slice(1,3)),G=R[0],R=R[1]):s&&(U=D.x,G=(R=D.stackY)-D.y),null!=b&&null!=j&&(ot=R>=b&&R<=j),U>m&&P.xf&&(y.x=U,y.y=R),null!==R||!Y)if(null!==R&&(ot||et||it)){if((st=V&&(L>=f||U>=f)&&(B<=m||U<=m)?!0:st)||et||it){if(nt&&U-B>nt&&e(),T){let s;T.some((t,e)=>{var i=T[e-1];return"x"===Z?void 0!==t.value&&U<=t.value&&(_[e]&&(!i||U>=i.value)&&(s=_[e]),!0):void 0!==t.value&&R<=t.value&&(_[e]&&(!i||R>=i.value)&&(s=_[e]),!0)}),N=s||z||N}!c.useGPUTranslations&&(h.skipTranslation=!0,U=p.toPixels(U,!0),R=g.toPixels(R,!0),U>Q&&"POINTS"===h.drawMode)||(h.hasMarkers&&st&&!1!==S&&(l.closestPointRangePx=Math.min(l.closestPointRangePx,Math.abs(U-S))),!c.useGPUTranslations&&!c.usePreallocated&&S&&Math.abs(U-S)<1&&C&&Math.abs(R-C)<1?c.debug.showSkipSummary&&++J:(K&&(!1!==(M=G)&&void 0!==G||(M=R<0?R:0),(X||s)&&!g.logarithmic||(M=Math.max(null===q?b:q,b)),c.useGPUTranslations||(M=g.toPixels(M,!0)),n(U,M,0,0,N)),i.step&&!rt&&n(U,C,0,2,N),n(U,R,0,"bubble"===l.type?tt||1:2,N),S=U,C=R,$=!0,rt=!1))}}else e()}else e()}c.debug.showSkipSummary&&console.log("skipped points:",J);var lt=(t,e)=>{c.useGPUTranslations||(h.skipTranslation=!0,t.x=p.toPixels(t.x,!0),t.y=g.toPixels(t.y,!0)),e?this.data=[t.x,t.y,0,2].concat(this.data):n(t.x,t.y,0,2)};$||!1===Y||"line_strip"!==l.drawMode||(y.x-Number.MAX_VALUE&<(P)),t()}}pushSeries(t){let e=this.markerData,i=this.series,s=this.settings;0=i.length?i.push(o):i[t.index]=o,this.pushSeriesData(t,o),s.debug.timeSeriesProcessing&&console.timeEnd("building "+t.type+" series")}flush(){let t=this.vbuffer;this.data=[],this.markerData=[],this.series=[],t&&t.destroy()}setXAxis(t){let e=this.shader;var i;e&&(i=this.getPixelRatio(),e.setUniform("xAxisTrans",t.transA*i),e.setUniform("xAxisMin",t.min),e.setUniform("xAxisMinPad",t.minPixelPadding*i),e.setUniform("xAxisPointRange",t.pointRange),e.setUniform("xAxisLen",t.len*i),e.setUniform("xAxisPos",t.pos*i),e.setUniform("xAxisCVSCoord",!t.horiz),e.setUniform("xAxisIsLog",!!t.logarithmic),e.setUniform("xAxisReversed",!!t.reversed))}setYAxis(t){let e=this.shader;var i;e&&(i=this.getPixelRatio(),e.setUniform("yAxisTrans",t.transA*i),e.setUniform("yAxisMin",t.min),e.setUniform("yAxisMinPad",t.minPixelPadding*i),e.setUniform("yAxisPointRange",t.pointRange),e.setUniform("yAxisLen",t.len*i),e.setUniform("yAxisPos",t.pos*i),e.setUniform("yAxisCVSCoord",!t.horiz),e.setUniform("yAxisIsLog",!!t.logarithmic),e.setUniform("yAxisReversed",!!t.reversed))}setThreshold(t,e){let i=this.shader;i&&(i.setUniform("hasThreshold",t),i.setUniform("translatedThreshold",e))}renderChart(g){let f=this.gl,m=this.settings,b=this.shader,x=this.vbuffer,A=this.getPixelRatio();if(!g)return!1;this.width=g.chartWidth*A,this.height=g.chartHeight*A;var t=this.height,e=this.width;if(!(f&&b&&e&&t))return!1;m.debug.timeRendering&&console.time("gl rendering"),f.canvas.width=e,f.canvas.height=t,b.bind(),f.viewport(0,0,e,t),b.setPMatrix(h.orthoMatrix(e,t)),1{let i=t.series.options,s=i.marker,o=void 0!==i.lineWidth?i.lineWidth:1,r=i.threshold,n=P(r),a=t.series.yAxis.getThreshold(r),l=T(i.marker?i.marker.enabled:null,!!t.series.xAxis.isRadial||null,t.series.closestPointRangePx>2*((i.marker?i.marker.radius:10)||10)),h=this.textureHandles[s&&s.symbol||t.series.symbol]||this.textureHandles.circle,d,c,u,p=[];if(0!==t.segments.length&&t.segments[0].from!==t.segments[0].to&&(h.isReady&&(f.bindTexture(f.TEXTURE_2D,h.handle),b.setTexture(h.handle)),g.styledMode?t.series.markerGroup===t.series.chart.boost?.markerGroup?(delete t.series.markerGroup,t.series.markerGroup=t.series.plotGroup("markerGroup","markers","visible",1,g.seriesGroup).addClass("highcharts-tracker"),u=t.series.markerGroup.getStyle("fill"),t.series.markerGroup.destroy(),t.series.markerGroup=t.series.chart.boost?.markerGroup):u=t.series.markerGroup?.getStyle("fill"):(u="POINTS"===t.drawMode&&t.series.pointAttribs&&t.series.pointAttribs().fill||t.series.color,i.colorByPoint&&(u=t.series.chart.options.colors[e])),t.series.fillOpacity&&i.fillOpacity&&(u=new v(u).setOpacity(T(i.fillOpacity,1)).get()),p=ht(u).rgba,m.useAlpha||(p[3]=1),"add"===i.boostBlending?(f.blendFunc(f.SRC_ALPHA,f.ONE),f.blendEquation(f.FUNC_ADD)):"mult"===i.boostBlending||"multiply"===i.boostBlending?f.blendFunc(f.DST_COLOR,f.ZERO):"darken"===i.boostBlending?(f.blendFunc(f.ONE,f.ONE),f.blendEquation(f.FUNC_MIN)):f.blendFuncSeparate(f.SRC_ALPHA,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA),b.reset(),0{this.render(t)},1)}setSize(t,e){let i=this.shader;!i||this.width===t&&this.height===e||(this.width=t,this.height=e,i.bind(),i.setPMatrix(h.orthoMatrix(t,e)))}init(e,t){var i=this.settings;if(this.isInited=!1,!e)return!1;i.debug.timeSetup&&console.time("gl setup");for(let t=0;t{let i={isReady:!1,texture:n.createElement("canvas"),handle:o.createTexture()},s=i.texture.getContext("2d");(this.textureHandles[t]=i).texture.width=512,i.texture.height=512,s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.strokeStyle="rgba(255, 255, 255, 0)",s.fillStyle="#FFF",e(s);try{o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,i.handle),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,i.texture),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.bindTexture(o.TEXTURE_2D,null),i.isReady=!0}catch(t){}};return t("circle",t=>{t.beginPath(),t.arc(256,256,256,0,2*Math.PI),t.stroke(),t.fill()}),t("square",t=>{t.fillRect(0,0,512,512)}),t("diamond",t=>{t.beginPath(),t.moveTo(256,0),t.lineTo(512,256),t.lineTo(256,512),t.lineTo(0,256),t.lineTo(256,0),t.fill()}),t("triangle",t=>{t.beginPath(),t.moveTo(0,512),t.lineTo(256,0),t.lineTo(512,512),t.lineTo(0,512),t.fill()}),t("triangle-down",t=>{t.beginPath(),t.moveTo(0,0),t.lineTo(256,512),t.lineTo(512,0),t.lineTo(0,0),t.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let e=this.gl,t=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),t&&t.destroy(),e&&(a(this.textureHandles,t=>{t.handle&&e.deleteTexture(t.handle)}),e.canvas.width=1,e.canvas.height=1)}}return h}),e(t,"Extensions/Boost/BoostSeries.js",[t["Extensions/Boost/BoostableMap.js"],t["Extensions/Boost/Boostables.js"],t["Extensions/Boost/BoostChart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"],t["Extensions/Boost/WGLRenderer.js"]],function(l,s,t,e,i,o,h){let G,d,{getBoostClipRect:c,isChartSeriesBoosting:N}=t,r=e["getOptions"],{composed:n,doc:u,noop:_,win:p}=i,{addEvent:g,destroyObjectProperties:a,error:f,extend:m,fireEvent:z,isArray:b,isNumber:C,pick:I,pushUnique:x,wrap:A,defined:O}=o;function X(t,e){var i=e.boost;t&&i&&i.target&&i.canvas&&!N(e.chart)&&t.allocateBufferForSingleSeries(e)}function v(t){return I(t&&t.options&&t.options.boost&&t.options.boost.enabled,!0)}function V(i,t){let e=i.constructor,s=i.seriesGroup||t.group,o=i.chartWidth,r=i.chartHeight,n=i,a=!1,l=(N(i)?n=i:(n=t,a=!(!t.options.events?.click&&!t.options.point?.events?.click)),n.boost=n.boost||{});if(d=d||u.createElement("canvas"),l.target||(l.canvas=d,i.renderer.forExport,n.renderTarget=l.target=i.renderer.image("",0,0,o,r).addClass("highcharts-boost-canvas").add(s),l.clear=function(){l.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},l.copy=function(){l.resize(),l.target.attr({href:l.canvas.toDataURL("image/png")})},l.resize=function(){o=i.chartWidth,r=i.chartHeight,(l.targetFo||l.target).attr({x:0,y:0,width:o,height:r}).css({pointerEvents:a?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(a?"highcharts-tracker":""),n instanceof e&&n.boost?.markerGroup?.translate(i.plotLeft,i.plotTop)},l.clipRect=i.renderer.clipRect(),(l.targetFo||l.target).attr({zIndex:t.options.zIndex}),n instanceof e&&(n.boost.markerGroup=n.renderer.g().add(s).translate(t.xAxis.pos,t.yAxis.pos))),l.canvas.width=o,l.canvas.height=r,l.clipRect){let t=c(i,n),e=t.width===i.clipBox.width&&t.height===i.clipBox.height?s:l.targetFo||l.target;l.clipRect.attr(t),e?.clip(l.clipRect)}return l.resize(),l.clear(),l.wgl||(l.wgl=new h(t=>{t.settings.debug.timeBufferCopy&&console.time("buffer copy"),l.copy(),t.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),l.wgl.init(l.canvas)||f("[highcharts boost] - unable to init WebGL renderer"),l.wgl.setOptions(i.options.boost||{}),n instanceof e&&l.wgl.allocateBuffer(i)),l.wgl.setSize(o,r),l.wgl}function j(i){var t,s=i.points;if(s){let t,e;for(e=0;e{let e=i[t];e&&(i[t]=e.destroy())}),i.zones))a(t,void 0,!0)}function F(t,e,i,s,o,r){let n=(o=o||0)+(s=s||3e3),a=!0;for(;a&&o(i.boostThreshold||Number.MAX_VALUE)&&C(r.min)&&C(r.max)&&(!e||C(o.min)&&C(o.max))&&(!t||C(t.min)&&C(t.max))}let M=(t,e)=>!t.forceCrop&&(N(t.chart)||(e?e.length:0)>=(t.options.boostThreshold||Number.MAX_VALUE));function T(){let e=this,t=e.chart;t.boost&&t.boost.markerGroup===e.markerGroup&&(e.markerGroup=null),t.hoverPoints&&(t.hoverPoints=t.hoverPoints.filter(function(t){return t.series===e})),t.hoverPoint&&t.hoverPoint.series===e&&(t.hoverPoint=null)}function E(){let t=this.boost;t&&t.canvas&&t.target&&(t.wgl&&t.wgl.clear(),t.clear&&t.clear())}function W(t){let e=t.boost;e&&e.canvas&&e.target&&e.wgl&&!N(t.chart)&&e.wgl.render(t.chart)}function P(t,e){let i=t.options,s=t.xAxis,o=t.pointClass;if(e instanceof o)return e;let r=t.xData||i.xData||t.processedXData||!1,n=new o(t,(t.options.data||[])[e.i],r?r[e.i]:void 0);return n.category=I(s.categories?s.categories[n.x]:n.x,n.x),n.dist=e.dist,n.distX=e.distX,n.plotX=e.plotX,n.plotY=e.plotY,n.index=e.i,n.percentage=e.percentage,n.isInside=t.isPointInside(n),n}function S(){let t=this.options||{},c=this.chart,e=c.boost,i=this.boost,u=this.xAxis,p=this.yAxis,s=t.xData||this.processedXData,g=t.yData||this.processedYData,o=this.processedData||t.data,r=u.getExtremes(),f=r.min-(u.minPointOffset||0),m=r.max+(u.minPointOffset||0),n=p.getExtremes(),b=n.min-(p.minPointOffset||0),x=n.max+(p.minPointOffset||0),a={},A=!!this.sampling,l=t.enableMouseTracking,h=t.threshold,v=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),y=!!t.stacking,P=this.cropStart||0,T=this.requireSorting,E=!s,S="x"===t.findNearestPointBy,C=this.xData||this.options.xData||this.processedXData||!1,M=I(t.lineWidth,1),k=!1,U,R=void p.getThreshold(h),D,w,B,L;if(!u.isPanning&&!p.isPanning&&(k=V(c,this),c.boosted=!0,this.visible)){(this.points||this.graph)&&j(this),N(c)?(this.markerGroup&&this.markerGroup!==e?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=e?.markerGroup,i&&i.target&&(this.renderTarget=i.target=i.target.destroy())):(this.markerGroup===e?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,c.seriesGroup).addClass("highcharts-tracker"));let n=this.points=[],d=(t,e,i,s)=>{let o=!!C&&C[P+i],r=t=>{c.inverted&&(t=u.len-t,e=p.len-e),n.push({destroy:_,x:o,clientX:t,plotX:t,plotY:e,i:P+i,percentage:s})};t=Math.ceil(t),G=S?t:t+","+e,l&&(a[G]?o===C[C.length-1]&&(n.length--,r(t)):(a[G]=!0,r(t)))},t=(this.buildKDTree=_,z(this,"renderCanvas"),this.is("line")&&1=b&&o<=x),null!==o&&s>=f&&s<=m&&h&&(r=u.toPixels(s,!0),A?(void 0!==B&&r!==U||(v||(l=o),(void 0===L||o>w)&&(w=o,L=e),(void 0===B||l{z(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),t.debug.timeKDTree&&console.timeEnd("kd tree building")}))}}function k(t){let e=!0;if(!(e=this.chart.options&&this.chart.options.boost?void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled:e)||!this.boosted)return t.call(this);this.chart.boosted=!0;let i=V(this.chart,this);i&&(X(i,this),i.pushSeries(this)),W(this)}function U(t){if(this.boosted){if(y(this))return{};if(this.xAxis.isPanning||this.yAxis.isPanning)return this}return t.apply(this,[].slice.call(arguments,1))}function R(t){let e=this.options.data;if(v(this.chart)&&l[this.type]){var i=this.is("scatter")&&!this.is("bubble")&&!this.is("heatmap");if(!M(this,e)||i||this.options.stacking||!y(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;i&&!this.yAxis.treeGrid?function(t){let{options:e,xAxis:i,yAxis:s}=this;if(!(this.isDirty||i.isDirty||s.isDirty||t))return!1;this.yAxis.setTickInterval();var t=e.boostThreshold||0,o=e.cropThreshold,r=e.data||this.data,n=this.xData,a=i.getExtremes(),l=a.max??Number.MAX_VALUE,h=a.min??-Number.MAX_VALUE,d=this.yData,c=s.getExtremes(),u=c.max??Number.MAX_VALUE,p=c.min??-Number.MAX_VALUE;if(!this.boosted&&i.old&&s.old&&h>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&p>=(s.old.min??-Number.MAX_VALUE)&&u<=(s.old.max??Number.MAX_VALUE))return this.processedXData??(this.processedXData=n),this.processedYData??(this.processedYData=d),!0;if(!t||r.lengthP(s,t)};let e=s.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(t=>{e.push({prop:t,val:s[t],own:Object.hasOwnProperty.call(s,t)})}),s.allowDG=!1,s.directTouch=!1,s.stickyTracking=!0,s.finishedAnimating=!0,s.labelBySeries&&(s.labelBySeries=s.labelBySeries.destroy()),s.is("scatter")&&s.data.length){for(var o of s.data)o?.destroy?.();s.data.length=0,s.points.length=0,delete s.processedData}}}else{var r=this;let t=r.boost,e=r.chart,i=e.boost;if(i?.markerGroup)for(var n of(i.markerGroup.destroy(),i.markerGroup=void 0,e.series))n.markerGroup=void 0,n.markerGroup=n.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker");t&&((t.altered||[]).forEach(t=>{t.own?r[t.prop]=t.val:delete r[t.prop]}),t.clear&&t.clear()),(e.seriesGroup||r.group)?.clip()}}else t.apply(this,[].slice.call(arguments,1))}function D(t){t=t.apply(this,[].slice.call(arguments,1));return this.boost&&t?this.boost.getPoint(t):t}return{compose:function(t,a,e){if(x(n,"Boost.Series")){let i=r().plotOptions,n=t.prototype;if(g(t,"destroy",T),g(t,"hide",E),e&&(n.renderCanvas=S),A(n,"getExtremes",U),A(n,"processData",R),A(n,"searchPoint",D),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(t=>{var e=n,i=a,s=t;function o(t){var e=this.options.stacking&&("translate"===s||"generatePoints"===s);this.boosted&&!e&&v(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&l[this.type]&&0!==this.options.boostThreshold?"render"===s&&this.renderCanvas&&this.renderCanvas():t.call(this)}if(A(e,s,o),"translate"===s)for(var r of["column","arearange","columnrange","heatmap","treemap"])i[r]&&A(i[r].prototype,s,o)}),s.forEach(t=>{let e=i[t];e&&(e.boostThreshold=5e3,e.boostData=[],a[t].prototype.fillOpacity=!0)}),e){let{area:t,areaspline:e,bubble:i,column:s,heatmap:o,scatter:r,treemap:n}=a;if(t&&m(t.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),e&&m(e.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i){let t=i.prototype;delete t.buildKDTree,A(t,"markerAttribs",function(t){return!this.boosted&&t.apply(this,[].slice.call(arguments,1))})}s&&m(s.prototype,{fill:!0,sampling:!0}),r&&(r.prototype.fill=!0),[o,n].forEach(t=>{t&&A(t.prototype,"drawPoints",k)})}}return t},destroyGraphics:j,eachAsync:F,getPoint:P}}),e(t,"Extensions/BoostCanvas.js",[t["Extensions/Boost/BoostChart.js"],t["Extensions/Boost/BoostSeries.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,Q,f,e,J){var i;let{getBoostClipRect:l,isChartSeriesBoosting:h}=t,m=Q["destroyGraphics"],$=f["parse"],{doc:d,noop:b}=e,{addEvent:x,fireEvent:tt,isNumber:A,merge:et,pick:v,wrap:c}=J;{t=i=i||{};let q,g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function a(t,e,i,s,o){o&&e!==o.clientX&&(t.moveTo(o.clientX,o.yBottom),t.lineTo(o.clientX,o.plotY),t.lineTo(e,i),t.lineTo(e,s))}function u(t,e,i,s,o){t.moveTo(e,i),t.arc(e,i,this.radii&&this.radii[o],0,2*Math.PI,!1)}function p(t,e,i,s){t.rect(e-1,i,1,s-i)}function y(){this.boost&&this.boost.copy&&this.boost.copy()}function P(){let t=this.boost||{};t.target&&t.target.attr({href:g}),t.canvas&&t.canvas.getContext("2d").clearRect(0,0,t.canvas.width,t.canvas.height)}function T(){h(this.chart)?this.boost&&this.boost.clear&&this.boost.clear():this.boost&&this.boost.copy?this.boost.copy():this.chart.boost&&this.chart.boost.copy&&this.chart.boost.copy()}function E(t,e,i){t.lineTo(e,i)}function S(){function e(t,e,i,s,o,r,n){t.call(this,i,e,s,o,r,n)}let i,t=this.chart,s=h(t)?t:this,o=s===t?t.seriesGroup:t.seriesGroup||this.group,r=t.chartWidth,n=t.chartHeight,a=s.boost=s.boost||{};return i=a.targetCtx,a.canvas||(a.canvas=d.createElement("canvas"),a.target=t.renderer.image("",0,0,r,n).addClass("highcharts-boost-canvas").add(o),i=a.targetCtx=a.canvas.getContext("2d"),t.inverted&&["moveTo","lineTo","rect","arc"].forEach(t=>{c(i,t,e)}),a.copy=function(){a.target.attr({href:a.canvas.toDataURL("image/png")})},a.clear=function(){i.clearRect(0,0,a.canvas.width,a.canvas.height),s===a.target&&a.target.attr({href:g})},a.clipRect=t.renderer.clipRect(),a.target.clip(a.clipRect)),a.canvas.width!==r&&(a.canvas.width=r),a.canvas.height!==n&&(a.canvas.height=n),a.target.attr({x:0,y:0,width:r,height:n,style:"pointer-events: none",href:g}),a.clipRect&&a.clipRect.attr(l(t,s)),i}function C(){let T=this,t=T.options,E=T.chart,S=T.xAxis,C=T.yAxis,e=E.options.boost||{},i={timeRendering:e.timeRendering||!1,timeSeriesProcessing:e.timeSeriesProcessing||!1,timeSetup:e.timeSetup||!1},s=T.processedXData,M=T.processedYData,l=t.data,o=S.getExtremes(),k=o.min,U=o.max,r=C.getExtremes(),R=r.min,D=r.max,h={},w=!!T.sampling,d=t.marker&&t.marker.radius,c=T.cvsStrokeBatch||1e3,u=t.enableMouseTracking,n=t.threshold,B=A(n),L=C.getThreshold(n),p=T.fill,G=T.pointArrayMap&&"low,high"===T.pointArrayMap.join(","),N=!!t.stacking,_=T.cropStart||0,z=E.options.loading,W=T.requireSorting,Y=t.connectNulls,I=!s,O=N?T.data:s||l,H=T.fillOpacity?f.parse(T.color).setOpacity(v(t.fillOpacity,.75)).get():T.color,K="x"===t.findNearestPointBy,a=this.boost||{},X=T.cvsDrawPoint,V=t.lineWidth?T.cvsLineTo:void 0,j=d&&d<=1?T.cvsMarkerSquare:T.cvsMarkerCircle,Z=(a.target&&a.target.attr({href:g}),(T.points||T.graph)&&m(T),T.plotGroup("group","series",T.visible?"visible":"hidden",t.zIndex,E.seriesGroup),T.markerGroup=T.group,x(T,"destroy",function(){T.markerGroup=null}),this.points=[]),F=this.getContext();if(T.buildKDTree=b,a.clear&&a.clear(),T.visible){99999{let i=void 0===E.index,s,o,r,n,a,l,h=!1,d=!1,c=NaN,u=NaN,p=!0;return i||(I?(s=t[0],o=t[1],O[e+1]&&(c=O[e+1][0]),O[e-1]&&(u=O[e-1][0])):(s=t,o=M[e],O[e+1]&&(c=O[e+1]),O[e-1]&&(u=O[e-1])),c&&c>=k&&c<=U&&(h=!0),u&&u>=k&&u<=U&&(d=!0),G?(I&&(o=t.slice(1,3)),l=o[0],o=o[1]):N&&(s=t.x,l=(o=t.stackY)-t.y),a=null===o,W||(p=o>=R&&o<=D),!a&&(s>=k&&s<=U&&p||h||d)&&(r=Math.round(S.toPixels(s,!0)),w?(void 0!==A&&r!==g||(G||(l=o),(void 0===v||o>x)&&(x=o,v=e),(void 0===A||l{var e,i,s,o=t.plotY;void 0!==o&&!isNaN(o)&&null!==t.y&&n&&({x:o=0,y:e=0,width:i=0,height:s=0}=t.shapeArgs||{},t=r.styledMode?t.series.colorAttribs(t):t.series.pointAttribs(t),n.fillStyle=t.fill,a?n.fillRect(h.len-e+l.left,l.len-o+h.top,-s,-i):n.fillRect(o+l.left,e+h.top,i,s))}),this.canvasToSVG()):this.chart.showLoading("Your browser doesn't support HTML5 canvas,
    please use a modern browser")}t.compose=function(t,e,i){let s=e.prototype;if(!s.renderCanvas){var{area:e,bubble:i,column:o,heatmap:r,scatter:n}=i;if(t.prototype.callbacks.push(t=>{x(t,"predraw",P),x(t,"render",y)}),s.canvasToSVG=T,s.cvsLineTo=E,s.getContext=S,s.renderCanvas=C,e){let t=e.prototype;t.cvsDrawPoint=a,t.fill=!0,t.fillOpacity=!0,t.sampling=!0}if(i){let t=i.prototype;t.cvsMarkerCircle=u,t.cvsStrokeBatch=1}if(o){let t=o.prototype;t.cvsDrawPoint=p,t.fill=!0,t.sampling=!0}if(r&&c(r.prototype,"drawPoints",U),n){let t=n.prototype;t.cvsMarkerCircle=M,t.cvsMarkerSquare=k,t.fill=!0}}}}return i}),e(t,"masters/modules/boost-canvas.src.js",[t["Core/Globals.js"],t["Extensions/BoostCanvas.js"]],function(t,e){return t.initCanvasBoost=function(){e.compose(t.Chart,t.Series,t.seriesTypes)},t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/boost.min.js b/assets/js/external/highcharts/modules/boost.min.js index 28f99d4..c56d370 100644 --- a/assets/js/external/highcharts/modules/boost.min.js +++ b/assets/js/external/highcharts/modules/boost.min.js @@ -1 +1 @@ -!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/boost",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var e=r?r._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Extensions/Boost/Boostables.js",[],function(){return["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"]}),t(e,"Extensions/Boost/BoostableMap.js",[e["Extensions/Boost/Boostables.js"]],function(e){let t={};return e.forEach(e=>{t[e]=!0}),t}),t(e,"Extensions/Boost/BoostChart.js",[e["Extensions/Boost/BoostableMap.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(f,e,t){let i=e["composed"],{addEvent:o,pick:u,pushUnique:s}=t;function a(e){let t=e.series,i=e.boost=e.boost||{},s=e.options.boost||{},r=u(s.seriesThreshold,50);if(t.length>=r)return!0;if(1===t.length)return!1;let o=s.allowForce;if(void 0===o)for(var a of(o=!0,e.xAxis))if(u(a.min,-1/0)>u(a.dataMin,-1/0)||u(a.max,1/0)=(h.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=o&&(n===t.length&&l===n||5e.isPanning)||i.boost.clear?.(),i.boost.canvas&&i.boost.wgl&&a(i)&&i.boost.wgl.allocateBuffer(i),i.boost.markerGroup&&i.xAxis&&0{var t,e=e.hoverPoint?.series;i.boost=i.boost||{},i.boost.markerGroup&&e&&(t=i.inverted?e.yAxis:e.xAxis,e=i.inverted?e.xAxis:e.yAxis,(t&&t.pos!==s||e&&e.pos!==r)&&(i.series.forEach(e=>{e.halo?.hide()}),i.boost.markerGroup.translate(t.pos,e.pos),s=t.pos,r=e.pos))})}return{compose:function(e,t){return t&&s(i,"Boost.Chart")&&e.prototype.callbacks.push(r),e},getBoostClipRect:function(e,t){let i=e.navigator,s={x:e.plotLeft,y:e.plotTop,width:e.plotWidth,height:e.plotHeight};var r,o,a;return i&&e.inverted?(s.width+=i.top+i.height,i.opposite||(s.x=i.left)):i&&!e.inverted&&(s.height=i.top+i.height-e.plotTop),t.getClipBox&&({xAxis:r,yAxis:o}=t,s=t.getClipBox(),e.inverted?(a=s.width,s.width=s.height,s.height=a,s.x=o.pos,s.y=r.pos):(s.x=r.pos,s.y=o.pos)),t===e&&(a=e.inverted?e.xAxis:e.yAxis).length<=1&&(s.y=Math.min(a[0].pos,s.y),s.height=a[0].pos-e.plotTop+a[0].len),s},isChartSeriesBoosting:a}}),t(e,"Extensions/Boost/WGLDrawMode.js",[],function(){return{area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"}}),t(e,"Extensions/Boost/WGLShader.js",[e["Core/Utilities.js"]],function(e){let{clamp:l,error:t,pick:h}=e;return class{constructor(e){this.errors=[],this.uLocations={},(this.gl=e)&&this.createShader()}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){var e=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),t=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=e=>this.gl.getUniformLocation(this.shaderProgram,e);return e&&t?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS)?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1)):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&t("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(e,t){var i=this.gl.createShader("vertex"===t?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return this.gl.shaderSource(i,e),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)?i:(this.errors.push("when compiling "+t+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(e,t,i,s=1){var r,o=e.options,a=Number.MAX_VALUE,n=-Number.MAX_VALUE;this.gl&&this.shaderProgram&&e.is("bubble")&&(r=e.getPxExtremes(),a=h(o.zMin,l(t,!1===o.displayNegative?o.zThreshold:-Number.MAX_VALUE,a)),n=h(o.zMax,Math.max(n,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==e.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,e.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",r.minPxSize*s),this.setUniform("bubbleMaxSize",r.maxPxSize*s),this.setUniform("bubbleZMin",a),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",e.options.zThreshold))}setColor(e){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,e[0]/255,e[1]/255,e[2]/255,e[3])}setDrawAsCircle(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,e?1:0)}setInverted(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,e)}setPMatrix(e){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,e)}setPointSize(e){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,e)}setSkipTranslation(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,!0===e?1:0)}setTexture(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,e)}setUniform(e,t){this.gl&&this.shaderProgram&&(e=this.uLocations[e]=this.uLocations[e]||this.gl.getUniformLocation(this.shaderProgram,e),this.gl.uniform1f(e,t))}}}),t(e,"Extensions/Boost/WGLVertexBuffer.js",[],function(){return class{constructor(e,t,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=e,this.shader=t}allocate(e){this.iterator=-1,this.preAllocated=new Float32Array(4*e)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(e,t,i){let s;return this.data=e||[],this.data&&0!==this.data.length||this.preAllocated?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(s=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||s,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),t),this.gl.enableVertexAttribArray(this.vertAttribute),!(s=!1)):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(e,t,i,s){this.preAllocated&&(this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=s)}render(e,t,i){var s=(this.preAllocated||this.data).length;return!(!this.buffer||!s||((t=!t||s{e.boosted&&(i+=h.seriesPointCount(e))}),t&&t.allocate(i))}allocateBufferForSingleSeries(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.boosted&&(i=h.seriesPointCount(e)),t&&t.allocate(i))}clear(){let e=this.gl;e&&e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}pushSeriesData(l,h){let d=this.data,f=this.settings,O=this.vbuffer,X=l.pointArrayMap&&"low,high"===l.pointArrayMap.join(","),{chart:u,options:i,sorted:V,xAxis:c,yAxis:g}=l,s=!!i.stacking,r=i.data,t=l.xAxis.getExtremes(),m=t.min-(l.xAxis.minPointOffset||0),p=t.max+(l.xAxis.minPointOffset||0),o=l.yAxis.getExtremes(),b=o.min-(l.yAxis.minPointOffset||0),j=o.max+(l.yAxis.minPointOffset||0),e=l.xData||i.xData||l.processedXData,F=l.yData||i.yData||l.processedYData,x=l.zData||i.zData||l.processedZData,W=!e||0===e.length,H=i.connectNulls,A=l.points||!1,v=s?l.data:e||r,y={x:Number.MAX_VALUE,y:0},P={x:-Number.MAX_VALUE,y:0},Y=void 0===u.index,q=fe[l.type],Z=i.zoneAxis||"y",E=i.zones||!1,K=i.threshold,T=this.getPixelRatio(),Q=l.chart.plotWidth,k=!1,S=!1,M,C,J=0,$=!1,U,w,R,ee,B=-1,D=!1,L=!1,z,te=!1,ie=!1,G=!1,se=!1,re=!0,oe=!0,_,N=!1,ae=!1,I=0;if(!(i.boostData&&0{if(t.color){let e=he(t.color).rgba;e[0]/=255,e[1]/=255,e[2]/=255,_[i]=e,N||void 0!==t.value||(N=e)}}),N||((N=he(l.pointAttribs&&l.pointAttribs().fill||l.color).rgba)[0]/=255,N[1]/=255,N[2]/=255)),u.inverted&&(Q=l.chart.plotHeight),l.closestPointRangePx=Number.MAX_VALUE;let o=e=>{e&&(h.colorData.push(e[0]),h.colorData.push(e[1]),h.colorData.push(e[2]),h.colorData.push(e[3]))},a=(e,t,i,s=1,r)=>{o(r),1===T||f.useGPUTranslations&&!h.skipTranslation||(e*=T,t*=T,s*=T),f.usePreallocated&&O?(O.push(e,t,i?1:0,s),I+=4):(d.push(e),d.push(t),d.push(i?T:0),d.push(s))},e=()=>{h.segments.length&&(h.segments[h.segments.length-1].to=d.length||I)},t=()=>{h.segments.length&&h.segments[h.segments.length-1].from===(d.length||I)||(e(),h.segments.push({from:d.length||I}))},n=(e,t,i,s,r)=>{o(r),a(e+i,t),o(r),a(e,t),o(r),a(e,t+s),o(r),a(e,t+s),o(r),a(e+i,t+s),o(r),a(e+i,t)};if(t(),A&&0{if(e.node){if(e.node.levelDynamic>t.node.levelDynamic)return 1;if(e.node.levelDynamic{let o,a;var e=r.plotY;if(void 0!==e&&!isNaN(e)&&null!==r.y&&r.shapeArgs){let{x:e=0,y:t=0,width:i=0,height:s=0}=r.shapeArgs;o=(a=u.styledMode?r.series.colorAttribs(r):a=r.series.pointAttribs(r))["stroke-width"]||0,(G=he(a.fill).rgba)[0]/=255,G[1]/=255,G[2]/=255,l.is("treemap")&&(o=o||1,(C=he(a.stroke).rgba)[0]/=255,C[1]/=255,C[2]/=255,n(e,t,i,s,C),o/=2),l.is("heatmap")&&u.inverted&&(e=c.len-e,t=g.len-t,i=-i,s=-s),n(e+o,t+o,i-2*o,s-2*o,G)}}),void e();for(;Bh.zMax&&(h.zMax=R[2]),R[2]h.zMax&&(h.zMax=x[B]),x[B]=m&&L<=p&&(te=!0),D&&D>=m&&D<=p&&(ie=!0),X?(W&&(w=R.slice(1,3)),z=w[0],w=w[1]):s&&(U=R.x,z=(w=R.stackY)-R.y),null!=b&&null!=j&&(re=w>=b&&w<=j),U>p&&P.xm&&(y.x=U,y.y=w),null!==w||!H)if(null!==w&&(re||te||ie)){if((se=V&&(L>=m||U>=m)&&(D<=p||U<=p)?!0:se)||te||ie){if(ae&&U-D>ae&&t(),E){let s;E.some((e,t)=>{var i=E[t-1];return"x"===Z?void 0!==e.value&&U<=e.value&&(_[t]&&(!i||U>=i.value)&&(s=_[t]),!0):void 0!==e.value&&w<=e.value&&(_[t]&&(!i||w>=i.value)&&(s=_[t]),!0)}),G=s||N||G}!f.useGPUTranslations&&(h.skipTranslation=!0,U=c.toPixels(U,!0),w=g.toPixels(w,!0),U>Q&&"POINTS"===h.drawMode)||(h.hasMarkers&&se&&!1!==k&&(l.closestPointRangePx=Math.min(l.closestPointRangePx,Math.abs(U-k))),!f.useGPUTranslations&&!f.usePreallocated&&k&&Math.abs(U-k)<1&&S&&Math.abs(w-S)<1?f.debug.showSkipSummary&&++J:(q&&(!1!==(M=z)&&void 0!==z||(M=w<0?w:0),(X||s)&&!g.logarithmic||(M=Math.max(null===K?b:K,b)),f.useGPUTranslations||(M=g.toPixels(M,!0)),a(U,M,0,0,G)),i.step&&!oe&&a(U,S,0,2,G),a(U,w,0,"bubble"===l.type?ee||1:2,G),k=U,S=w,$=!0,oe=!1))}}else t()}else t()}f.debug.showSkipSummary&&console.log("skipped points:",J);var le=(e,t)=>{f.useGPUTranslations||(h.skipTranslation=!0,e.x=c.toPixels(e.x,!0),e.y=g.toPixels(e.y,!0)),t?this.data=[e.x,e.y,0,2].concat(this.data):a(e.x,e.y,0,2)};$||!1===H||"line_strip"!==l.drawMode||(y.x-Number.MAX_VALUE&&le(P)),e()}}pushSeries(e){let t=this.markerData,i=this.series,s=this.settings;0=i.length?i.push(r):i[e.index]=r,this.pushSeriesData(e,r),s.debug.timeSeriesProcessing&&console.timeEnd("building "+e.type+" series")}flush(){let e=this.vbuffer;this.data=[],this.markerData=[],this.series=[],e&&e.destroy()}setXAxis(e){let t=this.shader;var i;t&&(i=this.getPixelRatio(),t.setUniform("xAxisTrans",e.transA*i),t.setUniform("xAxisMin",e.min),t.setUniform("xAxisMinPad",e.minPixelPadding*i),t.setUniform("xAxisPointRange",e.pointRange),t.setUniform("xAxisLen",e.len*i),t.setUniform("xAxisPos",e.pos*i),t.setUniform("xAxisCVSCoord",!e.horiz),t.setUniform("xAxisIsLog",!!e.logarithmic),t.setUniform("xAxisReversed",!!e.reversed))}setYAxis(e){let t=this.shader;var i;t&&(i=this.getPixelRatio(),t.setUniform("yAxisTrans",e.transA*i),t.setUniform("yAxisMin",e.min),t.setUniform("yAxisMinPad",e.minPixelPadding*i),t.setUniform("yAxisPointRange",e.pointRange),t.setUniform("yAxisLen",e.len*i),t.setUniform("yAxisPos",e.pos*i),t.setUniform("yAxisCVSCoord",!e.horiz),t.setUniform("yAxisIsLog",!!e.logarithmic),t.setUniform("yAxisReversed",!!e.reversed))}setThreshold(e,t){let i=this.shader;i&&(i.setUniform("hasThreshold",e),i.setUniform("translatedThreshold",t))}renderChart(g){let m=this.gl,p=this.settings,b=this.shader,x=this.vbuffer,A=this.getPixelRatio();if(!g)return!1;this.width=g.chartWidth*A,this.height=g.chartHeight*A;var e=this.height,t=this.width;if(!(m&&b&&t&&e))return!1;p.debug.timeRendering&&console.time("gl rendering"),m.canvas.width=t,m.canvas.height=e,b.bind(),m.viewport(0,0,t,e),b.setPMatrix(h.orthoMatrix(t,e)),1{let i=e.series.options,s=i.marker,r=void 0!==i.lineWidth?i.lineWidth:1,o=i.threshold,a=P(o),n=e.series.yAxis.getThreshold(o),l=E(i.marker?i.marker.enabled:null,!!e.series.xAxis.isRadial||null,e.series.closestPointRangePx>2*((i.marker?i.marker.radius:10)||10)),h=this.textureHandles[s&&s.symbol||e.series.symbol]||this.textureHandles.circle,d,f,u,c=[];if(0!==e.segments.length&&e.segments[0].from!==e.segments[0].to&&(h.isReady&&(m.bindTexture(m.TEXTURE_2D,h.handle),b.setTexture(h.handle)),g.styledMode?e.series.markerGroup===e.series.chart.boost?.markerGroup?(delete e.series.markerGroup,e.series.markerGroup=e.series.plotGroup("markerGroup","markers","visible",1,g.seriesGroup).addClass("highcharts-tracker"),u=e.series.markerGroup.getStyle("fill"),e.series.markerGroup.destroy(),e.series.markerGroup=e.series.chart.boost?.markerGroup):u=e.series.markerGroup?.getStyle("fill"):(u="POINTS"===e.drawMode&&e.series.pointAttribs&&e.series.pointAttribs().fill||e.series.color,i.colorByPoint&&(u=e.series.chart.options.colors[t])),e.series.fillOpacity&&i.fillOpacity&&(u=new v(u).setOpacity(E(i.fillOpacity,1)).get()),c=he(u).rgba,p.useAlpha||(c[3]=1),"add"===i.boostBlending?(m.blendFunc(m.SRC_ALPHA,m.ONE),m.blendEquation(m.FUNC_ADD)):"mult"===i.boostBlending||"multiply"===i.boostBlending?m.blendFunc(m.DST_COLOR,m.ZERO):"darken"===i.boostBlending?(m.blendFunc(m.ONE,m.ONE),m.blendEquation(m.FUNC_MIN)):m.blendFuncSeparate(m.SRC_ALPHA,m.ONE_MINUS_SRC_ALPHA,m.ONE,m.ONE_MINUS_SRC_ALPHA),b.reset(),0{this.render(e)},1)}setSize(e,t){let i=this.shader;!i||this.width===e&&this.height===t||(this.width=e,this.height=t,i.bind(),i.setPMatrix(h.orthoMatrix(e,t)))}init(t,e){var i=this.settings;if(this.isInited=!1,!t)return!1;i.debug.timeSetup&&console.time("gl setup");for(let e=0;e{let i={isReady:!1,texture:a.createElement("canvas"),handle:r.createTexture()},s=i.texture.getContext("2d");(this.textureHandles[e]=i).texture.width=512,i.texture.height=512,s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.strokeStyle="rgba(255, 255, 255, 0)",s.fillStyle="#FFF",t(s);try{r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,i.handle),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i.texture),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.bindTexture(r.TEXTURE_2D,null),i.isReady=!0}catch(e){}};return e("circle",e=>{e.beginPath(),e.arc(256,256,256,0,2*Math.PI),e.stroke(),e.fill()}),e("square",e=>{e.fillRect(0,0,512,512)}),e("diamond",e=>{e.beginPath(),e.moveTo(256,0),e.lineTo(512,256),e.lineTo(256,512),e.lineTo(0,256),e.lineTo(256,0),e.fill()}),e("triangle",e=>{e.beginPath(),e.moveTo(0,512),e.lineTo(256,0),e.lineTo(512,512),e.lineTo(0,512),e.fill()}),e("triangle-down",e=>{e.beginPath(),e.moveTo(0,0),e.lineTo(256,512),e.lineTo(512,0),e.lineTo(0,0),e.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let t=this.gl,e=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),e&&e.destroy(),t&&(n(this.textureHandles,e=>{e.handle&&t.deleteTexture(e.handle)}),t.canvas.width=1,t.canvas.height=1)}}return h}),t(e,"Extensions/Boost/BoostSeries.js",[e["Extensions/Boost/BoostableMap.js"],e["Extensions/Boost/Boostables.js"],e["Extensions/Boost/BoostChart.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"],e["Extensions/Boost/WGLRenderer.js"]],function(l,s,e,t,i,r,h){let z,d,{getBoostClipRect:f,isChartSeriesBoosting:G}=e,o=t["getOptions"],{composed:a,doc:u,noop:_,win:c}=i,{addEvent:g,destroyObjectProperties:n,error:m,extend:p,fireEvent:N,isArray:b,isNumber:S,pick:I,pushUnique:x,wrap:A,defined:O}=r;function X(e,t){var i=t.boost;e&&i&&i.target&&i.canvas&&!G(t.chart)&&e.allocateBufferForSingleSeries(t)}function v(e){return I(e&&e.options&&e.options.boost&&e.options.boost.enabled,!0)}function V(i,e){let t=i.constructor,s=i.seriesGroup||e.group,r=i.chartWidth,o=i.chartHeight,a=i,n=!1,l=(G(i)?a=i:(a=e,n=!(!e.options.events?.click&&!e.options.point?.events?.click)),a.boost=a.boost||{});if(d=d||u.createElement("canvas"),l.target||(l.canvas=d,i.renderer.forExport,a.renderTarget=l.target=i.renderer.image("",0,0,r,o).addClass("highcharts-boost-canvas").add(s),l.clear=function(){l.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},l.copy=function(){l.resize(),l.target.attr({href:l.canvas.toDataURL("image/png")})},l.resize=function(){r=i.chartWidth,o=i.chartHeight,(l.targetFo||l.target).attr({x:0,y:0,width:r,height:o}).css({pointerEvents:n?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(n?"highcharts-tracker":""),a instanceof t&&a.boost?.markerGroup?.translate(i.plotLeft,i.plotTop)},l.clipRect=i.renderer.clipRect(),(l.targetFo||l.target).attr({zIndex:e.options.zIndex}),a instanceof t&&(a.boost.markerGroup=a.renderer.g().add(s).translate(e.xAxis.pos,e.yAxis.pos))),l.canvas.width=r,l.canvas.height=o,l.clipRect){let e=f(i,a),t=e.width===i.clipBox.width&&e.height===i.clipBox.height?s:l.targetFo||l.target;l.clipRect.attr(e),t?.clip(l.clipRect)}return l.resize(),l.clear(),l.wgl||(l.wgl=new h(e=>{e.settings.debug.timeBufferCopy&&console.time("buffer copy"),l.copy(),e.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),l.wgl.init(l.canvas)||m("[highcharts boost] - unable to init WebGL renderer"),l.wgl.setOptions(i.options.boost||{}),a instanceof t&&l.wgl.allocateBuffer(i)),l.wgl.setSize(r,o),l.wgl}function j(i){var e,s=i.points;if(s){let e,t;for(t=0;t{let t=i[e];t&&(i[e]=t.destroy())}),i.zones))n(e,void 0,!0)}function F(e,t,i,s,r,o){let a=(r=r||0)+(s=s||3e3),n=!0;for(;n&&r(i.boostThreshold||Number.MAX_VALUE)&&S(o.min)&&S(o.max)&&(!t||S(r.min)&&S(r.max))&&(!e||S(e.min)&&S(e.max))}let M=(e,t)=>!e.forceCrop&&(G(e.chart)||(t?t.length:0)>=(e.options.boostThreshold||Number.MAX_VALUE));function E(){let t=this,e=t.chart;e.boost&&e.boost.markerGroup===t.markerGroup&&(t.markerGroup=null),e.hoverPoints&&(e.hoverPoints=e.hoverPoints.filter(function(e){return e.series===t})),e.hoverPoint&&e.hoverPoint.series===t&&(e.hoverPoint=null)}function T(){let e=this.boost;e&&e.canvas&&e.target&&(e.wgl&&e.wgl.clear(),e.clear&&e.clear())}function W(e){let t=e.boost;t&&t.canvas&&t.target&&t.wgl&&!G(e.chart)&&t.wgl.render(e.chart)}function P(e,t){let i=e.options,s=e.xAxis,r=e.pointClass;if(t instanceof r)return t;let o=e.xData||i.xData||e.processedXData||!1,a=new r(e,(e.options.data||[])[t.i],o?o[t.i]:void 0);return a.category=I(s.categories?s.categories[a.x]:a.x,a.x),a.dist=t.dist,a.distX=t.distX,a.plotX=t.plotX,a.plotY=t.plotY,a.index=t.i,a.percentage=t.percentage,a.isInside=e.isPointInside(a),a}function k(){let e=this.options||{},f=this.chart,t=f.boost,i=this.boost,u=this.xAxis,c=this.yAxis,s=e.xData||this.processedXData,g=e.yData||this.processedYData,r=this.processedData||e.data,o=u.getExtremes(),m=o.min-(u.minPointOffset||0),p=o.max+(u.minPointOffset||0),a=c.getExtremes(),b=a.min-(c.minPointOffset||0),x=a.max+(c.minPointOffset||0),n={},A=!!this.sampling,l=e.enableMouseTracking,h=e.threshold,v=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),y=!!e.stacking,P=this.cropStart||0,E=this.requireSorting,T=!s,k="x"===e.findNearestPointBy,S=this.xData||this.options.xData||this.processedXData||!1,M=I(e.lineWidth,1),C=!1,U,w=void c.getThreshold(h),R,B,D,L;if(!u.isPanning&&!c.isPanning&&(C=V(f,this),f.boosted=!0,this.visible)){(this.points||this.graph)&&j(this),G(f)?(this.markerGroup&&this.markerGroup!==t?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=t?.markerGroup,i&&i.target&&(this.renderTarget=i.target=i.target.destroy())):(this.markerGroup===t?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,f.seriesGroup).addClass("highcharts-tracker"));let a=this.points=[],d=(e,t,i,s)=>{let r=!!S&&S[P+i],o=e=>{f.inverted&&(e=u.len-e,t=c.len-t),a.push({destroy:_,x:r,clientX:e,plotX:e,plotY:t,i:P+i,percentage:s})};e=Math.ceil(e),z=k?e:e+","+t,l&&(n[z]?r===S[S.length-1]&&(a.length--,o(e)):(n[z]=!0,o(e)))},e=(this.buildKDTree=_,N(this,"renderCanvas"),this.is("line")&&1=b&&r<=x),null!==r&&s>=m&&s<=p&&h&&(o=u.toPixels(s,!0),A?(void 0!==D&&o!==U||(v||(l=r),(void 0===L||r>B)&&(B=r,L=t),(void 0===D||l{N(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),e.debug.timeKDTree&&console.timeEnd("kd tree building")}))}}function C(e){let t=!0;if(!(t=this.chart.options&&this.chart.options.boost?void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled:t)||!this.boosted)return e.call(this);this.chart.boosted=!0;let i=V(this.chart,this);i&&(X(i,this),i.pushSeries(this)),W(this)}function U(e){if(this.boosted){if(y(this))return{};if(this.xAxis.isPanning||this.yAxis.isPanning)return this}return e.apply(this,[].slice.call(arguments,1))}function w(e){let t=this.options.data;if(v(this.chart)&&l[this.type]){var i=this.is("scatter")&&!this.is("bubble")&&!this.is("heatmap");if(!M(this,t)||i||this.options.stacking||!y(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;i&&!this.yAxis.treeGrid?function(e){let{options:t,xAxis:i,yAxis:s}=this;if(!(this.isDirty||i.isDirty||s.isDirty||e))return!1;this.yAxis.setTickInterval();var e=t.boostThreshold||0,r=t.cropThreshold,o=t.data||this.data,a=this.xData,n=i.getExtremes(),l=n.max??Number.MAX_VALUE,h=n.min??-Number.MAX_VALUE,d=this.yData,f=s.getExtremes(),u=f.max??Number.MAX_VALUE,c=f.min??-Number.MAX_VALUE;if(!this.boosted&&i.old&&s.old&&h>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&c>=(s.old.min??-Number.MAX_VALUE)&&u<=(s.old.max??Number.MAX_VALUE))return this.processedXData??(this.processedXData=a),this.processedYData??(this.processedYData=d),!0;if(!e||o.lengthP(s,e)};let t=s.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(e=>{t.push({prop:e,val:s[e],own:Object.hasOwnProperty.call(s,e)})}),s.allowDG=!1,s.directTouch=!1,s.stickyTracking=!0,s.finishedAnimating=!0,s.labelBySeries&&(s.labelBySeries=s.labelBySeries.destroy()),s.is("scatter")&&s.data.length){for(var r of s.data)r?.destroy?.();s.data.length=0,s.points.length=0,delete s.processedData}}}else{var o=this;let e=o.boost,t=o.chart,i=t.boost;if(i?.markerGroup)for(var a of(i.markerGroup.destroy(),i.markerGroup=void 0,t.series))a.markerGroup=void 0,a.markerGroup=a.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker");e&&((e.altered||[]).forEach(e=>{e.own?o[e.prop]=e.val:delete o[e.prop]}),e.clear&&e.clear())}}else e.apply(this,[].slice.call(arguments,1))}function R(e){e=e.apply(this,[].slice.call(arguments,1));return this.boost&&e?this.boost.getPoint(e):e}return{compose:function(e,n,t){if(x(a,"Boost.Series")){let i=o().plotOptions,a=e.prototype;if(g(e,"destroy",E),g(e,"hide",T),t&&(a.renderCanvas=k),A(a,"getExtremes",U),A(a,"processData",w),A(a,"searchPoint",R),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(e=>{var t=a,i=n,s=e;function r(e){var t=this.options.stacking&&("translate"===s||"generatePoints"===s);this.boosted&&!t&&v(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&l[this.type]&&0!==this.options.boostThreshold?"render"===s&&this.renderCanvas&&this.renderCanvas():e.call(this)}if(A(t,s,r),"translate"===s)for(var o of["column","arearange","columnrange","heatmap","treemap"])i[o]&&A(i[o].prototype,s,r)}),s.forEach(e=>{let t=i[e];t&&(t.boostThreshold=5e3,t.boostData=[],n[e].prototype.fillOpacity=!0)}),t){let{area:e,areaspline:t,bubble:i,column:s,heatmap:r,scatter:o,treemap:a}=n;if(e&&p(e.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),t&&p(t.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i){let e=i.prototype;delete e.buildKDTree,A(e,"markerAttribs",function(e){return!this.boosted&&e.apply(this,[].slice.call(arguments,1))})}s&&p(s.prototype,{fill:!0,sampling:!0}),o&&(o.prototype.fill=!0),[r,a].forEach(e=>{e&&A(e.prototype,"drawPoints",C)})}}return e},destroyGraphics:j,eachAsync:F,getPoint:P}}),t(e,"Extensions/Boost/NamedColors.js",[],function(){return{defaultHTMLColorMap:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}}),t(e,"Extensions/Boost/Boost.js",[e["Extensions/Boost/BoostChart.js"],e["Extensions/Boost/BoostSeries.js"],e["Core/Globals.js"],e["Extensions/Boost/NamedColors.js"],e["Core/Utilities.js"]],function(a,n,l,h,e){let{doc:i,win:s}=l,{addEvent:d,error:f}=e,r=["webgl","experimental-webgl","moz-webgl","webkit-3d"];function u(){let t;if(void 0!==s.WebGLRenderingContext){t=i.createElement("canvas");for(let e=0;ee.renderTarget).filter(Boolean)){let{horiz:e,pos:t}=this,i=e?"scaleX":"scaleY",s=e?"translateX":"translateY",r=d?.[i]??1,o=1,a=0,n=1,l="none";this.isPanning&&(o=(h.scale??1)*r,a=(d?.[s]||0)-o*(h.move||0)+r*t-o*t,n=.7,l="blur(3px)"),d?.attr({[i]:o,[s]:a}).css({transition:"250ms filter, 250ms opacity",filter:l,opacity:n})}})},hasWebGLSupport:u}}),t(e,"masters/modules/boost.src.js",[e["Core/Globals.js"],e["Extensions/Boost/Boost.js"]],function(e,t){return e.hasWebGLSupport=t.hasWebGLSupport,t.compose(e.Chart,e.Axis,e.Series,e.seriesTypes,e.Color),e})}); \ No newline at end of file +!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/boost",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var e=r?r._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Extensions/Boost/Boostables.js",[],function(){return["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"]}),t(e,"Extensions/Boost/BoostableMap.js",[e["Extensions/Boost/Boostables.js"]],function(e){let t={};return e.forEach(e=>{t[e]=!0}),t}),t(e,"Extensions/Boost/BoostChart.js",[e["Extensions/Boost/BoostableMap.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(f,e,t){let i=e["composed"],{addEvent:o,pick:u,pushUnique:s}=t;function a(e){let t=e.series,i=e.boost=e.boost||{},s=e.options.boost||{},r=u(s.seriesThreshold,50);if(t.length>=r)return!0;if(1===t.length)return!1;let o=s.allowForce;if(void 0===o)for(var a of(o=!0,e.xAxis))if(u(a.min,-1/0)>u(a.dataMin,-1/0)||u(a.max,1/0)=(h.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=o&&(n===t.length&&l===n||5e.isPanning)||i.boost.clear?.(),i.boost.canvas&&i.boost.wgl&&a(i)&&i.boost.wgl.allocateBuffer(i),i.boost.markerGroup&&i.xAxis&&0{var t,e=e.hoverPoint?.series;i.boost=i.boost||{},i.boost.markerGroup&&e&&(t=i.inverted?e.yAxis:e.xAxis,e=i.inverted?e.xAxis:e.yAxis,(t&&t.pos!==s||e&&e.pos!==r)&&(i.series.forEach(e=>{e.halo?.hide()}),i.boost.markerGroup.translate(t.pos,e.pos),s=t.pos,r=e.pos))})}return{compose:function(e,t){return t&&s(i,"Boost.Chart")&&e.prototype.callbacks.push(r),e},getBoostClipRect:function(e,t){let i=e.navigator,s={x:e.plotLeft,y:e.plotTop,width:e.plotWidth,height:e.plotHeight};var r,o,a;return i&&e.inverted?(s.width+=i.top+i.height,i.opposite||(s.x=i.left)):i&&!e.inverted&&(s.height=i.top+i.height-e.plotTop),t.getClipBox&&({xAxis:r,yAxis:o}=t,s=t.getClipBox(),e.inverted?(a=s.width,s.width=s.height,s.height=a,s.x=o.pos,s.y=r.pos):(s.x=r.pos,s.y=o.pos)),t===e&&(a=e.inverted?e.xAxis:e.yAxis).length<=1&&(s.y=Math.min(a[0].pos,s.y),s.height=a[0].pos-e.plotTop+a[0].len),s},isChartSeriesBoosting:a}}),t(e,"Extensions/Boost/WGLDrawMode.js",[],function(){return{area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"}}),t(e,"Extensions/Boost/WGLShader.js",[e["Core/Utilities.js"]],function(e){let{clamp:l,error:t,pick:h}=e;return class{constructor(e){this.errors=[],this.uLocations={},(this.gl=e)&&this.createShader()}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){var e=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),t=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=e=>this.gl.getUniformLocation(this.shaderProgram,e);return e&&t?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS)?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1)):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&t("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(e,t){var i=this.gl.createShader("vertex"===t?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return this.gl.shaderSource(i,e),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)?i:(this.errors.push("when compiling "+t+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(e,t,i,s=1){var r,o=e.options,a=Number.MAX_VALUE,n=-Number.MAX_VALUE;this.gl&&this.shaderProgram&&e.is("bubble")&&(r=e.getPxExtremes(),a=h(o.zMin,l(t,!1===o.displayNegative?o.zThreshold:-Number.MAX_VALUE,a)),n=h(o.zMax,Math.max(n,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==e.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,e.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",r.minPxSize*s),this.setUniform("bubbleMaxSize",r.maxPxSize*s),this.setUniform("bubbleZMin",a),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",e.options.zThreshold))}setColor(e){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,e[0]/255,e[1]/255,e[2]/255,e[3])}setDrawAsCircle(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,e?1:0)}setInverted(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,e)}setPMatrix(e){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,e)}setPointSize(e){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,e)}setSkipTranslation(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,!0===e?1:0)}setTexture(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,e)}setUniform(e,t){this.gl&&this.shaderProgram&&(e=this.uLocations[e]=this.uLocations[e]||this.gl.getUniformLocation(this.shaderProgram,e),this.gl.uniform1f(e,t))}}}),t(e,"Extensions/Boost/WGLVertexBuffer.js",[],function(){return class{constructor(e,t,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=e,this.shader=t}allocate(e){this.iterator=-1,this.preAllocated=new Float32Array(4*e)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(e,t,i){let s;return this.data=e||[],this.data&&0!==this.data.length||this.preAllocated?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(s=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||s,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),t),this.gl.enableVertexAttribArray(this.vertAttribute),!(s=!1)):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(e,t,i,s){this.preAllocated&&(this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=s)}render(e,t,i){var s=(this.preAllocated||this.data).length;return!(!this.buffer||!s||((t=!t||s{e.boosted&&(i+=h.seriesPointCount(e))}),t&&t.allocate(i))}allocateBufferForSingleSeries(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.boosted&&(i=h.seriesPointCount(e)),t&&t.allocate(i))}clear(){let e=this.gl;e&&e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}pushSeriesData(l,h){let d=this.data,f=this.settings,O=this.vbuffer,X=l.pointArrayMap&&"low,high"===l.pointArrayMap.join(","),{chart:u,options:i,sorted:V,xAxis:c,yAxis:g}=l,s=!!i.stacking,r=i.data,t=l.xAxis.getExtremes(),m=t.min-(l.xAxis.minPointOffset||0),p=t.max+(l.xAxis.minPointOffset||0),o=l.yAxis.getExtremes(),b=o.min-(l.yAxis.minPointOffset||0),j=o.max+(l.yAxis.minPointOffset||0),e=l.xData||i.xData||l.processedXData,F=l.yData||i.yData||l.processedYData,x=l.zData||i.zData||l.processedZData,W=!e||0===e.length,H=i.connectNulls,A=l.points||!1,v=s?l.data:e||r,y={x:Number.MAX_VALUE,y:0},P={x:-Number.MAX_VALUE,y:0},Y=void 0===u.index,q=fe[l.type],Z=i.zoneAxis||"y",E=i.zones||!1,K=i.threshold,T=this.getPixelRatio(),Q=l.chart.plotWidth,k=!1,S=!1,M,C,J=0,$=!1,U,w,R,ee,B=-1,D=!1,L=!1,z,te=!1,ie=!1,G=!1,se=!1,re=!0,oe=!0,_,N=!1,ae=!1,I=0;if(!(i.boostData&&0{if(t.color){let e=he(t.color).rgba;e[0]/=255,e[1]/=255,e[2]/=255,_[i]=e,N||void 0!==t.value||(N=e)}}),N||((N=he(l.pointAttribs&&l.pointAttribs().fill||l.color).rgba)[0]/=255,N[1]/=255,N[2]/=255)),u.inverted&&(Q=l.chart.plotHeight),l.closestPointRangePx=Number.MAX_VALUE;let o=e=>{e&&(h.colorData.push(e[0]),h.colorData.push(e[1]),h.colorData.push(e[2]),h.colorData.push(e[3]))},a=(e,t,i,s=1,r)=>{o(r),1===T||f.useGPUTranslations&&!h.skipTranslation||(e*=T,t*=T,s*=T),f.usePreallocated&&O?(O.push(e,t,i?1:0,s),I+=4):(d.push(e),d.push(t),d.push(i?T:0),d.push(s))},e=()=>{h.segments.length&&(h.segments[h.segments.length-1].to=d.length||I)},t=()=>{h.segments.length&&h.segments[h.segments.length-1].from===(d.length||I)||(e(),h.segments.push({from:d.length||I}))},n=(e,t,i,s,r)=>{o(r),a(e+i,t),o(r),a(e,t),o(r),a(e,t+s),o(r),a(e,t+s),o(r),a(e+i,t+s),o(r),a(e+i,t)};if(t(),A&&0{if(e.node){if(e.node.levelDynamic>t.node.levelDynamic)return 1;if(e.node.levelDynamic{let o,a;var e=r.plotY;if(void 0!==e&&!isNaN(e)&&null!==r.y&&r.shapeArgs){let{x:e=0,y:t=0,width:i=0,height:s=0}=r.shapeArgs;o=(a=u.styledMode?r.series.colorAttribs(r):a=r.series.pointAttribs(r))["stroke-width"]||0,(G=he(a.fill).rgba)[0]/=255,G[1]/=255,G[2]/=255,l.is("treemap")&&(o=o||1,(C=he(a.stroke).rgba)[0]/=255,C[1]/=255,C[2]/=255,n(e,t,i,s,C),o/=2),l.is("heatmap")&&u.inverted&&(e=c.len-e,t=g.len-t,i=-i,s=-s),n(e+o,t+o,i-2*o,s-2*o,G)}}),void e();for(;Bh.zMax&&(h.zMax=R[2]),R[2]h.zMax&&(h.zMax=x[B]),x[B]=m&&L<=p&&(te=!0),D&&D>=m&&D<=p&&(ie=!0),X?(W&&(w=R.slice(1,3)),z=w[0],w=w[1]):s&&(U=R.x,z=(w=R.stackY)-R.y),null!=b&&null!=j&&(re=w>=b&&w<=j),U>p&&P.xm&&(y.x=U,y.y=w),null!==w||!H)if(null!==w&&(re||te||ie)){if((se=V&&(L>=m||U>=m)&&(D<=p||U<=p)?!0:se)||te||ie){if(ae&&U-D>ae&&t(),E){let s;E.some((e,t)=>{var i=E[t-1];return"x"===Z?void 0!==e.value&&U<=e.value&&(_[t]&&(!i||U>=i.value)&&(s=_[t]),!0):void 0!==e.value&&w<=e.value&&(_[t]&&(!i||w>=i.value)&&(s=_[t]),!0)}),G=s||N||G}!f.useGPUTranslations&&(h.skipTranslation=!0,U=c.toPixels(U,!0),w=g.toPixels(w,!0),U>Q&&"POINTS"===h.drawMode)||(h.hasMarkers&&se&&!1!==k&&(l.closestPointRangePx=Math.min(l.closestPointRangePx,Math.abs(U-k))),!f.useGPUTranslations&&!f.usePreallocated&&k&&Math.abs(U-k)<1&&S&&Math.abs(w-S)<1?f.debug.showSkipSummary&&++J:(q&&(!1!==(M=z)&&void 0!==z||(M=w<0?w:0),(X||s)&&!g.logarithmic||(M=Math.max(null===K?b:K,b)),f.useGPUTranslations||(M=g.toPixels(M,!0)),a(U,M,0,0,G)),i.step&&!oe&&a(U,S,0,2,G),a(U,w,0,"bubble"===l.type?ee||1:2,G),k=U,S=w,$=!0,oe=!1))}}else t()}else t()}f.debug.showSkipSummary&&console.log("skipped points:",J);var le=(e,t)=>{f.useGPUTranslations||(h.skipTranslation=!0,e.x=c.toPixels(e.x,!0),e.y=g.toPixels(e.y,!0)),t?this.data=[e.x,e.y,0,2].concat(this.data):a(e.x,e.y,0,2)};$||!1===H||"line_strip"!==l.drawMode||(y.x-Number.MAX_VALUE&&le(P)),e()}}pushSeries(e){let t=this.markerData,i=this.series,s=this.settings;0=i.length?i.push(r):i[e.index]=r,this.pushSeriesData(e,r),s.debug.timeSeriesProcessing&&console.timeEnd("building "+e.type+" series")}flush(){let e=this.vbuffer;this.data=[],this.markerData=[],this.series=[],e&&e.destroy()}setXAxis(e){let t=this.shader;var i;t&&(i=this.getPixelRatio(),t.setUniform("xAxisTrans",e.transA*i),t.setUniform("xAxisMin",e.min),t.setUniform("xAxisMinPad",e.minPixelPadding*i),t.setUniform("xAxisPointRange",e.pointRange),t.setUniform("xAxisLen",e.len*i),t.setUniform("xAxisPos",e.pos*i),t.setUniform("xAxisCVSCoord",!e.horiz),t.setUniform("xAxisIsLog",!!e.logarithmic),t.setUniform("xAxisReversed",!!e.reversed))}setYAxis(e){let t=this.shader;var i;t&&(i=this.getPixelRatio(),t.setUniform("yAxisTrans",e.transA*i),t.setUniform("yAxisMin",e.min),t.setUniform("yAxisMinPad",e.minPixelPadding*i),t.setUniform("yAxisPointRange",e.pointRange),t.setUniform("yAxisLen",e.len*i),t.setUniform("yAxisPos",e.pos*i),t.setUniform("yAxisCVSCoord",!e.horiz),t.setUniform("yAxisIsLog",!!e.logarithmic),t.setUniform("yAxisReversed",!!e.reversed))}setThreshold(e,t){let i=this.shader;i&&(i.setUniform("hasThreshold",e),i.setUniform("translatedThreshold",t))}renderChart(g){let m=this.gl,p=this.settings,b=this.shader,x=this.vbuffer,A=this.getPixelRatio();if(!g)return!1;this.width=g.chartWidth*A,this.height=g.chartHeight*A;var e=this.height,t=this.width;if(!(m&&b&&t&&e))return!1;p.debug.timeRendering&&console.time("gl rendering"),m.canvas.width=t,m.canvas.height=e,b.bind(),m.viewport(0,0,t,e),b.setPMatrix(h.orthoMatrix(t,e)),1{let i=e.series.options,s=i.marker,r=void 0!==i.lineWidth?i.lineWidth:1,o=i.threshold,a=P(o),n=e.series.yAxis.getThreshold(o),l=E(i.marker?i.marker.enabled:null,!!e.series.xAxis.isRadial||null,e.series.closestPointRangePx>2*((i.marker?i.marker.radius:10)||10)),h=this.textureHandles[s&&s.symbol||e.series.symbol]||this.textureHandles.circle,d,f,u,c=[];if(0!==e.segments.length&&e.segments[0].from!==e.segments[0].to&&(h.isReady&&(m.bindTexture(m.TEXTURE_2D,h.handle),b.setTexture(h.handle)),g.styledMode?e.series.markerGroup===e.series.chart.boost?.markerGroup?(delete e.series.markerGroup,e.series.markerGroup=e.series.plotGroup("markerGroup","markers","visible",1,g.seriesGroup).addClass("highcharts-tracker"),u=e.series.markerGroup.getStyle("fill"),e.series.markerGroup.destroy(),e.series.markerGroup=e.series.chart.boost?.markerGroup):u=e.series.markerGroup?.getStyle("fill"):(u="POINTS"===e.drawMode&&e.series.pointAttribs&&e.series.pointAttribs().fill||e.series.color,i.colorByPoint&&(u=e.series.chart.options.colors[t])),e.series.fillOpacity&&i.fillOpacity&&(u=new v(u).setOpacity(E(i.fillOpacity,1)).get()),c=he(u).rgba,p.useAlpha||(c[3]=1),"add"===i.boostBlending?(m.blendFunc(m.SRC_ALPHA,m.ONE),m.blendEquation(m.FUNC_ADD)):"mult"===i.boostBlending||"multiply"===i.boostBlending?m.blendFunc(m.DST_COLOR,m.ZERO):"darken"===i.boostBlending?(m.blendFunc(m.ONE,m.ONE),m.blendEquation(m.FUNC_MIN)):m.blendFuncSeparate(m.SRC_ALPHA,m.ONE_MINUS_SRC_ALPHA,m.ONE,m.ONE_MINUS_SRC_ALPHA),b.reset(),0{this.render(e)},1)}setSize(e,t){let i=this.shader;!i||this.width===e&&this.height===t||(this.width=e,this.height=t,i.bind(),i.setPMatrix(h.orthoMatrix(e,t)))}init(t,e){var i=this.settings;if(this.isInited=!1,!t)return!1;i.debug.timeSetup&&console.time("gl setup");for(let e=0;e{let i={isReady:!1,texture:a.createElement("canvas"),handle:r.createTexture()},s=i.texture.getContext("2d");(this.textureHandles[e]=i).texture.width=512,i.texture.height=512,s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.strokeStyle="rgba(255, 255, 255, 0)",s.fillStyle="#FFF",t(s);try{r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,i.handle),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i.texture),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.bindTexture(r.TEXTURE_2D,null),i.isReady=!0}catch(e){}};return e("circle",e=>{e.beginPath(),e.arc(256,256,256,0,2*Math.PI),e.stroke(),e.fill()}),e("square",e=>{e.fillRect(0,0,512,512)}),e("diamond",e=>{e.beginPath(),e.moveTo(256,0),e.lineTo(512,256),e.lineTo(256,512),e.lineTo(0,256),e.lineTo(256,0),e.fill()}),e("triangle",e=>{e.beginPath(),e.moveTo(0,512),e.lineTo(256,0),e.lineTo(512,512),e.lineTo(0,512),e.fill()}),e("triangle-down",e=>{e.beginPath(),e.moveTo(0,0),e.lineTo(256,512),e.lineTo(512,0),e.lineTo(0,0),e.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let t=this.gl,e=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),e&&e.destroy(),t&&(n(this.textureHandles,e=>{e.handle&&t.deleteTexture(e.handle)}),t.canvas.width=1,t.canvas.height=1)}}return h}),t(e,"Extensions/Boost/BoostSeries.js",[e["Extensions/Boost/BoostableMap.js"],e["Extensions/Boost/Boostables.js"],e["Extensions/Boost/BoostChart.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"],e["Extensions/Boost/WGLRenderer.js"]],function(l,s,e,t,i,r,h){let z,d,{getBoostClipRect:f,isChartSeriesBoosting:G}=e,o=t["getOptions"],{composed:a,doc:u,noop:_,win:c}=i,{addEvent:g,destroyObjectProperties:n,error:m,extend:p,fireEvent:N,isArray:b,isNumber:S,pick:I,pushUnique:x,wrap:A,defined:O}=r;function X(e,t){var i=t.boost;e&&i&&i.target&&i.canvas&&!G(t.chart)&&e.allocateBufferForSingleSeries(t)}function v(e){return I(e&&e.options&&e.options.boost&&e.options.boost.enabled,!0)}function V(i,e){let t=i.constructor,s=i.seriesGroup||e.group,r=i.chartWidth,o=i.chartHeight,a=i,n=!1,l=(G(i)?a=i:(a=e,n=!(!e.options.events?.click&&!e.options.point?.events?.click)),a.boost=a.boost||{});if(d=d||u.createElement("canvas"),l.target||(l.canvas=d,i.renderer.forExport,a.renderTarget=l.target=i.renderer.image("",0,0,r,o).addClass("highcharts-boost-canvas").add(s),l.clear=function(){l.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},l.copy=function(){l.resize(),l.target.attr({href:l.canvas.toDataURL("image/png")})},l.resize=function(){r=i.chartWidth,o=i.chartHeight,(l.targetFo||l.target).attr({x:0,y:0,width:r,height:o}).css({pointerEvents:n?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(n?"highcharts-tracker":""),a instanceof t&&a.boost?.markerGroup?.translate(i.plotLeft,i.plotTop)},l.clipRect=i.renderer.clipRect(),(l.targetFo||l.target).attr({zIndex:e.options.zIndex}),a instanceof t&&(a.boost.markerGroup=a.renderer.g().add(s).translate(e.xAxis.pos,e.yAxis.pos))),l.canvas.width=r,l.canvas.height=o,l.clipRect){let e=f(i,a),t=e.width===i.clipBox.width&&e.height===i.clipBox.height?s:l.targetFo||l.target;l.clipRect.attr(e),t?.clip(l.clipRect)}return l.resize(),l.clear(),l.wgl||(l.wgl=new h(e=>{e.settings.debug.timeBufferCopy&&console.time("buffer copy"),l.copy(),e.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),l.wgl.init(l.canvas)||m("[highcharts boost] - unable to init WebGL renderer"),l.wgl.setOptions(i.options.boost||{}),a instanceof t&&l.wgl.allocateBuffer(i)),l.wgl.setSize(r,o),l.wgl}function j(i){var e,s=i.points;if(s){let e,t;for(t=0;t{let t=i[e];t&&(i[e]=t.destroy())}),i.zones))n(e,void 0,!0)}function F(e,t,i,s,r,o){let a=(r=r||0)+(s=s||3e3),n=!0;for(;n&&r(i.boostThreshold||Number.MAX_VALUE)&&S(o.min)&&S(o.max)&&(!t||S(r.min)&&S(r.max))&&(!e||S(e.min)&&S(e.max))}let M=(e,t)=>!e.forceCrop&&(G(e.chart)||(t?t.length:0)>=(e.options.boostThreshold||Number.MAX_VALUE));function E(){let t=this,e=t.chart;e.boost&&e.boost.markerGroup===t.markerGroup&&(t.markerGroup=null),e.hoverPoints&&(e.hoverPoints=e.hoverPoints.filter(function(e){return e.series===t})),e.hoverPoint&&e.hoverPoint.series===t&&(e.hoverPoint=null)}function T(){let e=this.boost;e&&e.canvas&&e.target&&(e.wgl&&e.wgl.clear(),e.clear&&e.clear())}function W(e){let t=e.boost;t&&t.canvas&&t.target&&t.wgl&&!G(e.chart)&&t.wgl.render(e.chart)}function P(e,t){let i=e.options,s=e.xAxis,r=e.pointClass;if(t instanceof r)return t;let o=e.xData||i.xData||e.processedXData||!1,a=new r(e,(e.options.data||[])[t.i],o?o[t.i]:void 0);return a.category=I(s.categories?s.categories[a.x]:a.x,a.x),a.dist=t.dist,a.distX=t.distX,a.plotX=t.plotX,a.plotY=t.plotY,a.index=t.i,a.percentage=t.percentage,a.isInside=e.isPointInside(a),a}function k(){let e=this.options||{},f=this.chart,t=f.boost,i=this.boost,u=this.xAxis,c=this.yAxis,s=e.xData||this.processedXData,g=e.yData||this.processedYData,r=this.processedData||e.data,o=u.getExtremes(),m=o.min-(u.minPointOffset||0),p=o.max+(u.minPointOffset||0),a=c.getExtremes(),b=a.min-(c.minPointOffset||0),x=a.max+(c.minPointOffset||0),n={},A=!!this.sampling,l=e.enableMouseTracking,h=e.threshold,v=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),y=!!e.stacking,P=this.cropStart||0,E=this.requireSorting,T=!s,k="x"===e.findNearestPointBy,S=this.xData||this.options.xData||this.processedXData||!1,M=I(e.lineWidth,1),C=!1,U,w=void c.getThreshold(h),R,B,D,L;if(!u.isPanning&&!c.isPanning&&(C=V(f,this),f.boosted=!0,this.visible)){(this.points||this.graph)&&j(this),G(f)?(this.markerGroup&&this.markerGroup!==t?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=t?.markerGroup,i&&i.target&&(this.renderTarget=i.target=i.target.destroy())):(this.markerGroup===t?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,f.seriesGroup).addClass("highcharts-tracker"));let a=this.points=[],d=(e,t,i,s)=>{let r=!!S&&S[P+i],o=e=>{f.inverted&&(e=u.len-e,t=c.len-t),a.push({destroy:_,x:r,clientX:e,plotX:e,plotY:t,i:P+i,percentage:s})};e=Math.ceil(e),z=k?e:e+","+t,l&&(n[z]?r===S[S.length-1]&&(a.length--,o(e)):(n[z]=!0,o(e)))},e=(this.buildKDTree=_,N(this,"renderCanvas"),this.is("line")&&1=b&&r<=x),null!==r&&s>=m&&s<=p&&h&&(o=u.toPixels(s,!0),A?(void 0!==D&&o!==U||(v||(l=r),(void 0===L||r>B)&&(B=r,L=t),(void 0===D||l{N(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),e.debug.timeKDTree&&console.timeEnd("kd tree building")}))}}function C(e){let t=!0;if(!(t=this.chart.options&&this.chart.options.boost?void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled:t)||!this.boosted)return e.call(this);this.chart.boosted=!0;let i=V(this.chart,this);i&&(X(i,this),i.pushSeries(this)),W(this)}function U(e){if(this.boosted){if(y(this))return{};if(this.xAxis.isPanning||this.yAxis.isPanning)return this}return e.apply(this,[].slice.call(arguments,1))}function w(e){let t=this.options.data;if(v(this.chart)&&l[this.type]){var i=this.is("scatter")&&!this.is("bubble")&&!this.is("heatmap");if(!M(this,t)||i||this.options.stacking||!y(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;i&&!this.yAxis.treeGrid?function(e){let{options:t,xAxis:i,yAxis:s}=this;if(!(this.isDirty||i.isDirty||s.isDirty||e))return!1;this.yAxis.setTickInterval();var e=t.boostThreshold||0,r=t.cropThreshold,o=t.data||this.data,a=this.xData,n=i.getExtremes(),l=n.max??Number.MAX_VALUE,h=n.min??-Number.MAX_VALUE,d=this.yData,f=s.getExtremes(),u=f.max??Number.MAX_VALUE,c=f.min??-Number.MAX_VALUE;if(!this.boosted&&i.old&&s.old&&h>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&c>=(s.old.min??-Number.MAX_VALUE)&&u<=(s.old.max??Number.MAX_VALUE))return this.processedXData??(this.processedXData=a),this.processedYData??(this.processedYData=d),!0;if(!e||o.lengthP(s,e)};let t=s.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(e=>{t.push({prop:e,val:s[e],own:Object.hasOwnProperty.call(s,e)})}),s.allowDG=!1,s.directTouch=!1,s.stickyTracking=!0,s.finishedAnimating=!0,s.labelBySeries&&(s.labelBySeries=s.labelBySeries.destroy()),s.is("scatter")&&s.data.length){for(var r of s.data)r?.destroy?.();s.data.length=0,s.points.length=0,delete s.processedData}}}else{var o=this;let e=o.boost,t=o.chart,i=t.boost;if(i?.markerGroup)for(var a of(i.markerGroup.destroy(),i.markerGroup=void 0,t.series))a.markerGroup=void 0,a.markerGroup=a.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker");e&&((e.altered||[]).forEach(e=>{e.own?o[e.prop]=e.val:delete o[e.prop]}),e.clear&&e.clear()),(t.seriesGroup||o.group)?.clip()}}else e.apply(this,[].slice.call(arguments,1))}function R(e){e=e.apply(this,[].slice.call(arguments,1));return this.boost&&e?this.boost.getPoint(e):e}return{compose:function(e,n,t){if(x(a,"Boost.Series")){let i=o().plotOptions,a=e.prototype;if(g(e,"destroy",E),g(e,"hide",T),t&&(a.renderCanvas=k),A(a,"getExtremes",U),A(a,"processData",w),A(a,"searchPoint",R),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(e=>{var t=a,i=n,s=e;function r(e){var t=this.options.stacking&&("translate"===s||"generatePoints"===s);this.boosted&&!t&&v(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&l[this.type]&&0!==this.options.boostThreshold?"render"===s&&this.renderCanvas&&this.renderCanvas():e.call(this)}if(A(t,s,r),"translate"===s)for(var o of["column","arearange","columnrange","heatmap","treemap"])i[o]&&A(i[o].prototype,s,r)}),s.forEach(e=>{let t=i[e];t&&(t.boostThreshold=5e3,t.boostData=[],n[e].prototype.fillOpacity=!0)}),t){let{area:e,areaspline:t,bubble:i,column:s,heatmap:r,scatter:o,treemap:a}=n;if(e&&p(e.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),t&&p(t.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i){let e=i.prototype;delete e.buildKDTree,A(e,"markerAttribs",function(e){return!this.boosted&&e.apply(this,[].slice.call(arguments,1))})}s&&p(s.prototype,{fill:!0,sampling:!0}),o&&(o.prototype.fill=!0),[r,a].forEach(e=>{e&&A(e.prototype,"drawPoints",C)})}}return e},destroyGraphics:j,eachAsync:F,getPoint:P}}),t(e,"Extensions/Boost/NamedColors.js",[],function(){return{defaultHTMLColorMap:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}}),t(e,"Extensions/Boost/Boost.js",[e["Extensions/Boost/BoostChart.js"],e["Extensions/Boost/BoostSeries.js"],e["Core/Globals.js"],e["Extensions/Boost/NamedColors.js"],e["Core/Utilities.js"]],function(a,n,l,h,e){let{doc:i,win:s}=l,{addEvent:d,error:f}=e,r=["webgl","experimental-webgl","moz-webgl","webkit-3d"];function u(){let t;if(void 0!==s.WebGLRenderingContext){t=i.createElement("canvas");for(let e=0;ee.renderTarget).filter(Boolean)){let{horiz:e,pos:t}=this,i=e?"scaleX":"scaleY",s=e?"translateX":"translateY",r=d?.[i]??1,o=1,a=0,n=1,l="none";this.isPanning&&(o=(h.scale??1)*r,a=(d?.[s]||0)-o*(h.move||0)+r*t-o*t,n=.7,l="blur(3px)"),d?.attr({[i]:o,[s]:a}).css({transition:"250ms filter, 250ms opacity",filter:l,opacity:n})}})},hasWebGLSupport:u}}),t(e,"masters/modules/boost.src.js",[e["Core/Globals.js"],e["Extensions/Boost/Boost.js"]],function(e,t){return e.hasWebGLSupport=t.hasWebGLSupport,t.compose(e.Chart,e.Axis,e.Series,e.seriesTypes,e.Color),e})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/data.min.js b/assets/js/external/highcharts/modules/data.min.js index cdc87db..207ab5a 100644 --- a/assets/js/external/highcharts/modules/data.min.js +++ b/assets/js/external/highcharts/modules/data.min.js @@ -1 +1 @@ -!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(a){"use strict";var e=a?a._modules:{};function t(e,t,s,r){e.hasOwnProperty(t)||(e[t]=r.apply(null,s),"function"==typeof CustomEvent&&a.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Core/HttpUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,t){let n=e["win"],{discardElement:o,objectEach:l}=t,s={ajax:function(s){let e={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},r=new XMLHttpRequest;function t(e,t){s.error&&s.error(e,t)}if(!s.url)return!1;r.open((s.type||"get").toUpperCase(),s.url,!0),s.headers&&s.headers["Content-Type"]||r.setRequestHeader("Content-Type",e[s.dataType||"json"]||e.text),l(s.headers,function(e,t){r.setRequestHeader(t,e)}),s.responseType&&(r.responseType=s.responseType),r.onreadystatechange=function(){let e;if(4===r.readyState){if(200===r.status){if("blob"!==s.responseType&&(e=r.responseText,"json"===s.dataType))try{e=JSON.parse(e)}catch(e){if(e instanceof Error)return t(r,e)}return s.success&&s.success(e,r)}t(r,r.responseText)}},s.data&&"string"!=typeof s.data&&(s.data=JSON.stringify(s.data)),r.send(s.data)},getJSON:function(e,t){s.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,s){let r=new n.FormData,{filename:a,type:i}=(l(t,function(e,t){r.append(t,e)}),r.append("b64","true"),t);return n.fetch(e,{method:"POST",body:r,...s}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${i};base64,`+e,t.download=a,t.click(),o(t)})})}};return s}),t(e,"Extensions/Data.js",[e["Core/Chart/Chart.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/HttpUtilities.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,t,s,r,n,a,i){let o=t["getOptions"],d=s["doc"],m=r["ajax"],p=a["seriesTypes"],{addEvent:l,defined:y,extend:u,fireEvent:C,isNumber:v,merge:c,objectEach:f,pick:g,splat:T}=i;function x(e){return!(!e||!(e.rowsURL||e.csvURL||e.columnsURL))}class h{static data(e,t={},s){return new h(e,t,s)}static rowsToColumns(e){let t,s,r,a,i;if(e)for(t=0,i=[],s=e.length;tt.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let r=e.decimalPoint,a;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==r&&","!==r&&(r=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=g(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=r&&RegExp("^(-?[0-9]+)"+r+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),a=!x(e)),!(a=(a=(a=(a=a||this.fetchLiveData())||!!this.parseCSV().length)||!!this.parseTable().length)||this.parseGoogleSpreadsheet())&&e.afterComplete&&e.afterComplete()}getColumnDistribution(){function n(e){return(p[e||"line"].prototype.pointArrayMap||[0]).length}function o(e){return p[e||"line"].prototype.pointArrayMap}let l=this.chartOptions,e=this.options,t=[],d=l&&l.chart&&l.chart.type,u=[],h=[],s=e&&e.seriesMapping||l&&l.series&&l.series.map(function(){return{x:0}})||[],m=0,c,r=((l&&l.series||[]).forEach(e=>{u.push(n(e.type||d))}),s.forEach(e=>{t.push(e.x||0)}),0===t.length&&t.push(0),s.forEach(e=>{let s=new R,t=u[m]||n(d),r=(l&&l.series||[])[m]||{},a=o(r.type||d),i=a||["y"];for(!y(e.x)&&!r.isCartesian&&a||s.addColumnReader(e.x,"x"),f(e,function(e,t){"x"!==t&&s.addColumnReader(e,t)}),c=0;c=a.length)&&(r=a.length-1),c.itemDelimiter)x=c.itemDelimiter;else{let o,l,e;x=null,o=0,l=0,e=!1,a.some(function(t,e){let s=!1,r,a,i,n="";if(13d[","]?";":(d[","],d[";"],","),c.decimalPoint||(o>l?c.decimalPoint=".":c.decimalPoint=",",h.decimalRegex=RegExp("^(-?[0-9]+)"+c.decimalPoint+"([0-9]+)$")),x=e}let e=0;for(i=s;i<=r;i++)"#"===a[i][0]?e++:function(t,e){let s=0,r="",a="",i="",n="",o=0,l=0;function d(e){r=t[e],a=t[e-1],i=t[e+1]}function u(e){g.lengtho||o>f)return++o,void(n="");c.columnTypes||(!isNaN(parseFloat(n))&&isFinite(n)?(n=parseFloat(n),u("number")):isNaN(Date.parse(n))?u("string"):(n=n.replace(/\//g,"-"),u("date"))),m.lengthe.length)&&(t=e.length);l{a>=n&&a<=s&&[].forEach.call(e.children,(e,t)=>{let s=i[t-o],r=1;if(("TD"===e.tagName||"TH"===e.tagName)&&t>=o&&t<=l)for(i[t-o]||(i[t-o]=[]),i[t-o][a-n]=e.innerHTML;a-n>=r&&void 0===s[a-n-r];)s[a-n-r]=null,r++})}),this.dataFound()}return i}fetchLiveData(){let n=this,o=this.chart,l=this.options,d=l.enablePolling,t=c(l),u=0,h=1e3*(l.dataRefreshRate||2);return!!x(l)&&(h<1e3&&(h=1e3),delete l.csvURL,delete l.rowsURL,delete l.columnsURL,function a(i){function e(e,t,s){return e&&/^(http|\/|\.\/|\.\.\/)/.test(e)?(i&&(clearTimeout(n.liveDataTimeout),o.liveDataURL=e),m({url:e,dataType:s||"json",success:function(e){o&&o.series&&t(e),r()},error:function(e,t){return++u<3&&r(),l.error&&l.error(t,e)}}),1):(e&&l.error&&l.error("Invalid URL"),0);function r(){d&&o.liveDataURL===e&&(n.liveDataTimeout=setTimeout(a,h))}}e(t.csvURL,function(e){o.update({data:{csv:e}})},"text")||e(t.rowsURL,function(e){o.update({data:{rows:e}})})||e(t.columnsURL,function(e){o.update({data:{columns:e}})})}(!0),x(l))}parseGoogleSpreadsheet(){let r=this,a=this.options,e=a.googleSpreadsheetKey,i=this.chart,n=Math.max(1e3*(a.dataRefreshRate||2),4e3);return e&&(delete a.googleSpreadsheetKey,function t(s){m({url:["https://sheets.googleapis.com/v4/spreadsheets",e,"values",(()=>{if(a.googleSpreadsheetRange)return a.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",t=(e.charAt(a.startColumn||0)||"A")+((a.startRow||0)+1),s=e.charAt(g(a.endColumn,-1))||"ZZ";return y(a.endRow)&&(s+=a.endRow+1),t+":"+s})(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+a.googleAPIKey].join("/"),dataType:"json",success:function(e){s(e),a.enablePolling&&(r.liveDataTimeout=setTimeout(function(){t(s)},n))},error:function(e,t){return a.error&&a.error(t,e)}})}(function(e){let t=e.values;if(!t||0===t.length)return!1;let s=t.reduce((e,t)=>Math.max(e,t.length),0);t.forEach(t=>{for(let e=0;ee[h+1])):(p&&p.length&&(g=this.parseDate(m)),i&&v(g)&&"float"!==l?(n[h]=m,e[h]=g,e.isDatetime=!0,void 0!==e[h+1]&&((x=g>e[h+1])!==C&&void 0!==C&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,h=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),C=x)):(e[h]=""===p?null:p,0!==h&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(i&&e.mixed&&(r[t]=s[t]),i&&C&&this.options.sort)for(t=0;t{void 0===e.columnIndex&&(e.columnIndex=t.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(s=!1)}),s}read(s,r){let a=this.pointIsArray,i=a?[]:{};if(this.readers.forEach(e=>{var t=s[e.columnIndex][r];a?i.push(t):0{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${n};base64,`+e,t.download=a,t.click(),o(t)})})}};return s}),t(e,"Extensions/Data.js",[e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/HttpUtilities.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,t,s,i,a,r,n,o){let l=s["getOptions"],d=i["doc"],p=a["ajax"],m=n["seriesTypes"],{addEvent:u,defined:v,extend:h,fireEvent:y,isNumber:T,merge:f,objectEach:c,pick:g,splat:N}=o;function x(e){return!(!e||!(e.rowsURL||e.csvURL||e.columnsURL))}class C{static data(e,t={},s){return new C(e,t,s)}static rowsToColumns(e){let t,s,i,a,n;if(e)for(t=0,n=[],s=e.length;tt.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,+e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,+e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let i=e.decimalPoint,a;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==i&&","!==i&&(i=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=g(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=i&&RegExp("^(-?[0-9]+)"+i+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),a=!x(e)),!(a=(a=(a=(a=a||this.fetchLiveData())||!!this.parseCSV().length)||!!this.parseTable().length)||this.parseGoogleSpreadsheet())&&e.afterComplete&&e.afterComplete(this)}getColumnDistribution(){function r(e="line"){return(m[e].prototype.pointArrayMap||[0]).length}function o(e="line"){return m[e].prototype.pointArrayMap}let l=this.chartOptions,e=this.options,t=[],d=l?.chart?.type,u=[],h=[],s=e?.seriesMapping||l?.series?.map(function(){return{x:0}})||[],p=0,i=((l?.series||[]).forEach(e=>{u.push(r(e.type||d))}),s.forEach(e=>{t.push(e.x||0)}),0===t.length&&t.push(0),s.forEach(e=>{let s=new R,t=u[p]||r(d),i=(l?.series??[])[p]??{},a=o(i.type||d),n=a??["y"];!v(e.x)&&!i.isCartesian&&a||s.addColumnReader(e.x,"x"),c(e,function(e,t){"x"!==t&&s.addColumnReader(e,t)});for(let e=0;e=a.length)&&(i=a.length-1),m.itemDelimiter)x=m.itemDelimiter;else{let o,l,e;o=0,l=0,e=!1,a.some(function(t,e){let s=!1,i,a,n,r="";if(13d[","]?";":(d[","],d[";"],","),m.decimalPoint||(o>l?m.decimalPoint=".":m.decimalPoint=",",h.decimalRegex=RegExp("^(-?[0-9]+)"+m.decimalPoint+"([0-9]+)$")),x=e}let e=0;for(n=s;n<=i;n++)"#"===a[n][0]?e++:function(t,e){let s=0,i="",a="",n="",r="",o=0,l=0;function d(e){i=t[e],a=t[e-1],n=t[e+1]}function u(e){g.lengtho||o>f)return++o,void(r="");m.columnTypes||(!isNaN(parseFloat(r))&&isFinite(r)?(r=parseFloat(r),u("number")):isNaN(Date.parse(r))?u("string"):(r=r.replace(/\//g,"-"),u("date"))),p.lengthe.length)&&(t=e.length);l{a>=r&&a<=s&&[].forEach.call(e.children,(e,t)=>{let s=n[t-o],i=1;if(("TD"===e.tagName||"TH"===e.tagName)&&t>=o&&t<=l)for(n[t-o]||(n[t-o]=[]),n[t-o][a-r]=e.innerHTML;a-r>=i&&void 0===s[a-r-i];)s[a-r-i]=null,i++})}),this.dataFound()}return n}fetchLiveData(){let r=this,o=this.chart,l=this.options,d=l.enablePolling,t=f(l),u=0,h=1e3*(l.dataRefreshRate||2);return!!x(l)&&(h<1e3&&(h=1e3),delete l.csvURL,delete l.rowsURL,delete l.columnsURL,function a(n){function e(e,t,s){return e&&/^(http|\/|\.\/|\.\.\/)/.test(e)?(n&&(clearTimeout(r.liveDataTimeout),o.liveDataURL=e),p({url:e,dataType:s||"json",success:function(e){o?.series&&t(e),i()},error:function(e,t){return++u<3&&i(),l.error?.(t,e)}}),1):(e&&l.error&&l.error("Invalid URL"),0);function i(){d&&o.liveDataURL===e&&(r.liveDataTimeout=setTimeout(a,h))}}e(t.csvURL,function(e){o.update({data:{csv:e}})},"text")||e(t.rowsURL,function(e){o.update({data:{rows:e}})})||e(t.columnsURL,function(e){o.update({data:{columns:e}})})}(!0),x(l))}parseGoogleSpreadsheet(){let i=this,a=this.options,e=a.googleSpreadsheetKey,n=this.chart,r=Math.max(1e3*(a.dataRefreshRate||2),4e3);return e&&(delete a.googleSpreadsheetKey,function t(s){p({url:["https://sheets.googleapis.com/v4/spreadsheets",e,"values",(()=>{if(a.googleSpreadsheetRange)return a.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",t=(e.charAt(a.startColumn||0)||"A")+((a.startRow||0)+1),s=e.charAt(g(a.endColumn,-1))||"ZZ";return v(a.endRow)&&(s+=a.endRow+1),t+":"+s})(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+a.googleAPIKey].join("/"),dataType:"json",success:function(e){s(e),a.enablePolling&&(i.liveDataTimeout=setTimeout(function(){t(s)},r))},error:function(e,t){return a.error?.(t,e)}})}(function(e){let t=e.values;if(!t||0===t.length)return!1;let s=t.reduce((e,t)=>Math.max(e,t.length),0);t.forEach(t=>{for(let e=0;ee[h+1])):(c?.length&&(g=this.parseDate(p)),n&&T(g)&&"float"!==l?(r[h]=p,e[h]=g,e.isDatetime=!0,void 0!==e[h+1]&&((x=g>e[h+1])!==y&&void 0!==y&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,h=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),y=x)):(e[h]=""===c?null:c,0!==h&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(n&&e.mixed&&(i[t]=s[t]),n&&y&&this.options.sort)for(t=0;t{void 0===e.columnIndex&&(e.columnIndex=t.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(s=!1)}),s}read(s,i){let a=this.pointIsArray,n=a?[]:{};if(this.readers.forEach(e=>{var t=s[e.columnIndex][i];a?n.push(t):0{e.call(this.chart,t,n)})}}t.Additions=n}return e}),t(e,"Extensions/Exporting/ExportingDefaults.js",[e["Core/Globals.js"]],function(e){e=e.isTouchDevice;return{exporting:{allowTableSorting:!0,type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadPDF","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:3,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:e?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}}}),t(e,"Extensions/Exporting/ExportingSymbols.js",[],function(){var e;{var t=e=e||{};let n=[];function i(e,t,n,i){return[["M",e,t+2.5],["L",e+n,t+2.5],["M",e,t+i/2+.5],["L",e+n,t+i/2+.5],["M",e,t+i-1.5],["L",e+n,t+i-1.5]]}e.compose=function(t){if(-1===n.indexOf(t)){n.push(t);let e=t.prototype.symbols;e.menu=i,e.menuball=function(e,t,n,i){return i=i/3-2,[].concat(this.circle(n-i,t,i,i),this.circle(n-i,t+i+4,i,i),this.circle(n-i,t+2*(4+i),i,i))}.bind(e)}}}return e}),t(e,"Extensions/Exporting/Fullscreen.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(s,e,t){let n=e["composed"],{addEvent:r,fireEvent:l,pushUnique:i}=t;function o(){this.fullscreen=new a(this)}class a{static compose(e){i(n,"Fullscreen")&&r(e,"beforeRender",o)}constructor(e){this.chart=e,this.isOpen=!1;e=e.renderTo;this.browserProps||("function"==typeof e.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:e.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:e.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:e.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;l(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let i=this,o=i.chart,e=o.options.chart;l(o,"fullscreenOpen",null,function(){if(e&&(i.origWidthOption=e.width,i.origHeightOption=e.height),i.origWidth=o.chartWidth,i.origHeight=o.chartHeight,i.browserProps){let e=r(o.container.ownerDocument,i.browserProps.fullscreenChange,function(){i.isOpen?(i.isOpen=!1,i.close()):(o.setSize(null,null,!1),i.isOpen=!0,i.setButtonText())}),t=r(o,"destroy",e),n=(i.unbindFullscreenEvent=()=>{e(),t()},o.renderTo[i.browserProps.requestFullscreen]());n&&n.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,i=n&&n.buttons&&n.buttons.contextButton.menuItems,o=e.options.lang;var r;n&&n.menuItemDefinitions&&o&&o.exitFullscreen&&o.viewFullscreen&&i&&t&&((r=t[i.indexOf("viewFullscreen")])&&s.setElementHTML(r,this.isOpen?o.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||o.viewFullscreen))}toggle(){this.isOpen?this.close():this.open()}}return class{static compose(e){i(n,"Fullscreen")&&r(e,"beforeRender",o)}constructor(e){this.chart=e,this.isOpen=!1,e=e.renderTo,this.browserProps||("function"==typeof e.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:e.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:e.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:e.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;l(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let i=this,o=i.chart,e=o.options.chart;l(o,"fullscreenOpen",null,function(){if(e&&(i.origWidthOption=e.width,i.origHeightOption=e.height),i.origWidth=o.chartWidth,i.origHeight=o.chartHeight,i.browserProps){let e=r(o.container.ownerDocument,i.browserProps.fullscreenChange,function(){i.isOpen?(i.isOpen=!1,i.close()):(o.setSize(null,null,!1),i.isOpen=!0,i.setButtonText())}),t=r(o,"destroy",e),n=(i.unbindFullscreenEvent=()=>{e(),t()},o.renderTo[i.browserProps.requestFullscreen]());n&&n.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,i=n&&n.buttons&&n.buttons.contextButton.menuItems,o=e.options.lang;var r;n&&n.menuItemDefinitions&&o&&o.exitFullscreen&&o.viewFullscreen&&i&&t&&(r=t[i.indexOf("viewFullscreen")])&&s.setElementHTML(r,this.isOpen?o.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||o.viewFullscreen)}toggle(){this.isOpen?this.close():this.open()}}}),t(e,"Core/HttpUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,t){let s=e["win"],{discardElement:l,objectEach:a}=t,n={ajax:function(n){let e={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},i=new XMLHttpRequest;function t(e,t){n.error&&n.error(e,t)}if(!n.url)return!1;i.open((n.type||"get").toUpperCase(),n.url,!0),n.headers&&n.headers["Content-Type"]||i.setRequestHeader("Content-Type",e[n.dataType||"json"]||e.text),a(n.headers,function(e,t){i.setRequestHeader(t,e)}),n.responseType&&(i.responseType=n.responseType),i.onreadystatechange=function(){let e;if(4===i.readyState){if(200===i.status){if("blob"!==n.responseType&&(e=i.responseText,"json"===n.dataType))try{e=JSON.parse(e)}catch(e){if(e instanceof Error)return t(i,e)}return n.success&&n.success(e,i)}t(i,i.responseText)}},n.data&&"string"!=typeof n.data&&(n.data=JSON.stringify(n.data)),i.send(n.data)},getJSON:function(e,t){n.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,n){let i=new s.FormData,{filename:o,type:r}=(a(t,function(e,t){i.append(t,e)}),i.append("b64","true"),t);return s.fetch(e,{method:"POST",body:i,...n}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${r};base64,`+e,t.download=o,t.click(),l(t)})})}};return n}),t(e,"Extensions/Exporting/Exporting.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Chart/Chart.js"],e["Core/Chart/ChartNavigationComposition.js"],e["Core/Defaults.js"],e["Extensions/Exporting/ExportingDefaults.js"],e["Extensions/Exporting/ExportingSymbols.js"],e["Extensions/Exporting/Fullscreen.js"],e["Core/Globals.js"],e["Core/HttpUtilities.js"],e["Core/Utilities.js"]],function(m,i,e,t,o,r,s,v,n,w){var l;let a=t["defaultOptions"],{doc:E,SVG_NS:c,win:C}=v,{addEvent:F,css:S,createElement:O,discardElement:u,extend:T,find:p,fireEvent:P,isObject:H,merge:h,objectEach:d,pick:g,removeEvent:f,uniqueKey:k}=w;{var M=l=l||{};let i,x=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],b=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"],y=(M.inlineAllowlist=[],["clipPath","defs","desc"]);function D(e){let t,n,i=this,o=i.renderer,r=h(i.options.navigation.buttonOptions,e),s=r.onclick,l=r.menuItems,a=r.symbolSize||12;if(i.btnCount||(i.btnCount=0),i.exportDivElements||(i.exportDivElements=[],i.exportSVGElements=[]),!1===r.enabled||!r.theme)return;let c=i.styledMode?{}:r.theme,u=(s?n=function(e){e&&e.stopPropagation(),s.call(i,e)}:l&&(n=function(e){e&&e.stopPropagation(),i.contextMenu(u.menuClassName,l,u.translateX||0,u.translateY||0,u.width||0,u.height||0,u),u.setState(2)}),r.text&&r.symbol?c.paddingLeft=g(c.paddingLeft,30):r.text||T(c,{width:r.width,height:r.height,padding:0}),o.button(r.text,0,0,n,c,void 0,void 0,void 0,void 0,r.useHTML).addClass(e.className).attr({title:g(i.options.lang[r._titleKey||r.titleKey],"")}));u.menuClassName=e.menuClassName||"highcharts-menu-"+i.btnCount++,r.symbol&&(t=o.symbol(r.symbol,Math.round((r.symbolX||0)-a/2),Math.round((r.symbolY||0)-a/2),a,a,{width:a,height:a}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(u),i.styledMode||t.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),u.add(i.exportingGroup).align(T(r,{width:u.width,x:g(r.x,i.buttonOffset)}),!0,"spacingBox"),i.buttonOffset+=((u.width||0)+r.buttonSpacing)*("right"===r.align?-1:1),i.exportSVGElements.push(u,t)}function N(){if(this.printReverseInfo){let{childNodes:e,origDisplay:n,resetParams:t}=this.printReverseInfo;this.moveContainers(this.renderTo),[].forEach.call(e,function(e,t){1===e.nodeType&&(e.style.display=n[t]||"")}),this.isPrinting=!1,t&&this.setSize.apply(this,t),delete this.printReverseInfo,i=void 0,P(this,"afterPrint")}}function j(){let e=E.body,t=this.options.exporting.printMaxWidth,n={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,this.pointer?.reset(void 0,0),P(this,"beforePrint"),t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1)),[].forEach.call(n.childNodes,function(e,t){1===e.nodeType&&(n.origDisplay[t]=e.style.display,e.style.display="none")}),this.moveContainers(e),this.printReverseInfo=n}function G(e){e.renderExporting(),F(e,"redraw",e.renderExporting),F(e,"destroy",e.destroyExport)}function q(t,e,n,i,o,r,s){let l=this,a=l.options.navigation,c=l.chartWidth,u=l.chartHeight,p="cache-"+t,h=Math.max(o,r),d,g=l[p],f=(g||(l.exportContextMenu=l[p]=g=O("div",{className:t},{position:"absolute",zIndex:1e3,padding:h+"px",pointerEvents:"auto",...l.renderer.style},l.scrollablePlotArea?.fixedDiv||l.container),d=O("ul",{className:"highcharts-menu"},l.styledMode?{}:{listStyle:"none",margin:0,padding:0},g),l.styledMode||S(d,T({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},a.menuStyle)),g.hideMenu=function(){S(g,{display:"none"}),s&&s.setState(0),l.openMenu=!1,S(l.renderTo,{overflow:"hidden"}),S(l.container,{overflow:"hidden"}),w.clearTimeout(g.hideTimer),P(l,"exportMenuHidden")},l.exportEvents.push(F(g,"mouseleave",function(){g.hideTimer=C.setTimeout(g.hideMenu,500)}),F(g,"mouseenter",function(){w.clearTimeout(g.hideTimer)}),F(E,"mouseup",function(e){l.pointer?.inClass(e.target,t)||g.hideMenu()}),F(g,"click",function(){l.openMenu&&g.hideMenu()})),e.forEach(function(t){if("string"==typeof t&&(t=l.options.exporting.menuItemDefinitions[t]),H(t,!0)){let e;t.separator?e=O("hr",void 0,void 0,d):("viewData"===t.textKey&&l.isDataTableVisible&&(t.textKey="hideData"),e=O("li",{className:"highcharts-menu-item",onclick:function(e){e&&e.stopPropagation(),g.hideMenu(),"string"!=typeof t&&t.onclick&&t.onclick.apply(l,arguments)}},void 0,d),m.setElementHTML(e,t.text||l.options.lang[t.textKey]),l.styledMode||(e.onmouseover=function(){S(this,a.menuItemHoverStyle)},e.onmouseout=function(){S(this,a.menuItemStyle)},S(e,T({cursor:"pointer"},a.menuItemStyle||{})))),l.exportDivElements.push(e)}}),l.exportDivElements.push(d,g),l.exportMenuWidth=g.offsetWidth,l.exportMenuHeight=g.offsetHeight),{display:"block"});n+(l.exportMenuWidth||0)>c?f.right=c-n-o-h+"px":f.left=n-h+"px",i+r+(l.exportMenuHeight||0)>u&&"top"!==s.alignOptions?.verticalAlign?f.bottom=u-i-h+"px":f.top=i+r-h+"px",S(g,f),S(l.renderTo,{overflow:""}),S(l.container,{overflow:""}),l.openMenu=!0,P(l,"exportMenuShown")}function W(e){let n,i=e?e.target:this,o=i.exportSVGElements,r=i.exportDivElements,t=i.exportEvents;o&&(o.forEach((e,t)=>{e&&(e.onclick=e.ontouchstart=null,i[n="cache-"+e.menuClassName]&&delete i[n],o[t]=e.destroy())}),o.length=0),i.exportingGroup&&(i.exportingGroup.destroy(),delete i.exportingGroup),r&&(r.forEach(function(e,t){e&&(w.clearTimeout(e.hideTimer),f(e,"mouseleave"),r[t]=e.onmouseout=e.onmouseover=e.ontouchstart=e.onclick=null,u(e))}),r.length=0),t&&(t.forEach(function(e){e()}),t.length=0)}function R(e,t){t=this.getSVGForExport(e,t);e=h(this.options.exporting,e),n.post(e.url,{filename:e.filename?e.filename.replace(/\//g,"-"):this.getFilename(),type:e.type,width:e.width,scale:e.scale,svg:t},e.fetchOptions)}function I(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML}function z(){let e=this.userOptions.title&&this.userOptions.title.text,t=this.options.exporting.filename;return t?t.replace(/\//g,"-"):t=!(t="string"==typeof e?e.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,""):t)||t.length<5?"chart":t}function L(n){let e,t,i=h(this.options,n);i.plotOptions=h(this.userOptions.plotOptions,n&&n.plotOptions),i.time=h(this.userOptions.time,n&&n.time);var o=O("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},E.body),r=this.renderTo.style.width,s=this.renderTo.style.height,r=i.exporting.sourceWidth||i.chart.width||/px$/.test(r)&&parseInt(r,10)||(i.isGantt?800:600),s=i.exporting.sourceHeight||i.chart.height||/px$/.test(s)&&parseInt(s,10)||400;T(i.chart,{animation:!1,renderTo:o,forExport:!0,renderer:"SVGRenderer",width:r,height:s}),i.exporting.enabled=!1,delete i.data,i.series=[],this.series.forEach(function(e){(t=h(e.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:e.visible})).isInternal||i.series.push(t)});let l={},a=(this.axes.forEach(function(e){e.userOptions.internalKey||(e.userOptions.internalKey=k()),e.options.isInternal||(l[e.coll]||(l[e.coll]=!0,i[e.coll]=[]),i[e.coll].push(h(e.userOptions,{visible:e.visible})))}),i.colorAxis=this.userOptions.colorAxis,new this.constructor(i,this.callback));return n&&["xAxis","yAxis","series"].forEach(function(e){let t={};n[e]&&(t[e]=n[e],a.update(t))}),this.axes.forEach(function(t){let e=p(a.axes,function(e){return e.options.internalKey===t.userOptions.internalKey}),n=t.getExtremes(),i=n.userMin,o=n.userMax;e&&(void 0!==i&&i!==e.min||void 0!==o&&o!==e.max)&&e.setExtremes(i,o,!0,!1)}),e=a.getChartHTML(),P(this,"getSVG",{chartCopy:a}),e=this.sanitizeSVG(e,i),i=null,a.destroy(),u(o),e}function V(e,t){var n=this.options.exporting;return this.getSVG(h({chart:{borderRadius:0}},n.chartOptions,t,{exporting:{sourceWidth:e&&e.sourceWidth||n.sourceWidth,sourceHeight:e&&e.sourceHeight||n.sourceHeight}}))}function $(){let d,g=M.inlineAllowlist,f={},e=E.createElement("iframe"),m=(S(e,{width:"1px",height:"1px",visibility:"hidden"}),E.body.appendChild(e),e.contentWindow&&e.contentWindow.document);m&&m.body.appendChild(m.createElementNS(c,"svg")),function e(n){let t,i,o,r,s,l,a={};if(m&&1===n.nodeType&&-1===y.indexOf(n.nodeName)){if(t=C.getComputedStyle(n,null),i="svg"===n.nodeName?{}:C.getComputedStyle(n.parentNode,null),!f[n.nodeName]){d=m.getElementsByTagName("svg")[0],o=m.createElementNS(n.namespaceURI,n.nodeName),d.appendChild(o);let e=C.getComputedStyle(o,null),t={};for(var c in e)c.length<1e3&&"string"==typeof e[c]&&!/^\d+$/.test(c)&&(t[c]=e[c]);f[n.nodeName]=t,"text"===n.nodeName&&delete f.text.fill,d.removeChild(o)}for(var u in t)if(v.isFirefox||v.isMS||v.isSafari||Object.hasOwnProperty.call(t,u)){var p=t[u];var h=u;if(r=s=!1,g.length){for(l=g.length;l--&&!s;)s=g[l].test(h);r=!s}for("transform"===h&&"none"===p&&(r=!0),l=x.length;l--&&!r;){if(1e3{i.isDirtyExporting=!0,h(!0,i.options[e],t),g(n,!0)&&i.redraw()};i.exporting={update:function(e,t){n("exporting",e,t)}},e.compose(i).navigation.addUpdate((e,t)=>{n("navigation",e,t)})}function K(){let e=this;e.isPrinting||(i=e,v.isSafari||e.beforePrint(),setTimeout(()=>{C.focus(),C.print(),v.isSafari||setTimeout(()=>{e.afterPrint()},1e3)},1))}function U(){let t=this,e=t.options.exporting,n=e.buttons,i=t.isDirtyExporting||!t.exportSVGElements;t.buttonOffset=0,t.isDirtyExporting&&t.destroyExport(),i&&!1!==e.enabled&&(t.exportEvents=[],t.exportingGroup=t.exportingGroup||t.renderer.g("exporting-group").attr({zIndex:3}).add(),d(n,function(e){t.addButton(e)}),t.isDirtyExporting=!1)}function J(e,t){let n=e.indexOf("")+6,i=e.substr(n);return e=e.substr(0,n),t&&t.exporting&&t.exporting.allowHTML&&i&&(i=''+i.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",e=e.replace("",i+"")),e.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/{e.call(this.chart,t,n)})}}t.Additions=n}return e}),t(e,"Extensions/Exporting/ExportingDefaults.js",[e["Core/Globals.js"]],function(e){e=e.isTouchDevice;return{exporting:{allowTableSorting:!0,type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadPDF","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:3,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:e?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}}}),t(e,"Extensions/Exporting/ExportingSymbols.js",[],function(){var e;{var t=e=e||{};let n=[];function i(e,t,n,i){return[["M",e,t+2.5],["L",e+n,t+2.5],["M",e,t+i/2+.5],["L",e+n,t+i/2+.5],["M",e,t+i-1.5],["L",e+n,t+i-1.5]]}e.compose=function(t){if(-1===n.indexOf(t)){n.push(t);let e=t.prototype.symbols;e.menu=i,e.menuball=function(e,t,n,i){return i=i/3-2,[].concat(this.circle(n-i,t,i,i),this.circle(n-i,t+i+4,i,i),this.circle(n-i,t+2*(4+i),i,i))}.bind(e)}}}return e}),t(e,"Extensions/Exporting/Fullscreen.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(s,e,t){let n=e["composed"],{addEvent:r,fireEvent:l,pushUnique:i}=t;function o(){this.fullscreen=new a(this)}class a{static compose(e){i(n,"Fullscreen")&&r(e,"beforeRender",o)}constructor(e){this.chart=e,this.isOpen=!1;e=e.renderTo;this.browserProps||("function"==typeof e.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:e.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:e.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:e.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;l(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let i=this,o=i.chart,e=o.options.chart;l(o,"fullscreenOpen",null,function(){if(e&&(i.origWidthOption=e.width,i.origHeightOption=e.height),i.origWidth=o.chartWidth,i.origHeight=o.chartHeight,i.browserProps){let e=r(o.container.ownerDocument,i.browserProps.fullscreenChange,function(){i.isOpen?(i.isOpen=!1,i.close()):(o.setSize(null,null,!1),i.isOpen=!0,i.setButtonText())}),t=r(o,"destroy",e),n=(i.unbindFullscreenEvent=()=>{e(),t()},o.renderTo[i.browserProps.requestFullscreen]());n&&n.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,i=n&&n.buttons&&n.buttons.contextButton.menuItems,o=e.options.lang;var r;n&&n.menuItemDefinitions&&o&&o.exitFullscreen&&o.viewFullscreen&&i&&t&&((r=t[i.indexOf("viewFullscreen")])&&s.setElementHTML(r,this.isOpen?o.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||o.viewFullscreen))}toggle(){this.isOpen?this.close():this.open()}}return class{static compose(e){i(n,"Fullscreen")&&r(e,"beforeRender",o)}constructor(e){this.chart=e,this.isOpen=!1,e=e.renderTo,this.browserProps||("function"==typeof e.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:e.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:e.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:e.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;l(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let i=this,o=i.chart,e=o.options.chart;l(o,"fullscreenOpen",null,function(){if(e&&(i.origWidthOption=e.width,i.origHeightOption=e.height),i.origWidth=o.chartWidth,i.origHeight=o.chartHeight,i.browserProps){let e=r(o.container.ownerDocument,i.browserProps.fullscreenChange,function(){i.isOpen?(i.isOpen=!1,i.close()):(o.setSize(null,null,!1),i.isOpen=!0,i.setButtonText())}),t=r(o,"destroy",e),n=(i.unbindFullscreenEvent=()=>{e(),t()},o.renderTo[i.browserProps.requestFullscreen]());n&&n.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,i=n&&n.buttons&&n.buttons.contextButton.menuItems,o=e.options.lang;var r;n&&n.menuItemDefinitions&&o&&o.exitFullscreen&&o.viewFullscreen&&i&&t&&(r=t[i.indexOf("viewFullscreen")])&&s.setElementHTML(r,this.isOpen?o.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||o.viewFullscreen)}toggle(){this.isOpen?this.close():this.open()}}}),t(e,"Core/HttpUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,t){let s=e["win"],{discardElement:l,objectEach:a}=t,n={ajax:function(n){let e={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},i=new XMLHttpRequest;function t(e,t){n.error&&n.error(e,t)}if(!n.url)return!1;i.open((n.type||"get").toUpperCase(),n.url,!0),n.headers&&n.headers["Content-Type"]||i.setRequestHeader("Content-Type",e[n.dataType||"json"]||e.text),a(n.headers,function(e,t){i.setRequestHeader(t,e)}),n.responseType&&(i.responseType=n.responseType),i.onreadystatechange=function(){let e;if(4===i.readyState){if(200===i.status){if("blob"!==n.responseType&&(e=i.responseText,"json"===n.dataType))try{e=JSON.parse(e)}catch(e){if(e instanceof Error)return t(i,e)}return n.success&&n.success(e,i)}t(i,i.responseText)}},n.data&&"string"!=typeof n.data&&(n.data=JSON.stringify(n.data)),i.send(n.data)},getJSON:function(e,t){n.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,n){let i=new s.FormData,{filename:o,type:r}=(a(t,function(e,t){i.append(t,e)}),i.append("b64","true"),t);return s.fetch(e,{method:"POST",body:i,...n}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${r};base64,`+e,t.download=o,t.click(),l(t)})})}};return n}),t(e,"Extensions/Exporting/Exporting.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Chart/Chart.js"],e["Core/Chart/ChartNavigationComposition.js"],e["Core/Defaults.js"],e["Extensions/Exporting/ExportingDefaults.js"],e["Extensions/Exporting/ExportingSymbols.js"],e["Extensions/Exporting/Fullscreen.js"],e["Core/Globals.js"],e["Core/HttpUtilities.js"],e["Core/Utilities.js"]],function(m,i,e,t,o,r,s,v,n,w){var l;let a=t["defaultOptions"],{doc:E,SVG_NS:c,win:C}=v,{addEvent:F,css:S,createElement:O,discardElement:u,extend:T,find:p,fireEvent:P,isObject:H,merge:h,objectEach:d,pick:g,removeEvent:f,uniqueKey:k}=w;{var M=l=l||{};let i,x=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],b=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"],y=(M.inlineAllowlist=[],["clipPath","defs","desc"]);function N(e){let t,n,i=this,o=i.renderer,r=h(i.options.navigation.buttonOptions,e),s=r.onclick,l=r.menuItems,a=r.symbolSize||12;if(i.btnCount||(i.btnCount=0),i.exportDivElements||(i.exportDivElements=[],i.exportSVGElements=[]),!1===r.enabled||!r.theme)return;let c=i.styledMode?{}:r.theme,u=(s?n=function(e){e&&e.stopPropagation(),s.call(i,e)}:l&&(n=function(e){e&&e.stopPropagation(),i.contextMenu(u.menuClassName,l,u.translateX||0,u.translateY||0,u.width||0,u.height||0,u),u.setState(2)}),r.text&&r.symbol?c.paddingLeft=g(c.paddingLeft,30):r.text||T(c,{width:r.width,height:r.height,padding:0}),o.button(r.text,0,0,n,c,void 0,void 0,void 0,void 0,r.useHTML).addClass(e.className).attr({title:g(i.options.lang[r._titleKey||r.titleKey],"")}));u.menuClassName=e.menuClassName||"highcharts-menu-"+i.btnCount++,r.symbol&&(t=o.symbol(r.symbol,Math.round((r.symbolX||0)-a/2),Math.round((r.symbolY||0)-a/2),a,a,{width:a,height:a}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(u),i.styledMode||t.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),u.add(i.exportingGroup).align(T(r,{width:u.width,x:g(r.x,i.buttonOffset)}),!0,"spacingBox"),i.buttonOffset+=((u.width||0)+r.buttonSpacing)*("right"===r.align?-1:1),i.exportSVGElements.push(u,t)}function D(){if(this.printReverseInfo){let{childNodes:e,origDisplay:n,resetParams:t}=this.printReverseInfo;this.moveContainers(this.renderTo),[].forEach.call(e,function(e,t){1===e.nodeType&&(e.style.display=n[t]||"")}),this.isPrinting=!1,t&&this.setSize.apply(this,t),delete this.printReverseInfo,i=void 0,P(this,"afterPrint")}}function j(){let e=E.body,t=this.options.exporting.printMaxWidth,n={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,this.pointer?.reset(void 0,0),P(this,"beforePrint"),t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1)),[].forEach.call(n.childNodes,function(e,t){1===e.nodeType&&(n.origDisplay[t]=e.style.display,e.style.display="none")}),this.moveContainers(e),this.printReverseInfo=n}function G(e){e.renderExporting(),F(e,"redraw",e.renderExporting),F(e,"destroy",e.destroyExport)}function q(t,e,n,i,o,r,s){let l=this,a=l.options.navigation,c=l.chartWidth,u=l.chartHeight,p="cache-"+t,h=Math.max(o,r),d,g=l[p],f=(g||(l.exportContextMenu=l[p]=g=O("div",{className:t},{position:"absolute",zIndex:1e3,padding:h+"px",pointerEvents:"auto",...l.renderer.style},l.scrollablePlotArea?.fixedDiv||l.container),d=O("ul",{className:"highcharts-menu"},l.styledMode?{}:{listStyle:"none",margin:0,padding:0},g),l.styledMode||S(d,T({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},a.menuStyle)),g.hideMenu=function(){S(g,{display:"none"}),s&&s.setState(0),l.openMenu=!1,S(l.renderTo,{overflow:"hidden"}),S(l.container,{overflow:"hidden"}),w.clearTimeout(g.hideTimer),P(l,"exportMenuHidden")},l.exportEvents.push(F(g,"mouseleave",function(){g.hideTimer=C.setTimeout(g.hideMenu,500)}),F(g,"mouseenter",function(){w.clearTimeout(g.hideTimer)}),F(E,"mouseup",function(e){l.pointer?.inClass(e.target,t)||g.hideMenu()}),F(g,"click",function(){l.openMenu&&g.hideMenu()})),e.forEach(function(t){if("string"==typeof t&&(t=l.options.exporting.menuItemDefinitions[t]),H(t,!0)){let e;t.separator?e=O("hr",void 0,void 0,d):("viewData"===t.textKey&&l.isDataTableVisible&&(t.textKey="hideData"),e=O("li",{className:"highcharts-menu-item",onclick:function(e){e&&e.stopPropagation(),g.hideMenu(),"string"!=typeof t&&t.onclick&&t.onclick.apply(l,arguments)}},void 0,d),m.setElementHTML(e,t.text||l.options.lang[t.textKey]),l.styledMode||(e.onmouseover=function(){S(this,a.menuItemHoverStyle)},e.onmouseout=function(){S(this,a.menuItemStyle)},S(e,T({cursor:"pointer"},a.menuItemStyle||{})))),l.exportDivElements.push(e)}}),l.exportDivElements.push(d,g),l.exportMenuWidth=g.offsetWidth,l.exportMenuHeight=g.offsetHeight),{display:"block"});n+(l.exportMenuWidth||0)>c?f.right=c-n-o-h+"px":f.left=n-h+"px",i+r+(l.exportMenuHeight||0)>u&&"top"!==s.alignOptions?.verticalAlign?f.bottom=u-i-h+"px":f.top=i+r-h+"px",S(g,f),S(l.renderTo,{overflow:""}),S(l.container,{overflow:""}),l.openMenu=!0,P(l,"exportMenuShown")}function W(e){let n,i=e?e.target:this,o=i.exportSVGElements,r=i.exportDivElements,t=i.exportEvents;o&&(o.forEach((e,t)=>{e&&(e.onclick=e.ontouchstart=null,i[n="cache-"+e.menuClassName]&&delete i[n],o[t]=e.destroy())}),o.length=0),i.exportingGroup&&(i.exportingGroup.destroy(),delete i.exportingGroup),r&&(r.forEach(function(e,t){e&&(w.clearTimeout(e.hideTimer),f(e,"mouseleave"),r[t]=e.onmouseout=e.onmouseover=e.ontouchstart=e.onclick=null,u(e))}),r.length=0),t&&(t.forEach(function(e){e()}),t.length=0)}function R(e,t){t=this.getSVGForExport(e,t);e=h(this.options.exporting,e),n.post(e.url,{filename:e.filename?e.filename.replace(/\//g,"-"):this.getFilename(),type:e.type,width:e.width,scale:e.scale,svg:t},e.fetchOptions)}function I(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML}function z(){let e=this.userOptions.title&&this.userOptions.title.text,t=this.options.exporting.filename;return t?t.replace(/\//g,"-"):t=!(t="string"==typeof e?e.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,""):t)||t.length<5?"chart":t}function L(n){let e,t,i=h(this.options,n);i.plotOptions=h(this.userOptions.plotOptions,n&&n.plotOptions),i.time=h(this.userOptions.time,n&&n.time);var o=O("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},E.body),r=this.renderTo.style.width,s=this.renderTo.style.height,r=i.exporting.sourceWidth||i.chart.width||/px$/.test(r)&&parseInt(r,10)||(i.isGantt?800:600),s=i.exporting.sourceHeight||i.chart.height||/px$/.test(s)&&parseInt(s,10)||400;T(i.chart,{animation:!1,renderTo:o,forExport:!0,renderer:"SVGRenderer",width:r,height:s}),i.exporting.enabled=!1,delete i.data,i.series=[],this.series.forEach(function(e){(t=h(e.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:e.visible})).isInternal||i.series.push(t)});let l={},a=(this.axes.forEach(function(e){e.userOptions.internalKey||(e.userOptions.internalKey=k()),e.options.isInternal||(l[e.coll]||(l[e.coll]=!0,i[e.coll]=[]),i[e.coll].push(h(e.userOptions,{visible:e.visible,type:e.type,uniqueNames:e.uniqueNames})))}),i.colorAxis=this.userOptions.colorAxis,new this.constructor(i,this.callback));return n&&["xAxis","yAxis","series"].forEach(function(e){let t={};n[e]&&(t[e]=n[e],a.update(t))}),this.axes.forEach(function(t){let e=p(a.axes,function(e){return e.options.internalKey===t.userOptions.internalKey}),n=t.getExtremes(),i=n.userMin,o=n.userMax;e&&(void 0!==i&&i!==e.min||void 0!==o&&o!==e.max)&&e.setExtremes(i,o,!0,!1)}),e=a.getChartHTML(),P(this,"getSVG",{chartCopy:a}),e=this.sanitizeSVG(e,i),i=null,a.destroy(),u(o),e}function V(e,t){var n=this.options.exporting;return this.getSVG(h({chart:{borderRadius:0}},n.chartOptions,t,{exporting:{sourceWidth:e&&e.sourceWidth||n.sourceWidth,sourceHeight:e&&e.sourceHeight||n.sourceHeight}}))}function $(){let d,g=M.inlineAllowlist,f={},e=E.createElement("iframe"),m=(S(e,{width:"1px",height:"1px",visibility:"hidden"}),E.body.appendChild(e),e.contentWindow&&e.contentWindow.document);m&&m.body.appendChild(m.createElementNS(c,"svg")),function e(n){let t,i,o,r,s,l,a={};if(m&&1===n.nodeType&&-1===y.indexOf(n.nodeName)){if(t=C.getComputedStyle(n,null),i="svg"===n.nodeName?{}:C.getComputedStyle(n.parentNode,null),!f[n.nodeName]){d=m.getElementsByTagName("svg")[0],o=m.createElementNS(n.namespaceURI,n.nodeName),d.appendChild(o);let e=C.getComputedStyle(o,null),t={};for(var c in e)c.length<1e3&&"string"==typeof e[c]&&!/^\d+$/.test(c)&&(t[c]=e[c]);f[n.nodeName]=t,"text"===n.nodeName&&delete f.text.fill,d.removeChild(o)}for(var u in t)if(v.isFirefox||v.isMS||v.isSafari||Object.hasOwnProperty.call(t,u)){var p=t[u];var h=u;if(r=s=!1,g.length){for(l=g.length;l--&&!s;)s=g[l].test(h);r=!s}for("transform"===h&&"none"===p&&(r=!0),l=x.length;l--&&!r;){if(1e3{i.isDirtyExporting=!0,h(!0,i.options[e],t),g(n,!0)&&i.redraw()};i.exporting={update:function(e,t){n("exporting",e,t)}},e.compose(i).navigation.addUpdate((e,t)=>{n("navigation",e,t)})}function K(){let e=this;e.isPrinting||(i=e,v.isSafari||e.beforePrint(),setTimeout(()=>{C.focus(),C.print(),v.isSafari||setTimeout(()=>{e.afterPrint()},1e3)},1))}function U(){let t=this,e=t.options.exporting,n=e.buttons,i=t.isDirtyExporting||!t.exportSVGElements;t.buttonOffset=0,t.isDirtyExporting&&t.destroyExport(),i&&!1!==e.enabled&&(t.exportEvents=[],t.exportingGroup=t.exportingGroup||t.renderer.g("exporting-group").attr({zIndex:3}).add(),d(n,function(e){t.addButton(e)}),t.isDirtyExporting=!1)}function J(e,t){let n=e.indexOf("")+6,i=e.substr(n);return e=e.substr(0,n),t&&t.exporting&&t.exporting.allowHTML&&i&&(i=''+i.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",e=e.replace("",i+"")),e.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/(1===e&&(i=0),l({grid:{borderColor:"#cccccc",enabled:!0},opposite:a.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),r.yAxis=h(t.yAxis||{}).map(t=>l({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(r,e)}}return(s=o=o||{}).ganttChart=function(t,e,i){return new s(t,e,i)},o}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let o,i=t["isTouchDevice"],{addEvent:r,merge:a,pick:n}=s,l=[];function h(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,o=this.navigator;var r,a;o&&(t=s&&s.options,e=o.xAxis,i=o.yAxis,{scrollbarHeight:r,scrollButtonSize:a}=o,this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new o(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new o(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function x(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(l,e)){let t=e.prototype;o=i,t.callbacks.push(g),r(e,"afterAddSeries",h),r(e,"afterSetChartSize",d),r(e,"afterUpdate",c),r(e,"beforeRender",p),r(e,"beforeShowResetZoom",u),r(e,"update",x)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:l,defined:c,isNumber:h,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function o(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,l=i.zooming.type;var h;this.isXAxis&&(o?.enabled||n?.enabled)&&("y"===l&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===l||d&&"xy"===a)&&this.options.range&&(h=r.previousZoom,c(t.min)?r.previousZoom=[this.min,this.max]:h&&(t.min=h[0],t.max=h[1],r.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class r{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=l(a+r)),c(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=l(a+r)),c(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,o={}){var i=o.width?o.width/2:i,r=n(o.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:r})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i,a,n){let l=t["setOptions"],h=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:u,pushUnique:g}=n;function x(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(h,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,r),p(i,"afterUpdate",x),l({navigator:o}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let o=t["composed"],{addEvent:r,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function l(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function h(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),r(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:o,scrollMin:r,scrollMax:a}=c(n),a=a-r;d(s)&&d(o)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=r+a*this.to,r+a*this.from):(e=r+a*(1-this.from),r+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:o}=c(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,l=this.options.margin||0;var h;r&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(n[1]+=l),1):(this.opposite&&(n[0]+=a),h=r.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:l):this.opposite?0:l,r.position(h,this.top,this.width,this.height),this.opposite&&(n[0]+=l),0),n[t]+=r.size+(r.options.margin||0),isNaN(s)||isNaN(o)||!d(this.min)||!d(this.max)||this.min===this.max?r.setRange(0,1):(e=(this.min-s)/(o-s),i=(this.max-s)/(o-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,i):r.setRange(1-i,1-e)))}t.compose=function(t,e){n(o,"Axis.Scrollbar")&&(i=e,r(t,"afterGetOffset",l),r(t,"afterInit",h),r(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["defaultOptions"],{addEvent:l,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:h,merge:p,pick:u,removeEvent:g}=o;class x{static compose(t){i.compose(t,x)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,o=this.scrollbarButtons,r=this.options,a=this.size,n=s.g().add(this.group);if(o.push(n),r.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:r.buttonBorderRadius},t.strokeWidth())),s.path(x.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(o[i]));this.chart.styledMode||e.attr({fill:r.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,a?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-l,translateY:a?s-h:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,r),y:-a(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(x.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var o,r=this.options,a=r.vertical,n=r.minWidth,l=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(l)&&(o=l*Math.min(e,1),i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=d(o-i),ss||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,l=a.chart,e=l.inverted,h=l.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=h.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=h.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));l.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=h.path().addClass("highcharts-navigator-outline").add(c)),l.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:o,width:r}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]?i!==a.handles[t].symbolName&&(e=p[i].call(p,-r/2-1,0,r,o),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]=h.symbol(i,-r/2-1,0,r,o,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c)),l.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(o+r)/2}),l.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-r/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(M(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),S(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var o;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{O(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,o=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:o,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,x,f,m=this.scrollbarHeight,b,v;if(!this.hasDragged||S(i)){if(this.isDirty&&this.renderElements(),t=A(t-a/2),e=A(e+a/2),!C(t)||!C(e)){if(!h)return;i=0,s=P(r.width,n.width)}this.left=P(r.left,o.plotLeft+u+(d?o.plotWidth:0));var y=this.size=b=P(r.len,(d?o.plotHeight:o.plotWidth)-2*u),t=(g=d?m:b+2*u,i=P(i,r.toPixels(t,!0)),s=P(s,r.toPixels(e,!0)),C(i)&&Math.abs(i)!==1/0||(i=0,s=g),r.toValue(i,!0)),e=r.toValue(s,!0),M=((M=Math.abs(A(e-t)))p&&(this.grabbedLeft?i=r.toPixels(e-p-a,!0):this.grabbedRight&&(s=r.toPixels(t+p+a,!0))),this.zoomedMax=k(Math.max(i,s),0,y),this.zoomedMin=k(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,y),this.range=this.zoomedMax-this.zoomedMin,y=Math.round(this.zoomedMax),Math.round(this.zoomedMin));l&&(this.navigatorGroup.attr({visibility:"inherit"}),v=h&&!this.hasDragged?"animate":"attr",this.drawMasks(M,y,d,v),this.drawOutline(M,y,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(M,0,d,v),this.drawHandle(y,1,d,v))),this.scrollbar&&(d?(f=this.top-u,x=this.left-m+(l||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),m=b+2*u):(f=this.top+(l?this.height:-m),x=this.left-u),this.scrollbar.position(x,f,g,m),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,w(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],o,r;e.mouseMoveHandler=o=function(t){e.onMouseMove(t)},e.mouseUpHandler=r=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(b(t.renderTo,"mousemove",o),b(i.ownerDocument,"mouseup",r),b(t.renderTo,"touchmove",o),b(i.ownerDocument,"touchend",r)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(b(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let o=this,r=[];return["shades","handles"].forEach(function(i){o[i].forEach(function(t,e){r.push(b(t.element,s,function(t){o[i+"Mousedown"](t,e)}))})}),r}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,n=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=a,this.dragOffset=l-o):(p=l-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,S((c=s.navigatorAxis.toFixedRange(p,p+a,d,h)).min)&&w(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,l;t.touches&&0===t.touches[0].pageX||(l=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-n)):e.grabbedCenter&&(e.hasDragged=!0,ls+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&P(e.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a,n=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),S((a=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&w(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&C(this.zoomedMin)&&C(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){O(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&O(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},o=s.enabled,r=i&&e.height||0,a=o&&s.height||0,l=s.buttonsEnabled&&a||0,h=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=o,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=h.baseSeries,c=n.xAxis.length,p=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,h.navigatorEnabled?(g=this.getXAxisOffsets(),h.xAxis=new x(n,M({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:r}:{offsets:g,height:r}),"xAxis"),h.yAxis=new x(n,M(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:P(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||e.series.data?h.updateNavigatorSeries(!1):0===n.series.length&&(h.unbindRedraw=b(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,o){let r=this,a=r.chart,n=r.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},h=r.series=(r.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(O(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=r.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=v({color:t.color,visible:t.visible},y(p)?g.navigator.series:p);var s;e&&!1===r.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=E(i.dataLabels),(c=M(d,l,i,u)).pointRange=P(i.pointRange,u.pointRange,g.plotOptions[c.type||"line"].pointRange),s=u.data||i.data,r.hasNavigatorData=r.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,o):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,h.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!y(p)||(r.hasNavigatorData=!1,(p=E(p)).forEach((t,e)=>{l.name="Navigator "+(h.length+1),(c=M(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},l,t)).data=t.data,c.data&&(r.hasNavigatorData=!0,h.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(b(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(b(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(b(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(b(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),S(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,c=P(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(h&&(t=(e=a)+l),d&&(t=n+c,h||(e=Math.max(a,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&C(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=P(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!C(i)||!C(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let r,o=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:l,extend:h,isNumber:d,merge:c,pick:p,pushUnique:u}=i,g=[];function x(){function t(t,e){let i="year"===r?"FullYear":"Month",s=new a.Date(t),o=a.get(i,s);return a.set(i,s,o+e),o===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,r=s.type,o=this.max,a=this.chart.time;d(s)?(e=o-s,i=s):s&&(e=o+t(o,-(s.count||1)),this.chart&&this.chart.setFixedRange(o-e));var n=p(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,p(this.dataMax,Number.MAX_VALUE))),d(o)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function f(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new r(this))}function m(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function b(){let s,o=this.rangeSelector;if(o){let t=this.xAxis[0].getExtremes(),e=this.legend,i=o&&o.options.verticalAlign;d(t.min)&&o.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=c(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=o.getHeight(),e.group.placed=!1,e.align(s))}}function v(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function y(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function M(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;e&&e.enabled&&!l(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new r(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o&&(t=e&&e.verticalAlign||o.options&&o.options.verticalAlign,o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(r=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=x,n(i,"afterGetContainer",f),n(i,"beforeRender",m),n(i,"destroy",v),n(i,"getMargins",y),n(i,"redraw",b),n(i,"update",M),t.callbacks.push(b),h(o,{rangeSelector:s.rangeSelector}),h(o.lang,s.lang)}}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,p,u,e){var i;let{addEvent:o,correctFloat:h,css:v,defined:y,error:M,isNumber:s,pick:k,timeUnits:A,isString:r}=e;{var a=i=i||{};function n(t,e,h,i,s=[],o=0,r){let d={},c=this.options.tickPixelInterval,a=this.chart.time,n=[],l,p,u,g,x,f=0,m=[],b=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var v=s.length;for(l=0;lh,s[l]5*o||x){if(s[l]>b){for(p=a.getTimeTicks(t,s[f],s[l],i);p.length&&p[0]<=b;)p.shift();p.length&&(b=p[p.length-1]),n.push(m.length),m=m.concat(p)}f=l+1}if(x)break}if(p){if(g=p.info,r&&g.unitRange<=A.hour){for(f=1,l=m.length-1;ft-e),(a=i[Math.floor(i.length/2)])<.6*c&&(a=null),l=m[t-1]>h?t-1:t,r=void 0;l--;)n=Math.abs(r-(o=e[l])),r&&n<.8*c&&(null===a||n<.8*a)?(d[m[l]]&&!d[m[l+1]]?(s=l+1,r=o):s=l,m.splice(s,1)):r=o}return m}function l(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,o=e.getExtendedPositions();if(o&&o.length){var r,a,n=h((t-i)*s+this.minPixelPadding),n=h(e.getIndexOfPoint(n,o)),l=h(n%1);if(0<=n&&n<=o.length-1)return r=o[Math.floor(n)],a=o[Math.ceil(n)],o[Math.floor(n)]+l*(a-r)}return t}function c(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function x(){var{eventArgs:t,options:e}=this;this.isXAxis&&y(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&y(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function f(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function m(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function b(t){let x=this.xAxis[0],f=x.ordinal.convertOverscroll(x.options.overscroll),m=t.originalEvent.chartX,e=this.options.chart.panning,b=!1;if(e&&"y"!==e.type&&x.options.ordinal&&x.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=x.getExtremes(),o=s.dataMin,r=s.dataMax,a=s.min,n=s.max,l=this.hoverPoints,h=x.closestPointRange||x.ordinal&&x.ordinal.overscrollPointsRange,d=Math.round((i-m)/(x.translationSlope*(x.ordinal.slope||h))),c=x.ordinal.getExtendedPositions(),p={ordinal:{positions:c,extendedOrdinalPositions:c}},u=x.index2val,g=x.val2lin;if(a<=o&&d<0||r<=n+f&&0(e=p.ordinal.positions)[e.length-1]&&e.push(r),this.setFixedRange(n-a),(t=x.navigatorAxis.toFixedRange(void 0,void 0,u.apply(p,[g.apply(p,[a,!0])+d]),u.apply(p,[g.apply(p,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(r,n)+f&&x.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=m,v(this.container,{cursor:"move"})):b=!0}else b=!0;b||e&&/y/.test(e.type)?f&&(x.max=x.dataMax+f):t.preventDefault()}function S(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function w(t,e){let i,s=this.ordinal,o=s.positions,r=s.slope,a;if(!o)return t;var n=o.length;if(o[0]<=t&&o[n-1]>=t)i=c(o,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,l=(r=r||(a[n-1]-a[0])/n,c(a,o[0]));if(t>=a[0]&&t<=a[n-1])i=c(a,t)-l;else{if(!e)return t;i=th||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===n?x=g[1]-g[0]:1===n?(x=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+x]):x=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=x,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=k(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{var e=t.points?.[0];y(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,o=e.x)}),i=i??s.minPixelPadding;var r=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=h((t-i)/r);return C.findIndexOf(e,o,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],o=t.dataMax;if(y(i))for(;o<=t.dataMax+e;)s.push(o+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return k(i.originalOrdinalRange,y(s.dataMax)&&y(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var o;return r(t)?(o=parseInt(t,10),/%$/.test(t)?e(o/100):/px/.test(t)?e((o=Math.min(o,.9*s.len)/s.len)/(1-o)):0):t}}a.Additions=C}return i}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(b,t,f,i,s,e,C){let P=t["defaultOptions"],{addEvent:v,createElement:m,css:O,defined:y,destroyObjectProperties:o,discardElement:r,extend:M,fireEvent:k,isNumber:E,merge:A,objectEach:a,pad:n,pick:S,pInt:l,splat:w}=e;class h{static compose(t,e){i.compose(t,e,h)}constructor(t){this.buttonOptions=h.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,l=r.dataMin,h=r.dataMax,d,c=o&&Math.round(Math.min(o.max,S(h,o.max))),p,u=s._range,g,x,f,m=!0;if(null!==l&&null!==h){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,b.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(x={range:s,max:c,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(x),E(x.newMax)&&(c=x.newMax),m=!1):u=s;else if(u)c=Math.min((d=Math.max(c-u,l))+u,h),m=!1;else if("ytd"===a){if(!o)return void(this.deferredYTDClick=t);void 0!==h&&void 0!==l||(l=Number.MAX_VALUE,h=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(l=Math.min(t[0],l),h=Math.max(t[t.length-1],h))}),e=!1),d=g=(f=this.getYTDExtremes(h,l,i.time.useUTC)).min,c=f.max}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,c=h);if(m&&s._offsetMin&&y(d)&&(d+=s._offsetMin),s._offsetMax&&y(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)o.setExtremes(d,c,S(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{p=w(i.options.xAxis)[0];let e=v(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});v(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=p.range,t.options.min=p.min,e()})}k(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&k(t,"blur"),e&&e.blur&&k(e,"blur")}let i=this,s=e.options.rangeSelector,o=s.buttons||i.defaultButtons.slice(),r=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(v(e.container,"mousedown",t)),this.eventsToUnbind.push(v(e,"resize",t)),o.forEach(i.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(v(e,"load",function(){e.xAxis&&e.xAxis[0]&&v(e.xAxis[0],"setExtremes",function(t){E(this.max)&&E(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let p=this,t=this.chart,s=this.dropdown,o=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),x=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,f=e.dataMin,m=e.dataMax,i=p.getYTDExtremes(m,f,t.time.useUTC),b=i.min,v=i.max,y=p.selected,M=p.options.allButtonsEnabled,k=Array(p.buttonOptions.length).fill(0),A=E(y),r=p.buttons,S=!1,w=null;p.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,o=t.count||1,r=t._offsetMax-t._offsetMin,a=e===y,n=i>m-f,l=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*o-r&&g-36e5<=864e5*{month:31,year:366}[s]*o+r?d=!0:"ytd"===s?(d=v-b+r===g,h=!a):"all"===s&&(d=u.max-u.min>=m-f);var t=!M&&!(S&&"all"===s)&&(n||l||x),c=S&&"all"===s||!h&&d||a&&p.frozenStates;t?k[e]=3:!c||A&&e!==y||(w=e)}),null!==w?(k[w]=2,p.setSelected(w)):(p.setSelected(),o&&(o.setState(0),o.attr({text:(P.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?l=void 0:la&&(l=a)),void 0!==l&&s.setExtremes(c?l:s.min,c?s.max:l,void 0,void 0,{trigger:"rangeSelectorInput"}))}let l=a[c?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=o.label(l,0).addClass("highcharts-range-label").attr({padding:l?2:0,height:l?r.inputBoxHeight:0}).add(i),u=o.label("",0).addClass("highcharts-range-input").attr({padding:2,width:r.inputBoxWidth,height:r.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(h.styledMode||u.attr({stroke:r.inputBoxBorderColor,"stroke-width":1}),u.add(i),m("input",{name:e,className:"highcharts-range-selector"},void 0,t)),x=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(r.inputDateFormat||"%e %b %Y")),h.styledMode||(p.css(A(s,r.labelStyle)),u.css(A({color:"#333333"},s,r.inputStyle)),O(g,M({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},r.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===f.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{x||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{x=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{x=!1},{dateBox:u,input:g,label:p}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get("FullYear",o),a=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),n=o.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=S(s.chart.style?.zIndex,0)+1;var n;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=m("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(y(t.dataMin)&&y(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=P.lang,r=e.renderer,a=A(i.buttonTheme),n=a&&a.states,l=a.width||28,h=(delete a.width,delete a.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group),this.dropdown=m("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),o=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=r.button("",0,0,()=>{},A(a,{"stroke-width":S(a["stroke-width"],0),width:"auto",paddingLeft:S(i.buttonTheme.paddingLeft,o?.padding,8),paddingRight:S(i.buttonTheme.paddingRight,o?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),v(h,"touchstart",()=>{h.style.fontSize="16px"}),f.isMS?"mouseover":"mouseenter"),c=f.isMS?"mouseout":"mouseleave";v(h,d,()=>{k(this.dropdownLabel.element,d)}),v(h,c,()=>{k(this.dropdownLabel.element,c)}),v(h,"change",()=>{k(this.buttons[h.selectedIndex-1].element,"click")}),this.zoomText=r.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=S(a["stroke-width"],0)),m("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,h),this.buttonOptions.forEach((s,o)=>{m("option",{textContent:s.title||s.text},void 0,h),t[o]=r.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(o),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:l}).add(this.buttonGroup),s.title&&t[o].attr("title",s.title)})}alignElements(){let{buttonGroup:l,buttons:h,chart:d,group:c,inputGroup:p,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:x,inputPosition:f,verticalAlign:m}=u,b=(t,e)=>i&&this.titleCollision(d)&&"top"===m&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,v=d.plotLeft;if(c&&x&&f){let t=x.x-d.spacing[3];if(l){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),h.forEach((t,e)=>{i+=t.width||0,e!==h.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}v-=d.spacing[3];var y=b(l,x);this.alignButtonGroup(y),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),c.placed=l.placed=d.hasLoaded}let e=0,i=(p&&(e=b(p,f),"left"===f.align?t=v:"right"===f.align&&(t=-Math.max(d.axisOffset[1],-e)),p.align({y:f.y,width:p.getBBox().width,align:f.align,x:f.x+t-2},!0,d.spacingBox),p.placed=d.hasLoaded),this.handleCollision(e),c.align({verticalAlign:m},!0,d.spacingBox),c.alignAttr.translateY),s=c.getBBox().height+20,o=0;"bottom"===m&&(y=d.legend&&d.legend.options,o=i-(s=s+(y&&"bottom"===y.verticalAlign&&y.enabled&&!y.floating?d.legend.legendHeight+S(y.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===m?(u.floating&&(o=0),d.titleOffset&&d.titleOffset[0]&&(o=d.titleOffset[0]),o+=d.margin[0]-d.spacing[0]||0):"middle"===m&&(f.y===x.y?o=i:(f.y||x.y)&&(f.y<0||x.y<0?o-=Math.min(f.y,x.y):o=i-s)),c.translate(u.x,u.y+Math.floor(o));let{minInput:r,maxInput:a,dropdown:n}=this;u.inputEnabled&&r&&a&&(r.style.marginTop=c.translateY+"px",a.style.marginTop=c.translateY+"px"),n&&(n.style.marginTop=c.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,r=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-a:"center"===r.align&&(n-=a/2),o&&o.align({y:r.y,width:S(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,o=t.hasLoaded?"animate":"attr",r=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[o]({x:S(a+r.x,a)}),n+=r.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!r)&&(e=a.alignAttr.translateX+a.alignOptions.x-o+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=r.alignAttr.translateX+r.getBBox().x)+t&&s{a&&r&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-o?0:-o),translateY:a.alignAttr.translateY+r.getBBox().height+10})};if(r){if("always"===e)return this.collapseButtons(),void(s(i())&&h());"never"===e&&this.expandButtons()}a&&r?l.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&h()):h():"responsive"===e&&this.expandButtons():r&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var o,r;t&&s&&({translateX:r=0,translateY:o=0}=t,r=e.plotLeft+r,i.attr({x:r,y:o}).show(),O(s,{left:r+"px",top:o+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),O(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;var l=Math.min(a,r);return(a<0&&r<0||0t()),i.eventsToUnbind=void 0),o(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof window.HTMLElement&&r(t)),t!==h.prototype[e]&&(i[e]=null)},this)}}return M(h.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),h}),e(t,"Series/PathUtilities.js",[],function(){function h(e,i){let s=[];for(let t=0;t>1].xMin))o=1+a;else{if(!(n<0))return a;r=a-1}return 0=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return-1}function B(e){let i=[];if(e.length){i.push(["M",e[0].start.x,e[0].start.y]);for(let t=0;tP(e.y-t.y))?"x":"y",h,d,c,p;function u(t,e,i,s,o){let r={x:t.x,y:t.y};return r[e]=i[s||e]+(o||0),r}function g(t,e,i){var s=P(e[i]-t[i+"Min"])>P(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}return p=-1=t[l]==d[l]>=p[l]&&(c=t[l="y"===l?"x":"y"]P(e.y-t.y)),s=i?"x":"y",o=[],r=g.obstacleMetrics,x=w(t.x,e.x)-r.maxWidth-10,f=C(t.x,e.x)+r.maxWidth+10,m=w(t.y,e.y)-r.maxHeight-10,b=C(t.y,e.y)+r.maxHeight+10,a,n,l,v=!1,y=g.chartObstacles,h=O(y,f),d=O(y,x);function M(t,e,i){let s,o,r,a;var n=t.x=s.x);){if(y[l].xMin<=o.x&&y[l].xMax>=s.x&&y[l].yMin<=r.y&&y[l].yMax>=a.y)return i?{y:t.y,x:t.x=r[n+"Max"],c=t[n+"Min"]<=r[n+"Min"],p=t[n+"Max"]>=a[n+"Max"],u=t[n+"Min"]<=a[n+"Min"],g=P(t[n+"Min"]-e[n]),x=P(t[n+"Max"]-e[n]),f=P(g-x)<10?e[n]Math.PI;)u-=s;return g=Math.tan(u),u>-n&&u<=n?(m=-1,x=!0):u>n&&u<=Math.PI-n?m=-1:u>Math.PI-n||u<=-(Math.PI-n)?(f=-1,x=!0):f=-1,x?(p.x+=f*l,p.y+=m*l*g):(p.x+=a/(2*g)*f,p.y+=m*h),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}}),e(t,"Gantt/Pathfinder.js",[t["Gantt/Connection.js"],t["Gantt/PathfinderAlgorithms.js"],t["Gantt/PathfinderComposition.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(n,t,i,l,e){let{addEvent:s,defined:o,pick:h,splat:d}=e,c=Math.max,p=Math.min;class r{static compose(t,e){i.compose(t,r,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],s(t,"redraw",function(){this.pathfinder.update()})}update(t){let o=this.chart,r=this,a=r.connections;r.connections=[],o.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(e){let i,t=e.options,s=(t&&t.dependency&&(t.connect=t.dependency),e.options?.connect&&d(e.options.connect));e.visible&&!1!==e.isInside&&s&&s.forEach(function(t){(i=o.get("string"==typeof t?t:t.to))instanceof l&&i.series.visible&&i.visible&&!1!==i.isInside&&r.connections.push(new n(e,i,"string"==typeof t?{}:t))})})});for(let t=0,i,s,e=a.length,o=r.connections.length;ti.yMin-s&&e.yMin-si.xMin-s&&e.xMin-si.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,n=r?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return r&&o?s?t(e,i,Math.floor(s/2)):1/0:p(a,n)}(i[e],i[t]))<80&&r.push(s);return r.push(80),c(Math.floor(r.sort(function(t,e){return t-e})[Math.floor(r.length/10)]/2-1),1)}(n),n.forEach(function(t){t.xMin-=e,t.xMax+=e,t.yMin-=e,t.yMax+=e})),n}getObstacleMetrics(t){let e=0,i=0,s,o,r=t.length;for(;r--;)s=t[r].xMax-t[r].xMin,o=t[r].yMax-t[r].yMin,e{point.x} - {point.x2}
    ',pointFormat:' {series.name}: {point.yCategory}
    '},borderRadius:3,pointRange:0}}),e(t,"Series/XRange/XRangePoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["column"],s=e["extend"];class o extends i{static getColorByCategory(t,e){var i=t.options.colors||t.chart.options.colors,t=i?i.length:t.chart.options.chart.colorCount,e=e.y%t;return{colorIndex:e,color:i&&i[e]}}resolveColor(){var t,e=this.series;e.options.colorByPoint&&!this.options.color?(t=o.getColorByCategory(e,this),e.chart.styledMode||(this.color=t.color),this.options.colorIndex||(this.colorIndex=t.colorIndex)):this.color=this.options.color||e.color}constructor(t,e){super(t,e),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let t=super.getLabelConfig.call(this),e=this.series.yAxis.categories;return t.x2=this.x2,t.yCategory=this.yCategory=e&&e[this.y],t.key=this.category||this.name,t}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return s(o.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),o}),e(t,"Series/XRange/XRangeSeries.js",[t["Core/Globals.js"],t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"],t["Series/XRange/XRangeSeriesDefaults.js"],t["Series/XRange/XRangePoint.js"]],function(t,e,i,s,o,r){let{composed:a,noop:n}=t,x=e["parse"],l=i.seriesTypes["column"],{addEvent:h,clamp:G,crisp:D,defined:I,extend:d,find:c,isNumber:R,isObject:j,merge:L,pick:N,pushUnique:p,relativeLength:z}=s;function u(){let t,e;if(this.isXAxis){for(var i of(t=N(this.dataMax,-Number.MAX_VALUE),this.series))if(i.x2Data)for(var s of i.x2Data)s&&s>t&&(t=s,e=!0);e&&(this.dataMax=t)}}class g extends l{static compose(t){p(a,"Series.XRange")&&h(t,"afterGetSeriesExtremes",u)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){var t=()=>{for(var t of this.chart.series){var e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}},e=(t(),super.getColumnMetrics());return t(),e}cropData(t,e,i,s){let o=super.cropData(this.x2Data,e,i,s);return o.xData=t.slice(o.start,o.end),o}findPointIndex(e){let t,{cropStart:i,points:s}=this,o=e["id"];var r;return o&&(r=c(s,t=>t.id===o),t=r?r.index:void 0),void 0===t&&(r=c(s,t=>t.x===e.x&&t.x2===e.x2&&!t.touched),t=r?r.index:void 0),this.cropped&&R(t)&&R(i)&&t>=i&&(t-=i),t}alignDataLabel(t){var e=t.plotX;t.plotX=N(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:t.shapeArgs.width+"px"}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,o=this.options,r=o.minPointLength||0,a=(t.shapeArgs&&t.shapeArgs.width||0)/2,n=this.pointXOffset=s.offset,l=N(t.x2,t.x+(t.len||0)),h=o.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(l,0,0,0,1),g=Math.abs(u-p),x=this.chart.inverted,f=N(o.borderWidth,1),m,b,v=s.offset,y=Math.round(s.width),M,k,A,S;r&&((m=r-g)<0&&(m=0),p-=m/2,u+=m/2),p=Math.max(p,-10),u=G(u,-10,e.len+10),I(t.options.pointWidth)&&(v-=(Math.ceil(t.options.pointWidth)-y)/2,y=Math.ceil(t.options.pointWidth)),o.pointPlacement&&R(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,o.pointPlacement));var w=D(Math.min(p,u),f),C=D(Math.max(p,u),f)-w,P=Math.min(z("object"==typeof h?h.radius:h||0,y),Math.min(C,y)/2),w={x:w,y:D((t.plotY||0)+v,f),width:C,height:y,r:P};t.shapeArgs=w,x?t.tooltipPos[1]+=n+a:t.tooltipPos[0]-=a+n-w.width/2,k=(M=w.x)+w.width,M<0||k>e.len?(M=G(M,0,e.len),A=(k=G(k,0,e.len))-M,t.dlBox=L(w,{x:M,width:k-M,centerX:A?A/2:null})):t.dlBox=null;let O=t.tooltipPos,E=x?1:0,B=x?0:1,T=this.columnMetrics?this.columnMetrics.offset:-s.width/2;x?O[E]+=w.width/2:O[E]=G(O[E]+(e.reversed?-1:0)*w.width,e.left-c,e.left+e.len-c-1),O[B]=G(O[B]+(x?-1:1)*T,i.top-d,i.top+i.len-d-1),(b=t.partialFill)&&(j(b)&&(b=b.amount),R(b)||(b=0),t.partShapeArgs=L(w),S=Math.max(Math.round(g*b+t.plotX-p),0),t.clipRectArgs={x:e.reversed?w.x+g-S:w.x,y:w.y,width:S,height:w.height})}translate(){for(var t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeType,r=t.shapeArgs,a=t.partShapeArgs,n=t.clipRectArgs,l=t.state,h=i.states[l||"normal"]||{},d=void 0===l?"attr":e,c=this.pointAttribs(t,l),p=N(this.chart.options.chart.animation,h.animation),u=t.graphic,g=t.partialFill;t.isNull||!1===t.visible?u&&(t.graphic=u.destroy()):(u?u.rect[e](r):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[o](L(r)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),a&&(u.partRect?(u.partRect[e](L(a)),u.partialClipRect[e](L(n))):(u.partialClipRect=s.clipRect(n.x,n.y,n.width,n.height),u.partRect=s[o](a).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),a)&&(j(g)||(g={}),e=(g=j(i.partialFill)?L(i.partialFill,g):g).fill||x(c.fill).brighten(-.3).get()||x(t.color||this.color).brighten(-.3).get(),c.fill=e,u.partRect[d](c,p).shadow(i.shadow)))}drawPoints(){var t,e=this.getAnimationVerb();for(t of this.points)this.drawPoint(t,e)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){var e=t.shapeArgs,i=t.plotX,t=t.plotY;return e?void 0!==i&&void 0!==t&&0<=t&&t<=this.yAxis.len&&0<=(e.x||0)+(e.width||0)&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return g.defaultOptions=L(l.defaultOptions,o),d(g.prototype,{pointClass:r,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:i.series.prototype.animate,autoIncrement:n,buildKDTree:n}),i.registerSeriesType("xrange",g),g}),e(t,"masters/modules/xrange.src.js",[t["Core/Globals.js"],t["Series/XRange/XRangeSeries.js"]],function(t,e){return e.compose(t.Axis),t}),e(t,"Series/Gantt/GanttPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["xrange"],s=e["pick"];class o extends i{static setGanttPointAliases(i){function t(t,e){void 0!==e&&(i[t]=e)}t("x",s(i.start,i.x)),t("x2",s(i.end,i.x2)),t("partialFill",s(i.completed,i.partialFill))}applyOptions(t,e){t=super.applyOptions(t,e);return o.setGanttPointAliases(t),t}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return o}),e(t,"Series/Gantt/GanttSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let d=t["isNumber"];return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
    ',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,o=t.tooltipOptions,r=this.options.milestone,a=o.xDateFormat,n=""+(this.name||this.yCategory)+"";if(o.pointFormat)return this.tooltipFormatter(o.pointFormat);!a&&d(this.start)&&(a=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));var l=t.chart.time.dateFormat(a,this.start),h=t.chart.time.dateFormat(a,this.end);return n=n+"
    "+(r?l+"
    ":"Start: "+l+"
    End: "+h+"
    ")}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),e(t,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(l,t){var e;let{addEvent:s,find:i,fireEvent:u,isArray:o,isNumber:g,pick:x}=t;{function r(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function a(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function n(){let s=this.brokenAxis;if(s?.hasBreaks){let e=this.tickPositions,t=this.tickPositions.info,i=[];for(let t=0;te.to||r>e.from&&ae.from&&ae.from&&a>e.to&&ar&&i>=this.basePointRange&&(r=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>r&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][n]=new l(o,o.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",h),s(e,"afterInit",r),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=p,t.gappedPath=f,s(i,"afterGeneratePoints",d),s(i,"afterRender",c)}return e};class m{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,o=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=o:s=s);r++)(o.to=t)break;if(m.isInBreak(o,t)){s-=t-o.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)h-=a;for(;h{t.getOffset()})}i&&t.apply(this)}function f(f){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:e,horiz:i,left:s,offset:o,opposite:r,options:a,top:n,width:l}=this,h=this.tickSize(),d=t&&t.getBBox().width,c=a.title.x,p=a.title.y,u=m(a.title.margin,i?5:10),g=t?this.chart.renderer.fontMetrics(t).f:0,x=(i?n+e:s)+(i?1:-1)*(r?-1:1)*(h?h[0]/2:0)+(this.side===b.bottom?g:0);f.titlePosition.x=i?s-(d||0)/2-u+c:x+(r?l:0)+o+c,f.titlePosition.y=i?x-(r?e:0)+(r?g:-g)/2+o+p:n-u+p}}function y(){var{chart:o,options:{grid:r={}},userOptions:a}=this;if(r.enabled){var e=this;let t=e.options;t.labels.align=m(t.labels.align,"center"),e.categories||(t.showLastLabel=!1),e.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}if(r.columns){let i=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++st.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;for(var n=this.tickmarkOffset,l=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[s].label)&&(n{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!o(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||1t.setScale())}function C(t){var e,{horiz:i,maxLabelDimensions:s,options:{grid:o={}}}=this;o.enabled&&s&&(e=2*this.options.labels.distance,i=i?o.cellHeight||e+s.height:e+s.width,r(t.tickSize)?t.tickSize[0]=i:t.tickSize=[i,0])}function P(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function O(e){let t=this["grid"];(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function E(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&o(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new I(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function B(o){let r=this.label,a=this.axis,n=a.reversed,l=a.chart,t=a.options.grid||{},h=a.options.labels,d=h.align,c=b[a.side],e=o.tickmarkOffset,i=a.tickPositions,p=this.pos-e,u=v(i[o.index+1])?i[o.index+1]-e:(a.max||0)+e,s=a.tickSize("tick"),g=s?s[0]:0,x=s?s[1]/2:0;if(!0===t.enabled){let t,e,i,s;var f,m;"top"===c?e=(t=a.top+a.offset)-g:"bottom"===c?t=(e=l.chartHeight-a.bottom+a.offset)+g:(t=a.top+a.len-(a.translate(n?u:p)||0),e=a.top+a.len-(a.translate(n?p:u)||0)),"right"===c?s=(i=l.chartWidth-a.right+a.offset)+g:"left"===c?i=(s=a.left+a.offset)-g:(i=Math.round(a.left+(a.translate(n?u:p)||0))-x,s=Math.min(Math.round(a.left+(a.translate(n?p:u)||0))-x,a.left+a.len)),this.slotWidth=s-i,o.pos.x="left"===d?i:"right"===d?s:i+(s-i)/2,o.pos.y=e+(t-e)/2,r&&(f=l.renderer.fontMetrics(r),m=r.getBBox().height,h.useHTML?o.pos.y+=f.b+-m/2:(m=Math.round(m/f.h),o.pos.y+=(f.b-(f.h-f.f))/2+-((m-1)*f.h)/2)),o.pos.x+=a.horiz&&h.x||0}}function T(a){let{axis:n,value:l}=a;if(n.options.grid&&n.options.grid.enabled){let t,e=n.tickPositions,i=(n.linkedParent||n).series[0],s=l===e[0],o=l===e[e.length-1],r=i&&d(i.options.data,function(t){return t[n.isXAxis?"x":"y"]===l});r&&i.is("gantt")&&(t=c(r),h.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(t)),a.isFirst=s,a.isLast=o,a.point=t}}function G(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],a=s[s.length-1],n=s[s.length-2],l=this.linkedParent&&this.linkedParent.min,h=this.linkedParent&&this.linkedParent.max,d=l||this.min,c=h||this.max,p=this.tickInterval,u=v(d)&&o+p<=d&&d{t.side!==i.side||t.options.isInternal||(a=e,t===o&&(r=e))}),a===r&&(!v(e)||s.length===e))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,o=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}return t.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},t.W=function(t){let e=this,i=new this.Date(t),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(t){e.set(t,i,0)}),(this.get("Day",i)+6)%7),o=new this.Date(i.valueOf()),r=(this.set("Date",o,this.get("Date",i)-s+3),new this.Date(this.get("FullYear",o),0,1));return 4!==this.get("Day",r)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",r))%7)),(1+Math.floor((o.valueOf()-r.valueOf())/6048e5)).toString()},{compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=g,a(t.prototype,"unsquish",D),a(t.prototype,"getOffset",x),s(t,"init",E),s(t,"afterGetTitlePosition",f),s(t,"afterInit",y),s(t,"afterRender",M),s(t,"afterSetAxisTranslation",k),s(t,"afterSetOptions",A),s(t,"afterSetOptions",S),s(t,"afterSetScale",w),s(t,"afterTickSize",C),s(t,"trimTicks",G),s(t,"destroy",O),s(e,"afterSetChartSize",P),s(i,"afterGetLabelPosition",B),s(i,"labelFormat",T)),t}}}),e(t,"Gantt/Tree.js",[t["Core/Utilities.js"]],function(t){let{extend:u,isNumber:g,pick:x}=t;function f(s,t,o,e,r,a){let i=a&&a.after,n=a&&a.before,l={data:e,depth:o-1,id:s,level:o,parent:t||""},h=0,d=0,c,p;"function"==typeof n&&n(l,a);t=(r[s]||[]).map(t=>{var e=f(t.id,s,o+1,t,r,a),i=t.start||NaN,t=!0===t.milestone?i:t.end||NaN;return c=!g(c)||ip?t:p,h=h+1+e.descendants,d=Math.max(e.height+1,d),e});return e&&(e.start=x(e.start,c),e.end=x(e.end,p)),u(l,{children:t,descendants:h,height:d}),"function"==typeof i&&i(l,a),l}return{getNode:f,getTree:function(t,e){return f("",null,1,null,function(){let o=[],i=t.reduce((t,e)=>{var{parent:i="",id:s}=e;return void 0===t[i]&&(t[i]=[]),t[i].push(e),s&&o.push(s),t},{});return Object.keys(i).forEach(t=>{var e;""!==t&&-1===o.indexOf(t)&&(e=i[t].map(function(t){let{...e}=t;return e}),i[""].push(...e),delete i[t])}),i}(),e)}}}),e(t,"Core/Axis/TreeGrid/TreeGridTick.js",[t["Core/Utilities.js"]],function(t){let{addEvent:C,removeEvent:P,isObject:O,isNumber:E,pick:B,wrap:i}=t;function s(){this.treeGrid||(this.treeGrid=new e(this))}function o(t,e,i,s,o,r,a,n,l){let h=B(this.options&&this.options.labels,r),d=this.pos,c=this.axis,p="treegrid"===c.options.type,u=t.apply(this,[e,i,s,o,h,a,n,l]);return p&&({width:r=0,padding:t=c.linkedParent?0:5}=h&&O(h.symbol,!0)?h.symbol:{},e=h&&E(h.indentation)?h.indentation:0,o=(s=(i=c.treeGrid.mapOfPosToGridNode)&&i[d])&&s.depth||1,u.x+=r+2*t+(o-1)*e),u}function r(p){let{pos:t,axis:e,label:u,treeGrid:i,options:s}=this,o=i?.labelIcon,r=u?.element,{treeGrid:a,options:n,chart:l,tickPositions:h}=e,d=a.mapOfPosToGridNode,c=B(s?.labels,n?.labels),g=c&&O(c.symbol,!0)?c.symbol:{},x=d&&d[t],{descendants:f,depth:m}=x||{},b=x&&f&&0{t&&!t.attachedTreeGridEvents&&(C(t.element,"mouseover",function(){u.addClass("highcharts-treegrid-node-active"),u.renderer.styledMode||u.css({textDecoration:"underline"})}),C(t.element,"mouseout",function(){var t=u,e=c;e=O(e.style)?e.style:{},t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:e.textDecoration||"none"})}),C(t.element,"click",function(){i.toggleCollapse()}),t.attachedTreeGridEvents=!0)})}else o&&(P(r),u?.css({cursor:"default"}),o.destroy())}class e{static compose(t){let e=t.prototype;e.toggleCollapse||(C(t,"init",s),i(e,"getLabelPosition",o),i(e,"renderLabel",r),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.collapse(o),s.setBreaks(o,B(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;var a;o&&r&&(a=r[e],a=s.expand(a),o.setBreaks(a,B(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.toggleCollapse(o),s.setBreaks(o,B(t,!0)))}}return class{static compose(t){let e=t.prototype;e.toggleCollapse||(C(t,"init",s),i(e,"getLabelPosition",o),i(e,"renderLabel",r),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.collapse(o),s.setBreaks(o,B(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;var a;o&&r&&(a=r[e],a=s.expand(a),o.setBreaks(a,B(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.toggleCollapse(o),s.setBreaks(o,B(t,!0)))}}}),e(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(b,t){let{extend:p,isArray:l,isNumber:h,isObject:d,merge:c,pick:v,relativeLength:o}=t;return{getColor:function(t,e){let i,s,o,r,a,n,l=e.index,h=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,x=p.points,f=p.chart.options.chart;return t&&(i=x[t.i],s=h[t.level]||{},i&&s.colorByPoint&&(r=i.index%(u?u.length:f.colorCount),o=u&&u[r]),p.chart.styledMode||(a=v(i&&i.options.color,s&&s.color,o,d&&(t=d,(m=s&&s.colorVariation)&&"brightness"===m.key&&l&&g?b.parse(t).brighten(m.to*(l/g)).get():t),p.color)),n=v(i&&i.options.colorIndex,s&&s.colorIndex,r,c,e.colorIndex)),{color:a,colorIndex:n};var m},getLevelOptions:function(t){let r,e,i,a,s,o,n={};if(d(t))for(a=h(t.from)?t.from:1,o=t.levels,e={},r=d(t.defaults)?t.defaults:{},l(o)&&(e=o.reduce((t,e)=>{let i,s,o;return d(e)&&h(e.level)&&(s=v((o=c({},e)).levelIsConstant,r.levelIsConstant),delete o.levelIsConstant,delete o.level,d(t[i=e.level+(s?0:a-1)])?c(!0,t[i],o):t[i]=o),t},{})),s=h(t.to)?t.to:1,i=0;i<=s;i++)n[i]=c({},r,d(e[i])?e[i]:{});return n},getNodeWidth:function(t,e){var{chart:t,options:i}=t,{nodeDistance:i=0,nodeWidth:s=0}=i,{plotSizeX:t=1}=t;if("auto"!==s)return o(s,t);if("string"==typeof i&&/%$/.test(i))return t/(e+parseFloat(i)/100*(e-1));s=Number(i);return(t+s)/(e||1)-s},setTreeValues:function s(o,r){let t=r.before,e=r.idRoot,i=r.mapIdToNode[e],a=!1!==r.levelIsConstant,n=r.points[o.i],l=n&&n.options||{},h=[],d=0;o.levelDynamic=o.level-(a?0:i.level),o.name=v(n&&n.name,""),o.visible=e===o.id||!0===r.visible,(o="function"==typeof t?t(o,r):o).children.forEach((t,e)=>{var i=p({},r);p(i,{index:e,siblings:o.children.length,visible:o.visible}),t=s(t,i),h.push(t),t.visible&&(d+=t.val)});var c=v(l.value,d);return o.visible=0<=c&&(0e.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),l(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=f({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}},uniqueNames:!1},i,{reversed:!0})),t.apply(o,[e,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function S(t){let e=this.options,i="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;var s;"treegrid"===e.type?(this.min=m(this.userMin,e.min,this.dataMin),this.max=m(this.userMax,e.max,this.dataMax),c(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i&&(s=i.getExtremes(),this.min=m(s.min,s.dataMin),this.max=m(s.max,s.dataMax),this.tickPositions=i.tickPositions),this.linkedParent=i):t.apply(this,Array.prototype.slice.call(arguments,1))}function w(t){let i=this;"treegrid"===i.options.type&&i.visible&&i.tickPositions.forEach(function(t){let e=i.ticks[t];e.label&&e.label.attachedTreeGridEvents&&(s(e.label.element),e.label.attachedTreeGridEvents=!1)}),t.apply(i,Array.prototype.slice.call(arguments,1))}class C{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),b(t,"generateTick",k),b(t,"init",A),b(t,"setTickInterval",S),b(t,"redraw",w),t.utils={getNode:a.getNode},h=h||s}return r.compose(e,t,s),o.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(o){let t=this.axis,r=t.chart;t.series.forEach(function(i){var s=i.options.data;if(o.id&&s){let t=r.get(o.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=o.collapsed,e.collapsed=o.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,o=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){e=+e;return!(e>=s&&e<=o)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}return class{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),b(t,"generateTick",k),b(t,"init",A),b(t,"setTickInterval",S),b(t,"redraw",w),t.utils={getNode:a.getNode},h=h||s}return r.compose(e,t,s),o.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(o){let t=this.axis,r=t.chart;t.series.forEach(function(i){var s=i.options.data;if(o.id&&s){let t=r.get(o.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=o.collapsed,e.collapsed=o.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,o=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){return!((e=+e)>=s&&e<=o)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}}),e(t,"Series/Gantt/GanttSeries.js",[t["Series/Gantt/GanttPoint.js"],t["Series/Gantt/GanttSeriesDefaults.js"],t["Gantt/Pathfinder.js"],t["Core/Series/SeriesRegistry.js"],t["Extensions/StaticScale.js"],t["Core/Axis/TreeGrid/TreeGridAxis.js"],t["Core/Utilities.js"]],function(t,e,o,i,r,a,s){let{series:n,seriesTypes:{xrange:l}}=i,{extend:h,isNumber:d,merge:c}=s;class p extends l{static compose(t,e,i,s){l.compose(t),e&&(r.compose(t,e),i)&&(o.compose(e,i.prototype.pointClass),s&&a.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeArgs,r=t.plotY,a=t.selected&&"select",n=i.stacking&&!i.borderRadius,l=t.graphic,h;t.options.milestone?d(r)&&null!==t.y&&!1!==t.visible?(h=s.symbols.diamond(o.x||0,o.y||0,o.width||0,o.height||0),l?l[e]({d:h}):t.graphic=l=s.path(h).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,a)).shadow(i.shadow,null,n)):l&&(t.graphic=l.destroy()):super.drawPoint(t,e)}translatePoint(t){var e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}return p.defaultOptions=c(l.defaultOptions,e),h(p.prototype,{pointArrayMap:["start","end","y"],pointClass:t,setData:n.prototype.setData}),i.registerSeriesType("gantt",p),p}),e(t,"masters/modules/gantt.src.js",[t["Core/Globals.js"],t["Extensions/ArrowSymbols.js"],t["Gantt/Connection.js"],t["Extensions/CurrentDateIndication.js"],t["Core/Chart/GanttChart.js"],t["Stock/Navigator/Navigator.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Series/Gantt/GanttSeries.js"]],function(t,e,i,s,o,r,a,n,l){return t.Connection=t.Connection||i,t.GanttChart=t.GanttChart||o,t.Navigator=t.Navigator||r,t.RangeSelector=t.RangeSelector||a,t.Scrollbar=t.Scrollbar||n,t.ganttChart=t.GanttChart.ganttChart,e.compose(t.SVGRenderer),s.compose(t.Axis,t.PlotLineOrBand),l.compose(t.Axis,t.Chart,t.Series,t.Tick),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t})}); \ No newline at end of file +!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var t=o?o._modules:{};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Extensions/ArrowSymbols.js",[],function(){function o(t,e,i,s){return[["M",t,e+s/2],["L",t+i,e],["L",t,e+s/2],["L",t+i,e+s]]}function i(t,e,i,s){return o(t,e,i/2,s)}function r(t,e,i,s){return[["M",t+i,e],["L",t,e+s/2],["L",t+i,e+s],["Z"]]}function s(t,e,i,s){return r(t,e,i/2,s)}return{compose:function(t){let e=t.prototype.symbols;e.arrow=o,e["arrow-filled"]=r,e["arrow-filled-half"]=s,e["arrow-half"]=i,e["triangle-left"]=r,e["triangle-left-half"]=s}}}),e(t,"Gantt/Connection.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let{defined:l,error:r,merge:h,objectEach:i}=e,f=t.deg2rad,d=Math.max,c=Math.min;return class{constructor(t,e,i){this.init(t,e,i)}init(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(t,e){let i=this.chart,s=i.styledMode,o=this.pathfinder,r={},a=this.graphics&&this.graphics.path;o.group||(o.group=i.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(i.seriesGroup)),o.group.translate(i.plotLeft,i.plotTop),a&&a.renderer||(a=i.renderer.path().add(o.group),s||a.attr({opacity:0})),a.attr(e),r.d=t,s||(r.opacity=1),a.animate(r),this.graphics=this.graphics||{},this.graphics.path=a}addMarker(t,e,i){let s,o,r,a,n,l,h,d,c=this.fromPoint.series.chart,p=c.pathfinder,u=c.renderer,g="start"===t?this.fromPoint:this.toPoint,x=g.getPathfinderAnchorPoint(e);e.enabled&&((d="start"===t?i[1]:i[i.length-2])&&"M"===d[0]||"L"===d[0])&&(h={x:d[1],y:d[2]},o=g.getRadiansToVector(h,x),s=g.getMarkerVector(o,e.radius,x),r=-o/f,e.width&&e.height?(n=e.width,l=e.height):n=l=2*e.radius,this.graphics=this.graphics||{},a={x:s.x-n/2,y:s.y-l/2,width:n,height:l,rotation:r,rotationOriginX:s.x,rotationOriginY:s.y},this.graphics[t]?this.graphics[t].animate(a):(this.graphics[t]=u.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(a).add(p.group),u.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))}getPath(t){let e=this.pathfinder,i=this.chart,s=e.algorithms[t.type],o=e.chartObstacles;return"function"!=typeof s?(r('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(s.requiresObstacles&&!o&&(o=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(o)),s(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),h({chartObstacles:o,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))}render(){let t=this.fromPoint,e=t.series,i=e.chart,s=i.pathfinder,o={},r=h(i.options.connectors,e.options.connectors,t.options.connectors,this.options);i.styledMode||(o.stroke=r.lineColor||t.color,o["stroke-width"]=r.lineWidth,r.dashStyle&&(o.dashstyle=r.dashStyle)),o.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,l((r=h(o,r)).marker.radius)||(r.marker.radius=c(d(Math.ceil((r.algorithmMargin||8)/2)-1,1),5));var a=this.getPath(r),n=a.path;a.obstacles&&(s.lineObstacles=s.lineObstacles||[],s.lineObstacles=s.lineObstacles.concat(a.obstacles)),this.renderPath(n,o),this.addMarker("start",h(r.marker,r.startMarker),n),this.addMarker("end",h(r.marker,r.endMarker),n)}destroy(){this.graphics&&(i(this.graphics,function(t){t.destroy()}),delete this.graphics)}}}),e(t,"Extensions/CurrentDateIndication.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let i=t["composed"],{addEvent:s,merge:o,pushUnique:r,wrap:a}=e,n={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t)},rotation:0,style:{fontSize:"0.7em"}}};function l(){let e=this.options,i=e.currentDateIndicator;if(i){let t="object"==typeof i?o(n,i):o(n);t.value=Date.now(),t.className="highcharts-current-date-indicator",e.plotLines||(e.plotLines=[]),e.plotLines.push(t)}}function h(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function d(t,e){let i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)}return{compose:function(t,e){r(i,"CurrentDateIndication")&&(s(t,"afterSetOptions",l),s(e,"render",h),a(e.prototype,"getLabelText",d))}}}),e(t,"Core/Chart/GanttChart.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e,i){var s;let a=e["defaultOptions"],{isArray:n,merge:l,splat:h}=i;class o extends t{init(t,e){let i;var s=t.xAxis,o=t.yAxis;t.xAxis=t.yAxis=void 0;let r=l(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},t,{isGantt:!0});t.xAxis=s,t.yAxis=o,r.xAxis=(n(t.xAxis)?t.xAxis:[t.xAxis||{},{}]).map((t,e)=>(1===e&&(i=0),l({grid:{borderColor:"#cccccc",enabled:!0},opposite:a.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),r.yAxis=h(t.yAxis||{}).map(t=>l({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(r,e)}}return(s=o=o||{}).ganttChart=function(t,e,i){return new s(t,e,i)},o}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let o,i=t["isTouchDevice"],{addEvent:r,merge:a,pick:n}=s,l=[];function h(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,o=this.navigator;var r,a;o&&(t=s&&s.options,e=o.xAxis,i=o.yAxis,{scrollbarHeight:r,scrollButtonSize:a}=o,this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new o(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new o(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function x(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(l,e)){let t=e.prototype;o=i,t.callbacks.push(g),r(e,"afterAddSeries",h),r(e,"afterSetChartSize",d),r(e,"afterUpdate",c),r(e,"beforeRender",p),r(e,"beforeShowResetZoom",u),r(e,"update",x)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:l,defined:c,isNumber:h,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function o(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,l=i.zooming.type;var h;this.isXAxis&&(o?.enabled||n?.enabled)&&("y"===l&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===l||d&&"xy"===a)&&this.options.range&&(h=r.previousZoom,c(t.min)?r.previousZoom=[this.min,this.max]:h&&(t.min=h[0],t.max=h[1],r.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class r{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=l(a+r)),c(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=p(i,o.translate(t,!0,!o.horiz)),n=p(s,o.translate(e,!0,!o.horiz));return c(i)||(a=l(a+r)),c(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,o={}){var i=o.width?o.width/2:i,r=n(o.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:r})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i,a,n){let l=t["setOptions"],h=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:u,pushUnique:g}=n;function x(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(h,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,r),p(i,"afterUpdate",x),l({navigator:o}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let o=t["composed"],{addEvent:r,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function l(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function h(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),r(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:o,scrollMin:r,scrollMax:a}=c(n),a=a-r;d(s)&&d(o)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=r+a*this.to,r+a*this.from):(e=r+a*(1-this.from),r+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:o}=c(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,l=this.options.margin||0;var h;r&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(n[1]+=l),1):(this.opposite&&(n[0]+=a),h=r.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:l):this.opposite?0:l,r.position(h,this.top,this.width,this.height),this.opposite&&(n[0]+=l),0),n[t]+=r.size+(r.options.margin||0),isNaN(s)||isNaN(o)||!d(this.min)||!d(this.max)||this.dataMin===this.dataMax?r.setRange(0,1):this.min===this.max?(h=this.pointRange/(this.dataMax+1),e=h*this.min,i=h*(this.max+1),r.setRange(e,i)):(e=(this.min-s)/(o-s),i=(this.max-s)/(o-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,i):r.setRange(1-i,1-e)))}t.compose=function(t,e){n(o,"Axis.Scrollbar")&&(i=e,r(t,"afterGetOffset",l),r(t,"afterInit",h),r(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["defaultOptions"],{addEvent:l,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:h,merge:p,pick:u,removeEvent:g}=o;class x{static compose(t){i.compose(t,x)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,o=this.scrollbarButtons,r=this.options,a=this.size,n=s.g().add(this.group);if(o.push(n),r.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:r.buttonBorderRadius},t.strokeWidth())),s.path(x.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(o[i]));this.chart.styledMode||e.attr({fill:r.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,a?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-l,translateY:a?s-h:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,r),y:-a(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(x.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var o,r=this.options,a=r.vertical,n=r.minWidth,l=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(l)&&(o=l*Math.min(e,1),i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=d(o-i),ss||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,l=a.chart,e=l.inverted,h=l.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=h.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=h.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));l.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=h.path().addClass("highcharts-navigator-outline").add(c)),l.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:o,width:r}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]&&a.handles[t].symbolUrl===i?a.handles[t].isImg||a.handles[t].symbolName===i||(e=p[i].call(p,-r/2-1,0,r,o),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]?.destroy(),a.handles[t]=h.symbol(i,-r/2-1,0,r,o,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c),a.addMouseEvents()),l.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(o+r)/2}),l.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-r/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(M(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),S(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var o;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{O(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,o=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:o,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,x,f,m=this.scrollbarHeight,b,v;if(!this.hasDragged||S(i)){if(this.isDirty&&this.renderElements(),t=A(t-a/2),e=A(e+a/2),!C(t)||!C(e)){if(!h)return;i=0,s=P(r.width,n.width)}this.left=P(r.left,o.plotLeft+u+(d?o.plotWidth:0));var y=this.size=b=P(r.len,(d?o.plotHeight:o.plotWidth)-2*u),t=(g=d?m:b+2*u,i=P(i,r.toPixels(t,!0)),s=P(s,r.toPixels(e,!0)),C(i)&&Math.abs(i)!==1/0||(i=0,s=g),r.toValue(i,!0)),e=r.toValue(s,!0),M=((M=Math.abs(A(e-t)))p&&(this.grabbedLeft?i=r.toPixels(e-p-a,!0):this.grabbedRight&&(s=r.toPixels(t+p+a,!0))),this.zoomedMax=k(Math.max(i,s),0,y),this.zoomedMin=k(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,y),this.range=this.zoomedMax-this.zoomedMin,y=Math.round(this.zoomedMax),Math.round(this.zoomedMin));l&&(this.navigatorGroup.attr({visibility:"inherit"}),v=h&&!this.hasDragged?"animate":"attr",this.drawMasks(M,y,d,v),this.drawOutline(M,y,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(M,0,d,v),this.drawHandle(y,1,d,v))),this.scrollbar&&(d?(f=this.top-u,x=this.left-m+(l||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),m=b+2*u):(f=this.top+(l?this.height:-m),x=this.left-u),this.scrollbar.position(x,f,g,m),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,w(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],o,r;e.mouseMoveHandler=o=function(t){e.onMouseMove(t)},e.mouseUpHandler=r=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(b(t.renderTo,"mousemove",o),b(i.ownerDocument,"mouseup",r),b(t.renderTo,"touchmove",o),b(i.ownerDocument,"touchend",r)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(b(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let o=this,r=[];return["shades","handles"].forEach(function(i){o[i].forEach(function(t,e){r.push(b(t.element,s,function(t){o[i+"Mousedown"](t,e)}))})}),r}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,n=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=a,this.dragOffset=l-o):(p=l-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,S((c=s.navigatorAxis.toFixedRange(p,p+a,d,h)).min)&&w(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,l;t.touches&&0===t.touches[0].pageX||(l=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-n)):e.grabbedCenter&&(e.hasDragged=!0,ls+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&P(e.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a,n=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),S((a=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&w(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&C(this.zoomedMin)&&C(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){O(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&O(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},o=s.enabled,r=i&&e.height||0,a=o&&s.height||0,l=s.buttonsEnabled&&a||0,h=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=o,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=h.baseSeries,c=n.xAxis.length,p=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,h.navigatorEnabled?(g=this.getXAxisOffsets(),h.xAxis=new x(n,M({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:r}:{offsets:g,height:r}),"xAxis"),h.yAxis=new x(n,M(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:P(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||e.series.data?h.updateNavigatorSeries(!1):0===n.series.length&&(h.unbindRedraw=b(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,o){let r=this,a=r.chart,n=r.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},h=r.series=(r.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(O(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=r.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=v({color:t.color,visible:t.visible},y(p)?g.navigator.series:p);var s;e&&!1===r.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=E(i.dataLabels),(c=M(d,l,i,u)).pointRange=P(i.pointRange,u.pointRange,g.plotOptions[c.type||"line"].pointRange),s=u.data||i.data,r.hasNavigatorData=r.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,o):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,h.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!y(p)||(r.hasNavigatorData=!1,(p=E(p)).forEach((t,e)=>{l.name="Navigator "+(h.length+1),(c=M(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},l,t)).data=t.data,c.data&&(r.hasNavigatorData=!0,h.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(b(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(b(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(b(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(b(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),S(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,c=P(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(h&&(t=(e=a)+l),d&&(t=n+c,h||(e=Math.max(a,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&C(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=P(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!C(i)||!C(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let r,o=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:l,extend:h,isNumber:d,merge:c,pick:p,pushUnique:u}=i,g=[];function x(){function t(t,e){let i="year"===r?"FullYear":"Month",s=new a.Date(t),o=a.get(i,s);return a.set(i,s,o+e),o===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,r=s.type,o=this.max,a=this.chart.time;d(s)?(e=o-s,i=s):s&&(e=o+t(o,-(s.count||1)),this.chart&&this.chart.setFixedRange(o-e));var n=p(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,p(this.dataMax,Number.MAX_VALUE))),d(o)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function f(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new r(this))}function m(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function b(){let s,o=this.rangeSelector;if(o){let t=this.xAxis[0].getExtremes(),e=this.legend,i=o&&o.options.verticalAlign;d(t.min)&&o.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=c(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=o.getHeight(),e.group.placed=!1,e.align(s))}}function v(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function y(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function M(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;e&&e.enabled&&!l(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new r(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o&&(t=e&&e.verticalAlign||o.options&&o.options.verticalAlign,o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(r=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=x,n(i,"afterGetContainer",f),n(i,"beforeRender",m),n(i,"destroy",v),n(i,"getMargins",y),n(i,"redraw",b),n(i,"update",M),t.callbacks.push(b),h(o,{rangeSelector:s.rangeSelector}),h(o.lang,s.lang)}}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,p,u,e){var i;let{addEvent:o,correctFloat:h,css:v,defined:y,error:M,isNumber:s,pick:k,timeUnits:A,isString:r}=e;{var a=i=i||{};function n(t,e,h,i,s=[],o=0,r){let d={},c=this.options.tickPixelInterval,a=this.chart.time,n=[],l,p,u,g,x,f=0,m=[],b=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var v=s.length;for(l=0;lh,s[l]5*o||x){if(s[l]>b){for(p=a.getTimeTicks(t,s[f],s[l],i);p.length&&p[0]<=b;)p.shift();p.length&&(b=p[p.length-1]),n.push(m.length),m=m.concat(p)}f=l+1}if(x)break}if(p){if(g=p.info,r&&g.unitRange<=A.hour){for(f=1,l=m.length-1;ft-e),(a=i[Math.floor(i.length/2)])<.6*c&&(a=null),l=m[t-1]>h?t-1:t,r=void 0;l--;)n=Math.abs(r-(o=e[l])),r&&n<.8*c&&(null===a||n<.8*a)?(d[m[l]]&&!d[m[l+1]]?(s=l+1,r=o):s=l,m.splice(s,1)):r=o}return m}function l(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,o=e.getExtendedPositions();if(o&&o.length){var r,a,n=h((t-i)*s+this.minPixelPadding),n=h(e.getIndexOfPoint(n,o)),l=h(n%1);if(0<=n&&n<=o.length-1)return r=o[Math.floor(n)],a=o[Math.ceil(n)],o[Math.floor(n)]+l*(a-r)}return t}function c(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function x(){var{eventArgs:t,options:e}=this;this.isXAxis&&y(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&y(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function f(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function m(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function b(t){let x=this.xAxis[0],f=x.ordinal.convertOverscroll(x.options.overscroll),m=t.originalEvent.chartX,e=this.options.chart.panning,b=!1;if(e&&"y"!==e.type&&x.options.ordinal&&x.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=x.getExtremes(),o=s.dataMin,r=s.dataMax,a=s.min,n=s.max,l=this.hoverPoints,h=x.closestPointRange||x.ordinal&&x.ordinal.overscrollPointsRange,d=Math.round((i-m)/(x.translationSlope*(x.ordinal.slope||h))),c=x.ordinal.getExtendedPositions(),p={ordinal:{positions:c,extendedOrdinalPositions:c}},u=x.index2val,g=x.val2lin;if(a<=o&&d<0||r<=n+f&&0(e=p.ordinal.positions)[e.length-1]&&e.push(r),this.setFixedRange(n-a),(t=x.navigatorAxis.toFixedRange(void 0,void 0,u.apply(p,[g.apply(p,[a,!0])+d]),u.apply(p,[g.apply(p,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(r,n)+f&&x.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=m,v(this.container,{cursor:"move"})):b=!0}else b=!0;b||e&&/y/.test(e.type)?f&&(x.max=x.dataMax+f):t.preventDefault()}function S(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function w(t,e){let i,s=this.ordinal,o=s.positions,r=s.slope,a;if(!o)return t;var n=o.length;if(o[0]<=t&&o[n-1]>=t)i=c(o,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,l=(r=r||(a[n-1]-a[0])/n,c(a,o[0]));if(t>=a[0]&&t<=a[n-1])i=c(a,t)-l;else{if(!e)return t;i=th||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===n?x=g[1]-g[0]:1===n?(x=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+x]):x=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=x,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=k(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{var e=t.points?.[0];y(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,o=e.x)}),i=i??s.minPixelPadding;var r=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=h((t-i)/r);return C.findIndexOf(e,o,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],o=t.dataMax;if(y(i))for(;o<=t.dataMax+e;)s.push(o+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return k(i.originalOrdinalRange,y(s.dataMax)&&y(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var o;return r(t)?(o=parseInt(t,10),/%$/.test(t)?e(o/100):/px/.test(t)?e((o=Math.min(o,.9*s.len)/s.len)/(1-o)):0):t}}a.Additions=C}return i}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(b,t,f,i,s,e,C){let P=t["defaultOptions"],{addEvent:v,createElement:m,css:O,defined:y,destroyObjectProperties:o,discardElement:r,extend:M,fireEvent:k,isNumber:E,merge:A,objectEach:a,pad:n,pick:S,pInt:l,splat:w}=e;class h{static compose(t,e){i.compose(t,e,h)}constructor(t){this.buttonOptions=h.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,l=r.dataMin,h=r.dataMax,d,c=o&&Math.round(Math.min(o.max,S(h,o.max))),p,u=s._range,g,x,f,m=!0;if(null!==l&&null!==h){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,b.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(x={range:s,max:c,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(x),E(x.newMax)&&(c=x.newMax),m=!1):u=s;else if(u)c=Math.min((d=Math.max(c-u,l))+u,h),m=!1;else if("ytd"===a){if(!o)return void(this.deferredYTDClick=t);void 0!==h&&void 0!==l||(l=Number.MAX_VALUE,h=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(l=Math.min(t[0],l),h=Math.max(t[t.length-1],h))}),e=!1),d=g=(f=this.getYTDExtremes(h,l,i.time.useUTC)).min,c=f.max}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,c=h);if(m&&s._offsetMin&&y(d)&&(d+=s._offsetMin),s._offsetMax&&y(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)o.setExtremes(d,c,S(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{p=w(i.options.xAxis)[0];let e=v(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});v(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=p.range,t.options.min=p.min,e()})}k(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&k(t,"blur"),e&&e.blur&&k(e,"blur")}let i=this,s=e.options.rangeSelector,o=s.buttons||i.defaultButtons.slice(),r=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(v(e.container,"mousedown",t)),this.eventsToUnbind.push(v(e,"resize",t)),o.forEach(i.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(v(e,"load",function(){e.xAxis&&e.xAxis[0]&&v(e.xAxis[0],"setExtremes",function(t){E(this.max)&&E(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let p=this,t=this.chart,s=this.dropdown,o=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),x=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,f=e.dataMin,m=e.dataMax,i=p.getYTDExtremes(m,f,t.time.useUTC),b=i.min,v=i.max,y=p.selected,M=p.options.allButtonsEnabled,k=Array(p.buttonOptions.length).fill(0),A=E(y),r=p.buttons,S=!1,w=null;p.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,o=t.count||1,r=t._offsetMax-t._offsetMin,a=e===y,n=i>m-f,l=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*o-r&&g-36e5<=864e5*{month:31,year:366}[s]*o+r?d=!0:"ytd"===s?(d=v-b+r===g,h=!a):"all"===s&&(d=u.max-u.min>=m-f);var t=!M&&!(S&&"all"===s)&&(n||l||x),c=S&&"all"===s||!h&&d||a&&p.frozenStates;t?k[e]=3:!c||A&&e!==y||(w=e)}),null!==w?(k[w]=2,p.setSelected(w)):(p.setSelected(),o&&(o.setState(0),o.attr({text:(P.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?l=void 0:la&&(l=a)),void 0!==l&&s.setExtremes(c?l:s.min,c?s.max:l,void 0,void 0,{trigger:"rangeSelectorInput"}))}let l=a[c?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=o.label(l,0).addClass("highcharts-range-label").attr({padding:l?2:0,height:l?r.inputBoxHeight:0}).add(i),u=o.label("",0).addClass("highcharts-range-input").attr({padding:2,width:r.inputBoxWidth,height:r.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(h.styledMode||u.attr({stroke:r.inputBoxBorderColor,"stroke-width":1}),u.add(i),m("input",{name:e,className:"highcharts-range-selector"},void 0,t)),x=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(r.inputDateFormat||"%e %b %Y")),h.styledMode||(p.css(A(s,r.labelStyle)),u.css(A({color:"#333333"},s,r.inputStyle)),O(g,M({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},r.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===f.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{x||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{x=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{x=!1},{dateBox:u,input:g,label:p}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get("FullYear",o),a=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),n=o.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=S(s.chart.style?.zIndex,0)+1;var n;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=m("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(y(t.dataMin)&&y(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=P.lang,r=e.renderer,a=A(i.buttonTheme),n=a&&a.states,l=a.width||28,h=(delete a.width,delete a.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group),this.dropdown=m("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),o=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=r.button("",0,0,()=>{},A(a,{"stroke-width":S(a["stroke-width"],0),width:"auto",paddingLeft:S(i.buttonTheme.paddingLeft,o?.padding,8),paddingRight:S(i.buttonTheme.paddingRight,o?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),v(h,"touchstart",()=>{h.style.fontSize="16px"}),f.isMS?"mouseover":"mouseenter"),c=f.isMS?"mouseout":"mouseleave";v(h,d,()=>{k(this.dropdownLabel.element,d)}),v(h,c,()=>{k(this.dropdownLabel.element,c)}),v(h,"change",()=>{k(this.buttons[h.selectedIndex-1].element,"click")}),this.zoomText=r.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=S(a["stroke-width"],0)),m("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,h),this.buttonOptions.forEach((s,o)=>{m("option",{textContent:s.title||s.text},void 0,h),t[o]=r.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(o),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:l}).add(this.buttonGroup),s.title&&t[o].attr("title",s.title)})}alignElements(){let{buttonGroup:l,buttons:h,chart:d,group:c,inputGroup:p,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:x,inputPosition:f,verticalAlign:m}=u,b=(t,e)=>i&&this.titleCollision(d)&&"top"===m&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,v=d.plotLeft;if(c&&x&&f){let t=x.x-d.spacing[3];if(l){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),h.forEach((t,e)=>{i+=t.width||0,e!==h.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}v-=d.spacing[3];var y=b(l,x);this.alignButtonGroup(y),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),c.placed=l.placed=d.hasLoaded}let e=0,i=(p&&(e=b(p,f),"left"===f.align?t=v:"right"===f.align&&(t=-Math.max(d.axisOffset[1],-e)),p.align({y:f.y,width:p.getBBox().width,align:f.align,x:f.x+t-2},!0,d.spacingBox),p.placed=d.hasLoaded),this.handleCollision(e),c.align({verticalAlign:m},!0,d.spacingBox),c.alignAttr.translateY),s=c.getBBox().height+20,o=0;"bottom"===m&&(y=d.legend&&d.legend.options,o=i-(s=s+(y&&"bottom"===y.verticalAlign&&y.enabled&&!y.floating?d.legend.legendHeight+S(y.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===m?(u.floating&&(o=0),d.titleOffset&&d.titleOffset[0]&&(o=d.titleOffset[0]),o+=d.margin[0]-d.spacing[0]||0):"middle"===m&&(f.y===x.y?o=i:(f.y||x.y)&&(f.y<0||x.y<0?o-=Math.min(f.y,x.y):o=i-s)),c.translate(u.x,u.y+Math.floor(o));let{minInput:r,maxInput:a,dropdown:n}=this;u.inputEnabled&&r&&a&&(r.style.marginTop=c.translateY+"px",a.style.marginTop=c.translateY+"px"),n&&(n.style.marginTop=c.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,r=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-a:"center"===r.align&&(n-=a/2),o&&o.align({y:r.y,width:S(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,o=t.hasLoaded?"animate":"attr",r=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[o]({x:S(a+r.x,a)}),n+=r.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!r)&&(e=a.alignAttr.translateX+a.alignOptions.x-o+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=r.alignAttr.translateX+r.getBBox().x)+t&&s{a&&r&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-o?0:-o),translateY:a.alignAttr.translateY+r.getBBox().height+10})};if(r){if("always"===e)return this.collapseButtons(),void(s(i())&&h());"never"===e&&this.expandButtons()}a&&r?l.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&h()):h():"responsive"===e&&this.expandButtons():r&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var o,r;t&&s&&({translateX:r=0,translateY:o=0}=t,r=e.plotLeft+r,i.attr({x:r,y:o}).show(),O(s,{left:r+"px",top:o+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),O(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;var l=Math.min(a,r);return(a<0&&r<0||0t()),i.eventsToUnbind=void 0),o(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof window.HTMLElement&&r(t)),t!==h.prototype[e]&&(i[e]=null)},this)}}return M(h.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),h}),e(t,"Series/PathUtilities.js",[],function(){function h(e,i){let s=[];for(let t=0;t>1].xMin))o=1+a;else{if(!(n<0))return a;r=a-1}return 0=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return-1}function B(e){let i=[];if(e.length){i.push(["M",e[0].start.x,e[0].start.y]);for(let t=0;tP(e.y-t.y))?"x":"y",h,d,c,p;function u(t,e,i,s,o){let r={x:t.x,y:t.y};return r[e]=i[s||e]+(o||0),r}function g(t,e,i){var s=P(e[i]-t[i+"Min"])>P(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}return p=-1=t[l]==d[l]>=p[l]&&(c=t[l="y"===l?"x":"y"]P(e.y-t.y)),s=i?"x":"y",o=[],r=g.obstacleMetrics,x=w(t.x,e.x)-r.maxWidth-10,f=C(t.x,e.x)+r.maxWidth+10,m=w(t.y,e.y)-r.maxHeight-10,b=C(t.y,e.y)+r.maxHeight+10,a,n,l,v=!1,y=g.chartObstacles,h=O(y,f),d=O(y,x);function M(t,e,i){let s,o,r,a;var n=t.x=s.x);){if(y[l].xMin<=o.x&&y[l].xMax>=s.x&&y[l].yMin<=r.y&&y[l].yMax>=a.y)return i?{y:t.y,x:t.x=r[n+"Max"],c=t[n+"Min"]<=r[n+"Min"],p=t[n+"Max"]>=a[n+"Max"],u=t[n+"Min"]<=a[n+"Min"],g=P(t[n+"Min"]-e[n]),x=P(t[n+"Max"]-e[n]),f=P(g-x)<10?e[n]Math.PI;)u-=s;return g=Math.tan(u),u>-n&&u<=n?(m=-1,x=!0):u>n&&u<=Math.PI-n?m=-1:u>Math.PI-n||u<=-(Math.PI-n)?(f=-1,x=!0):f=-1,x?(p.x+=f*l,p.y+=m*l*g):(p.x+=a/(2*g)*f,p.y+=m*h),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}}),e(t,"Gantt/Pathfinder.js",[t["Gantt/Connection.js"],t["Gantt/PathfinderAlgorithms.js"],t["Gantt/PathfinderComposition.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(n,t,i,l,e){let{addEvent:s,defined:o,pick:h,splat:d}=e,c=Math.max,p=Math.min;class r{static compose(t,e){i.compose(t,r,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],s(t,"redraw",function(){this.pathfinder.update()})}update(t){let o=this.chart,r=this,a=r.connections;r.connections=[],o.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(e){let i,t=e.options,s=(t&&t.dependency&&(t.connect=t.dependency),e.options?.connect&&d(e.options.connect));e.visible&&!1!==e.isInside&&s&&s.forEach(function(t){(i=o.get("string"==typeof t?t:t.to))instanceof l&&i.series.visible&&i.visible&&!1!==i.isInside&&r.connections.push(new n(e,i,"string"==typeof t?{}:t))})})});for(let t=0,i,s,e=a.length,o=r.connections.length;ti.yMin-s&&e.yMin-si.xMin-s&&e.xMin-si.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,n=r?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return r&&o?s?t(e,i,Math.floor(s/2)):1/0:p(a,n)}(i[e],i[t]))<80&&r.push(s);return r.push(80),c(Math.floor(r.sort(function(t,e){return t-e})[Math.floor(r.length/10)]/2-1),1)}(n),n.forEach(function(t){t.xMin-=e,t.xMax+=e,t.yMin-=e,t.yMax+=e})),n}getObstacleMetrics(t){let e=0,i=0,s,o,r=t.length;for(;r--;)s=t[r].xMax-t[r].xMin,o=t[r].yMax-t[r].yMin,e{point.x} - {point.x2}
    ',pointFormat:' {series.name}: {point.yCategory}
    '},borderRadius:3,pointRange:0}}),e(t,"Series/XRange/XRangePoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["column"],s=e["extend"];class o extends i{static getColorByCategory(t,e){var i=t.options.colors||t.chart.options.colors,t=i?i.length:t.chart.options.chart.colorCount,e=e.y%t;return{colorIndex:e,color:i&&i[e]}}resolveColor(){var t,e=this.series;e.options.colorByPoint&&!this.options.color?(t=o.getColorByCategory(e,this),e.chart.styledMode||(this.color=t.color),this.options.colorIndex||(this.colorIndex=t.colorIndex)):this.color=this.options.color||e.color}constructor(t,e){super(t,e),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let t=super.getLabelConfig.call(this),e=this.series.yAxis.categories;return t.x2=this.x2,t.yCategory=this.yCategory=e&&e[this.y],t.key=this.category||this.name,t}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}return s(o.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]}),o}),e(t,"Series/XRange/XRangeSeries.js",[t["Core/Globals.js"],t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"],t["Series/XRange/XRangeSeriesDefaults.js"],t["Series/XRange/XRangePoint.js"]],function(t,e,i,s,o,r){let{composed:a,noop:n}=t,x=e["parse"],l=i.seriesTypes["column"],{addEvent:h,clamp:G,crisp:D,defined:I,extend:d,find:c,isNumber:R,isObject:j,merge:L,pick:N,pushUnique:p,relativeLength:z}=s;function u(){let t,e;if(this.isXAxis){for(var i of(t=N(this.dataMax,-Number.MAX_VALUE),this.series))if(i.x2Data)for(var s of i.x2Data)s&&s>t&&(t=s,e=!0);e&&(this.dataMax=t)}}class g extends l{static compose(t){p(a,"Series.XRange")&&h(t,"afterGetSeriesExtremes",u)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){var t=()=>{for(var t of this.chart.series){var e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}},e=(t(),super.getColumnMetrics());return t(),e}cropData(t,e,i,s){let o=super.cropData(this.x2Data,e,i,s);return o.xData=t.slice(o.start,o.end),o}findPointIndex(e){let t,{cropStart:i,points:s}=this,o=e["id"];var r;return o&&(r=c(s,t=>t.id===o),t=r?r.index:void 0),void 0===t&&(r=c(s,t=>t.x===e.x&&t.x2===e.x2&&!t.touched),t=r?r.index:void 0),this.cropped&&R(t)&&R(i)&&t>=i&&(t-=i),t}alignDataLabel(t){var e=t.plotX;t.plotX=N(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:t.shapeArgs.width+"px"}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,o=this.options,r=o.minPointLength||0,a=(t.shapeArgs&&t.shapeArgs.width||0)/2,n=this.pointXOffset=s.offset,l=N(t.x2,t.x+(t.len||0)),h=o.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(l,0,0,0,1),g=Math.abs(u-p),x=this.chart.inverted,f=N(o.borderWidth,1),m,b,v=s.offset,y=Math.round(s.width),M,k,A,S;r&&((m=r-g)<0&&(m=0),p-=m/2,u+=m/2),p=Math.max(p,-10),u=G(u,-10,e.len+10),I(t.options.pointWidth)&&(v-=(Math.ceil(t.options.pointWidth)-y)/2,y=Math.ceil(t.options.pointWidth)),o.pointPlacement&&R(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,o.pointPlacement));var w=D(Math.min(p,u),f),C=D(Math.max(p,u),f)-w,P=Math.min(z("object"==typeof h?h.radius:h||0,y),Math.min(C,y)/2),w={x:w,y:D((t.plotY||0)+v,f),width:C,height:y,r:P};t.shapeArgs=w,x?t.tooltipPos[1]+=n+a:t.tooltipPos[0]-=a+n-w.width/2,k=(M=w.x)+w.width,M<0||k>e.len?(M=G(M,0,e.len),A=(k=G(k,0,e.len))-M,t.dlBox=L(w,{x:M,width:k-M,centerX:A?A/2:null})):t.dlBox=null;let O=t.tooltipPos,E=x?1:0,B=x?0:1,T=this.columnMetrics?this.columnMetrics.offset:-s.width/2;x?O[E]+=w.width/2:O[E]=G(O[E]+(e.reversed?-1:0)*w.width,e.left-c,e.left+e.len-c-1),O[B]=G(O[B]+(x?-1:1)*T,i.top-d,i.top+i.len-d-1),(b=t.partialFill)&&(j(b)&&(b=b.amount),R(b)||(b=0),t.partShapeArgs=L(w),S=Math.max(Math.round(g*b+t.plotX-p),0),t.clipRectArgs={x:e.reversed?w.x+g-S:w.x,y:w.y,width:S,height:w.height})}translate(){for(var t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeType,r=t.shapeArgs,a=t.partShapeArgs,n=t.clipRectArgs,l=t.state,h=i.states[l||"normal"]||{},d=void 0===l?"attr":e,c=this.pointAttribs(t,l),p=N(this.chart.options.chart.animation,h.animation),u=t.graphic,g=t.partialFill;t.isNull||!1===t.visible?u&&(t.graphic=u.destroy()):(u?u.rect[e](r):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[o](L(r)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),a&&(u.partRect?(u.partRect[e](L(a)),u.partialClipRect[e](L(n))):(u.partialClipRect=s.clipRect(n.x,n.y,n.width,n.height),u.partRect=s[o](a).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),a)&&(j(g)||(g={}),e=(g=j(i.partialFill)?L(i.partialFill,g):g).fill||x(c.fill).brighten(-.3).get()||x(t.color||this.color).brighten(-.3).get(),c.fill=e,u.partRect[d](c,p).shadow(i.shadow)))}drawPoints(){var t,e=this.getAnimationVerb();for(t of this.points)this.drawPoint(t,e)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){var e=t.shapeArgs,i=t.plotX,t=t.plotY;return e?void 0!==i&&void 0!==t&&0<=t&&t<=this.yAxis.len&&0<=(e.x||0)+(e.width||0)&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return g.defaultOptions=L(l.defaultOptions,o),d(g.prototype,{pointClass:r,pointArrayMap:["x2","y"],getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:i.series.prototype.animate,autoIncrement:n,buildKDTree:n}),i.registerSeriesType("xrange",g),g}),e(t,"masters/modules/xrange.src.js",[t["Core/Globals.js"],t["Series/XRange/XRangeSeries.js"]],function(t,e){return e.compose(t.Axis),t}),e(t,"Series/Gantt/GanttPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["xrange"],s=e["pick"];class o extends i{static setGanttPointAliases(i){function t(t,e){void 0!==e&&(i[t]=e)}t("x",s(i.start,i.x)),t("x2",s(i.end,i.x2)),t("partialFill",s(i.completed,i.partialFill))}applyOptions(t,e){t=super.applyOptions(t,e);return o.setGanttPointAliases(t),t}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}return o}),e(t,"Series/Gantt/GanttSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let d=t["isNumber"];return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
    ',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,o=t.tooltipOptions,r=this.options.milestone,a=o.xDateFormat,n=""+(this.name||this.yCategory)+"";if(o.pointFormat)return this.tooltipFormatter(o.pointFormat);!a&&d(this.start)&&(a=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));var l=t.chart.time.dateFormat(a,this.start),h=t.chart.time.dateFormat(a,this.end);return n=n+"
    "+(r?l+"
    ":"Start: "+l+"
    End: "+h+"
    ")}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}}),e(t,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(l,t){var e;let{addEvent:s,find:i,fireEvent:u,isArray:o,isNumber:g,pick:x}=t;{function r(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function a(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function n(){let s=this.brokenAxis;if(s?.hasBreaks){let e=this.tickPositions,t=this.tickPositions.info,i=[];for(let t=0;te.to||r>e.from&&ae.from&&ae.from&&a>e.to&&ar&&i>=this.basePointRange&&(r=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>r&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][n]=new l(o,o.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",h),s(e,"afterInit",r),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=p,t.gappedPath=f,s(i,"afterGeneratePoints",d),s(i,"afterRender",c)}return e};class m{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,o=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=o:s=s);r++)(o.to=t)break;if(m.isInBreak(o,t)){s-=t-o.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)h-=a;for(;h{t.getOffset()})}i&&t.apply(this)}function f(f){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:e,horiz:i,left:s,offset:o,opposite:r,options:a,top:n,width:l}=this,h=this.tickSize(),d=t&&t.getBBox().width,c=a.title.x,p=a.title.y,u=m(a.title.margin,i?5:10),g=t?this.chart.renderer.fontMetrics(t).f:0,x=(i?n+e:s)+(i?1:-1)*(r?-1:1)*(h?h[0]/2:0)+(this.side===b.bottom?g:0);f.titlePosition.x=i?s-(d||0)/2-u+c:x+(r?l:0)+o+c,f.titlePosition.y=i?x-(r?e:0)+(r?g:-g)/2+o+p:n-u+p}}function y(){var{chart:o,options:{grid:r={}},userOptions:a}=this;if(r.enabled){var e=this;let t=e.options;t.labels.align=m(t.labels.align,"center"),e.categories||(t.showLastLabel=!1),e.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}if(r.columns){let i=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++st.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;for(var n=this.tickmarkOffset,l=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[s].label)&&(n{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!o(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||1t.setScale())}function C(t){var e,{horiz:i,maxLabelDimensions:s,options:{grid:o={}}}=this;o.enabled&&s&&(e=2*this.options.labels.distance,i=i?o.cellHeight||e+s.height:e+s.width,r(t.tickSize)?t.tickSize[0]=i:t.tickSize=[i,0])}function P(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function O(e){let t=this["grid"];(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function E(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&o(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new I(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function B(o){let r=this.label,a=this.axis,n=a.reversed,l=a.chart,t=a.options.grid||{},h=a.options.labels,d=h.align,c=b[a.side],e=o.tickmarkOffset,i=a.tickPositions,p=this.pos-e,u=v(i[o.index+1])?i[o.index+1]-e:(a.max||0)+e,s=a.tickSize("tick"),g=s?s[0]:0,x=s?s[1]/2:0;if(!0===t.enabled){let t,e,i,s;var f,m;"top"===c?e=(t=a.top+a.offset)-g:"bottom"===c?t=(e=l.chartHeight-a.bottom+a.offset)+g:(t=a.top+a.len-(a.translate(n?u:p)||0),e=a.top+a.len-(a.translate(n?p:u)||0)),"right"===c?s=(i=l.chartWidth-a.right+a.offset)+g:"left"===c?i=(s=a.left+a.offset)-g:(i=Math.round(a.left+(a.translate(n?u:p)||0))-x,s=Math.min(Math.round(a.left+(a.translate(n?p:u)||0))-x,a.left+a.len)),this.slotWidth=s-i,o.pos.x="left"===d?i:"right"===d?s:i+(s-i)/2,o.pos.y=e+(t-e)/2,r&&(f=l.renderer.fontMetrics(r),m=r.getBBox().height,h.useHTML?o.pos.y+=f.b+-m/2:(m=Math.round(m/f.h),o.pos.y+=(f.b-(f.h-f.f))/2+-((m-1)*f.h)/2)),o.pos.x+=a.horiz&&h.x||0}}function T(a){let{axis:n,value:l}=a;if(n.options.grid&&n.options.grid.enabled){let t,e=n.tickPositions,i=(n.linkedParent||n).series[0],s=l===e[0],o=l===e[e.length-1],r=i&&d(i.options.data,function(t){return t[n.isXAxis?"x":"y"]===l});r&&i.is("gantt")&&(t=c(r),h.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(t)),a.isFirst=s,a.isLast=o,a.point=t}}function G(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],a=s[s.length-1],n=s[s.length-2],l=this.linkedParent&&this.linkedParent.min,h=this.linkedParent&&this.linkedParent.max,d=l||this.min,c=h||this.max,p=this.tickInterval,u=v(d)&&o+p<=d&&d{t.side!==i.side||t.options.isInternal||(a=e,t===o&&(r=e))}),a===r&&(!v(e)||s.length===e))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,o=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}return t.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},t.W=function(t){let e=this,i=new this.Date(t),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(t){e.set(t,i,0)}),(this.get("Day",i)+6)%7),o=new this.Date(i.valueOf()),r=(this.set("Date",o,this.get("Date",i)-s+3),new this.Date(this.get("FullYear",o),0,1));return 4!==this.get("Day",r)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",r))%7)),(1+Math.floor((o.valueOf()-r.valueOf())/6048e5)).toString()},{compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=g,a(t.prototype,"unsquish",D),a(t.prototype,"getOffset",x),s(t,"init",E),s(t,"afterGetTitlePosition",f),s(t,"afterInit",y),s(t,"afterRender",M),s(t,"afterSetAxisTranslation",k),s(t,"afterSetOptions",A),s(t,"afterSetOptions",S),s(t,"afterSetScale",w),s(t,"afterTickSize",C),s(t,"trimTicks",G),s(t,"destroy",O),s(e,"afterSetChartSize",P),s(i,"afterGetLabelPosition",B),s(i,"labelFormat",T)),t}}}),e(t,"Gantt/Tree.js",[t["Core/Utilities.js"]],function(t){let{extend:u,isNumber:g,pick:x}=t;function f(s,t,o,e,r,a){let i=a&&a.after,n=a&&a.before,l={data:e,depth:o-1,id:s,level:o,parent:t||""},h=0,d=0,c,p;"function"==typeof n&&n(l,a);t=(r[s]||[]).map(t=>{var e=f(t.id,s,o+1,t,r,a),i=t.start||NaN,t=!0===t.milestone?i:t.end||NaN;return c=!g(c)||ip?t:p,h=h+1+e.descendants,d=Math.max(e.height+1,d),e});return e&&(e.start=x(e.start,c),e.end=x(e.end,p)),u(l,{children:t,descendants:h,height:d}),"function"==typeof i&&i(l,a),l}return{getNode:f,getTree:function(t,e){return f("",null,1,null,function(){let o=[],i=t.reduce((t,e)=>{var{parent:i="",id:s}=e;return void 0===t[i]&&(t[i]=[]),t[i].push(e),s&&o.push(s),t},{});return Object.keys(i).forEach(t=>{var e;""!==t&&-1===o.indexOf(t)&&(e=i[t].map(function(t){let{...e}=t;return e}),i[""].push(...e),delete i[t])}),i}(),e)}}}),e(t,"Core/Axis/TreeGrid/TreeGridTick.js",[t["Core/Utilities.js"]],function(t){let{addEvent:C,removeEvent:P,isObject:O,isNumber:E,pick:B,wrap:i}=t;function s(){this.treeGrid||(this.treeGrid=new e(this))}function o(t,e,i,s,o,r,a,n,l){let h=B(this.options&&this.options.labels,r),d=this.pos,c=this.axis,p="treegrid"===c.type,u=t.apply(this,[e,i,s,o,h,a,n,l]);return p&&({width:r=0,padding:t=c.linkedParent?0:5}=h&&O(h.symbol,!0)?h.symbol:{},e=h&&E(h.indentation)?h.indentation:0,o=(s=(i=c.treeGrid.mapOfPosToGridNode)&&i[d])&&s.depth||1,u.x+=r+2*t+(o-1)*e),u}function r(p){let{pos:t,axis:e,label:u,treeGrid:i,options:s}=this,o=i?.labelIcon,r=u?.element,{treeGrid:a,options:n,chart:l,tickPositions:h}=e,d=a.mapOfPosToGridNode,c=B(s?.labels,n?.labels),g=c&&O(c.symbol,!0)?c.symbol:{},x=d&&d[t],{descendants:f,depth:m}=x||{},b=x&&f&&0{t&&!t.attachedTreeGridEvents&&(C(t.element,"mouseover",function(){u.addClass("highcharts-treegrid-node-active"),u.renderer.styledMode||u.css({textDecoration:"underline"})}),C(t.element,"mouseout",function(){var t=u,e=c;e=O(e.style)?e.style:{},t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:e.textDecoration||"none"})}),C(t.element,"click",function(){i.toggleCollapse()}),t.attachedTreeGridEvents=!0)})}else o&&(P(r),u?.css({cursor:"default"}),o.destroy())}class e{static compose(t){let e=t.prototype;e.toggleCollapse||(C(t,"init",s),i(e,"getLabelPosition",o),i(e,"renderLabel",r),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.collapse(o),s.setBreaks(o,B(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;var a;o&&r&&(a=r[e],a=s.expand(a),o.setBreaks(a,B(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.toggleCollapse(o),s.setBreaks(o,B(t,!0)))}}return class{static compose(t){let e=t.prototype;e.toggleCollapse||(C(t,"init",s),i(e,"getLabelPosition",o),i(e,"renderLabel",r),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.collapse(o),s.setBreaks(o,B(t,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;var a;o&&r&&(a=r[e],a=s.expand(a),o.setBreaks(a,B(t,!0)))}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=e.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.toggleCollapse(o),s.setBreaks(o,B(t,!0)))}}}),e(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(b,t){let{extend:p,isArray:l,isNumber:h,isObject:d,merge:c,pick:v,relativeLength:o}=t;return{getColor:function(t,e){let i,s,o,r,a,n,l=e.index,h=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,x=p.points,f=p.chart.options.chart;return t&&(i=x[t.i],s=h[t.level]||{},i&&s.colorByPoint&&(r=i.index%(u?u.length:f.colorCount),o=u&&u[r]),p.chart.styledMode||(a=v(i&&i.options.color,s&&s.color,o,d&&(t=d,(m=s&&s.colorVariation)&&"brightness"===m.key&&l&&g?b.parse(t).brighten(m.to*(l/g)).get():t),p.color)),n=v(i&&i.options.colorIndex,s&&s.colorIndex,r,c,e.colorIndex)),{color:a,colorIndex:n};var m},getLevelOptions:function(t){let r,e,i,a,s,o,n={};if(d(t))for(a=h(t.from)?t.from:1,o=t.levels,e={},r=d(t.defaults)?t.defaults:{},l(o)&&(e=o.reduce((t,e)=>{let i,s,o;return d(e)&&h(e.level)&&(s=v((o=c({},e)).levelIsConstant,r.levelIsConstant),delete o.levelIsConstant,delete o.level,d(t[i=e.level+(s?0:a-1)])?c(!0,t[i],o):t[i]=o),t},{})),s=h(t.to)?t.to:1,i=0;i<=s;i++)n[i]=c({},r,d(e[i])?e[i]:{});return n},getNodeWidth:function(t,e){var{chart:t,options:i}=t,{nodeDistance:i=0,nodeWidth:s=0}=i,{plotSizeX:t=1}=t;if("auto"!==s)return o(s,t);if("string"==typeof i&&/%$/.test(i))return t/(e+parseFloat(i)/100*(e-1));s=Number(i);return(t+s)/(e||1)-s},setTreeValues:function s(o,r){let t=r.before,e=r.idRoot,i=r.mapIdToNode[e],a=!1!==r.levelIsConstant,n=r.points[o.i],l=n&&n.options||{},h=[],d=0;o.levelDynamic=o.level-(a?0:i.level),o.name=v(n&&n.name,""),o.visible=e===o.id||!0===r.visible,(o="function"==typeof t?t(o,r):o).children.forEach((t,e)=>{var i=p({},r);p(i,{index:e,siblings:o.children.length,visible:o.visible}),t=s(t,i),h.push(t),t.visible&&(d+=t.val)});var c=v(l.value,d);return o.visible=0<=c&&(0"treegrid"===t.type).forEach(function(t){let e=t.options||{},i=e.labels,s=t.uniqueNames,o=e.max,r=!t.treeGrid.mapOfPosToGridNode||t.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),a=0,n,l;if(r){if(n=t.series.reduce(function(e,i){return i.visible&&((i.options.data||[]).forEach(function(t){i.options.keys&&i.options.keys.length&&(t=i.pointClass.prototype.optionsToObject.call({series:i},t),i.pointClass.setGanttPointAliases(t)),g(t,!0)&&(t.seriesIndex=a,e.push(t))}),!0===s&&a++),e},[]),o&&n.lengthe.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),l(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=f({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}},uniqueNames:!1},i,{reversed:!0})),t.apply(o,[e,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function S(t){let e=this.options,i="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;var s;"treegrid"===this.type?(this.min=m(this.userMin,e.min,this.dataMin),this.max=m(this.userMax,e.max,this.dataMax),c(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i&&(s=i.getExtremes(),this.min=m(s.min,s.dataMin),this.max=m(s.max,s.dataMax),this.tickPositions=i.tickPositions),this.linkedParent=i):t.apply(this,Array.prototype.slice.call(arguments,1))}function w(t){let i=this;"treegrid"===this.type&&i.visible&&i.tickPositions.forEach(function(t){let e=i.ticks[t];e.label&&e.label.attachedTreeGridEvents&&(s(e.label.element),e.label.attachedTreeGridEvents=!1)}),t.apply(i,Array.prototype.slice.call(arguments,1))}class C{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),b(t,"generateTick",k),b(t,"init",A),b(t,"setTickInterval",S),b(t,"redraw",w),t.utils={getNode:a.getNode},h=h||s}return r.compose(e,t,s),o.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(o){let t=this.axis,r=t.chart;t.series.forEach(function(i){var s=i.options.data;if(o.id&&s){let t=r.get(o.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=o.collapsed,e.collapsed=o.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,o=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){e=+e;return!(e>=s&&e<=o)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}return class{static compose(e,t,i,s){if(!e.keepProps.includes("treeGrid")){let t=e.prototype;e.keepProps.push("treeGrid"),b(t,"generateTick",k),b(t,"init",A),b(t,"setTickInterval",S),b(t,"redraw",w),t.utils={getNode:a.getNode},h=h||s}return r.compose(e,t,s),o.compose(e,i),n.compose(s),e}constructor(t){this.axis=t}setCollapsedStatus(o){let t=this.axis,r=t.chart;t.series.forEach(function(i){var s=i.options.data;if(o.id&&s){let t=r.get(o.id),e=s[i.data.indexOf(t)];t&&e&&(t.collapsed=o.collapsed,e.collapsed=o.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return e.to===s.to&&e.from===s.from||t.push(e),t},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,o=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(t,e){return!((e=+e)>=s&&e<=o)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(e)||t.push(e),t},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=v(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}}),e(t,"Series/Gantt/GanttSeries.js",[t["Series/Gantt/GanttPoint.js"],t["Series/Gantt/GanttSeriesDefaults.js"],t["Gantt/Pathfinder.js"],t["Core/Series/SeriesRegistry.js"],t["Extensions/StaticScale.js"],t["Core/Axis/TreeGrid/TreeGridAxis.js"],t["Core/Utilities.js"]],function(t,e,o,i,r,a,s){let{series:n,seriesTypes:{xrange:l}}=i,{extend:h,isNumber:d,merge:c}=s;class p extends l{static compose(t,e,i,s){l.compose(t),e&&(r.compose(t,e),i)&&(o.compose(e,i.prototype.pointClass),s&&a.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeArgs,r=t.plotY,a=t.selected&&"select",n=i.stacking&&!i.borderRadius,l=t.graphic,h;t.options.milestone?d(r)&&null!==t.y&&!1!==t.visible?(h=s.symbols.diamond(o.x||0,o.y||0,o.width||0,o.height||0),l?l[e]({d:h}):t.graphic=l=s.path(h).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,a)).shadow(i.shadow,null,n)):l&&(t.graphic=l.destroy()):super.drawPoint(t,e)}translatePoint(t){var e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}return p.defaultOptions=c(l.defaultOptions,e),h(p.prototype,{pointArrayMap:["start","end","y"],pointClass:t,setData:n.prototype.setData}),i.registerSeriesType("gantt",p),p}),e(t,"masters/modules/gantt.src.js",[t["Core/Globals.js"],t["Extensions/ArrowSymbols.js"],t["Gantt/Connection.js"],t["Extensions/CurrentDateIndication.js"],t["Core/Chart/GanttChart.js"],t["Stock/Navigator/Navigator.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Series/Gantt/GanttSeries.js"]],function(t,e,i,s,o,r,a,n,l){return t.Connection=t.Connection||i,t.GanttChart=t.GanttChart||o,t.Navigator=t.Navigator||r,t.RangeSelector=t.RangeSelector||a,t.Scrollbar=t.Scrollbar||n,t.ganttChart=t.GanttChart.ganttChart,e.compose(t.SVGRenderer),s.compose(t.Axis,t.PlotLineOrBand),l.compose(t.Axis,t.Chart,t.Series,t.Tick),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/grid-axis.min.js b/assets/js/external/highcharts/modules/grid-axis.min.js index a49efd5..ade3d8f 100644 --- a/assets/js/external/highcharts/modules/grid-axis.min.js +++ b/assets/js/external/highcharts/modules/grid-axis.min.js @@ -1 +1 @@ -!function(i){"object"==typeof module&&module.exports?module.exports=i.default=i:"function"==typeof define&&define.amd?define("highcharts/modules/grid-axis",["highcharts"],function(t){return i(t),i.Highcharts=t,i}):i("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var t=r?r._modules:{};function i(t,i,e,s){t.hasOwnProperty(i)||(t[i]=s.apply(null,e),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Core/Axis/GridAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,l,i){var k;let t=l["dateFormats"],{addEvent:s,defined:r,erase:a,find:d,isArray:o,isNumber:b,merge:c,pick:x,timeUnits:g,wrap:n}=i;function u(t){return i.isObject(t,!0)}function f(o,t){let n={width:0,height:0};return t.forEach(function(t){let i=o[t],e,s=0,r;u(i)&&(e=(r=u(i.label)?i.label:{}).getBBox?r.getBBox().height:0,r.textStr&&!b(r.textPxLength)&&(r.textPxLength=r.getBBox().width),s=b(r.textPxLength)?Math.round(r.textPxLength):0,r.textStr&&(s=Math.round(r.getBBox().width)),n.height=Math.max(e,n.height),n.width=Math.max(s,n.width))}),"treegrid"===this.options.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode&&(t=this.treeGrid.mapOfPosToGridNode[-1].height||0,n.width+=this.options.labels.indentation*(t-1)),n}function p(t){var i=this["grid"],e=3===this.side;if(e||t.apply(this),!i?.isColumn){let t=i?.columns||[];(t=e?t.slice().reverse():t).forEach(t=>{t.getOffset()})}e&&t.apply(this)}function m(m){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:i,horiz:e,left:s,offset:r,opposite:o,options:n,top:h,width:a}=this,l=this.tickSize(),d=t&&t.getBBox().width,c=n.title.x,g=n.title.y,u=x(n.title.margin,e?5:10),f=t?this.chart.renderer.fontMetrics(t).f:0,p=(e?h+i:s)+(e?1:-1)*(o?-1:1)*(l?l[0]/2:0)+(this.side===k.bottom?f:0);m.titlePosition.x=e?s-(d||0)/2-u+c:p+(o?a:0)+r+c,m.titlePosition.y=e?p-(o?i:0)+(o?f:-f)/2+r+g:h-u+g}}function P(){var{chart:r,options:{grid:o={}},userOptions:n}=this;if(o.enabled){var i=this;let t=i.options;t.labels.align=x(t.labels.align,"center"),i.categories||(t.showLastLabel=!1),i.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}if(o.columns){let e=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++st.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,i;for(var h=this.tickmarkOffset,a=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(i=this.hiddenMarks.pop())&&i.element;)i.show();(t=this.ticks[s].label)&&(h{t.options.pointRange=0}),t&&i.dateTimeLabelFormats&&i.labels&&!r(s.align)&&(!1===i.dateTimeLabelFormats[t.unitName].range||1t.setScale())}function O(t){var i,{horiz:e,maxLabelDimensions:s,options:{grid:r={}}}=this;r.enabled&&s&&(i=2*this.options.labels.distance,e=e?r.cellHeight||i+s.height:i+s.width,o(t.tickSize)?t.tickSize[0]=e:t.tickSize=[e,0])}function M(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function T(i){let t=this["grid"];(t.columns||[]).forEach(t=>t.destroy(i.keepEvents)),t.columns=void 0}function W(t){let i=t.userOptions||{},e=i.grid||{};e.enabled&&r(e.borderColor)&&(i.tickColor=i.lineColor=e.borderColor),this.grid||(this.grid=new z(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function A(r){let o=this.label,n=this.axis,h=n.reversed,a=n.chart,t=n.options.grid||{},l=n.options.labels,d=l.align,c=k[n.side],i=r.tickmarkOffset,e=n.tickPositions,g=this.pos-i,u=b(e[r.index+1])?e[r.index+1]-i:(n.max||0)+i,s=n.tickSize("tick"),f=s?s[0]:0,p=s?s[1]/2:0;if(!0===t.enabled){let t,i,e,s;var m,x;"top"===c?i=(t=n.top+n.offset)-f:"bottom"===c?t=(i=a.chartHeight-n.bottom+n.offset)+f:(t=n.top+n.len-(n.translate(h?u:g)||0),i=n.top+n.len-(n.translate(h?g:u)||0)),"right"===c?s=(e=a.chartWidth-n.right+n.offset)+f:"left"===c?e=(s=n.left+n.offset)-f:(e=Math.round(n.left+(n.translate(h?u:g)||0))-p,s=Math.min(Math.round(n.left+(n.translate(h?g:u)||0))-p,n.left+n.len)),this.slotWidth=s-e,r.pos.x="left"===d?e:"right"===d?s:e+(s-e)/2,r.pos.y=i+(t-i)/2,o&&(m=a.renderer.fontMetrics(o),x=o.getBBox().height,l.useHTML?r.pos.y+=m.b+-x/2:(x=Math.round(x/m.h),r.pos.y+=(m.b-(m.h-m.f))/2+-((x-1)*m.h)/2)),r.pos.x+=n.horiz&&l.x||0}}function C(n){let{axis:h,value:a}=n;if(h.options.grid&&h.options.grid.enabled){let t,i=h.tickPositions,e=(h.linkedParent||h).series[0],s=a===i[0],r=a===i[i.length-1],o=e&&d(e.options.data,function(t){return t[h.isXAxis?"x":"y"]===a});o&&e.is("gantt")&&(t=c(o),l.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(t)),n.isFirst=s,n.isLast=r,n.point=t}}function S(){let t=this.options,i=t.grid||{},e=this.categories,s=this.tickPositions,r=s[0],o=s[1],n=s[s.length-1],h=s[s.length-2],a=this.linkedParent&&this.linkedParent.min,l=this.linkedParent&&this.linkedParent.max,d=a||this.min,c=l||this.max,g=this.tickInterval,u=b(d)&&r+g<=d&&d{t.side!==e.side||t.options.isInternal||(n=i,t===r&&(o=i))}),n===o&&(!b(i)||s.length===i))}renderBorder(t){let i=this.axis,e=i.chart.renderer,s=i.options,r=e.path(t).addClass("highcharts-axis-line").add(i.axisGroup);return e.styledMode||r.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),r}}return t.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},t.W=function(t){let i=this,e=new this.Date(t),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(t){i.set(t,e,0)}),(this.get("Day",e)+6)%7),r=new this.Date(e.valueOf()),o=(this.set("Date",r,this.get("Date",e)-s+3),new this.Date(this.get("FullYear",r),0,1));return 4!==this.get("Day",o)&&(this.set("Month",e,0),this.set("Date",e,1+(11-this.get("Day",o))%7)),(1+Math.floor((r.valueOf()-o.valueOf())/6048e5)).toString()},{compose:function(t,i,e){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=f,n(t.prototype,"unsquish",E),n(t.prototype,"getOffset",p),s(t,"init",W),s(t,"afterGetTitlePosition",m),s(t,"afterInit",P),s(t,"afterRender",y),s(t,"afterSetAxisTranslation",v),s(t,"afterSetOptions",w),s(t,"afterSetOptions",L),s(t,"afterSetScale",B),s(t,"afterTickSize",O),s(t,"trimTicks",S),s(t,"destroy",T),s(i,"afterSetChartSize",M),s(e,"afterGetLabelPosition",A),s(e,"labelFormat",C)),t}}}),i(t,"masters/modules/grid-axis.src.js",[t["Core/Globals.js"],t["Core/Axis/GridAxis.js"]],function(t,i){return i.compose(t.Axis,t.Chart,t.Tick),t})}); \ No newline at end of file +!function(i){"object"==typeof module&&module.exports?module.exports=i.default=i:"function"==typeof define&&define.amd?define("highcharts/modules/grid-axis",["highcharts"],function(t){return i(t),i.Highcharts=t,i}):i("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var t=r?r._modules:{};function i(t,i,e,s){t.hasOwnProperty(i)||(t[i]=s.apply(null,e),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Core/Axis/GridAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,l,i){var k;let t=l["dateFormats"],{addEvent:s,defined:r,erase:a,find:d,isArray:o,isNumber:b,merge:c,pick:x,timeUnits:g,wrap:n}=i;function u(t){return i.isObject(t,!0)}function f(o,t){let n={width:0,height:0};return t.forEach(function(t){let i=o[t],e,s=0,r;u(i)&&(e=(r=u(i.label)?i.label:{}).getBBox?r.getBBox().height:0,r.textStr&&!b(r.textPxLength)&&(r.textPxLength=r.getBBox().width),s=b(r.textPxLength)?Math.round(r.textPxLength):0,r.textStr&&(s=Math.round(r.getBBox().width)),n.height=Math.max(e,n.height),n.width=Math.max(s,n.width))}),"treegrid"===this.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode&&(t=this.treeGrid.mapOfPosToGridNode[-1].height||0,n.width+=this.options.labels.indentation*(t-1)),n}function p(t){var i=this["grid"],e=3===this.side;if(e||t.apply(this),!i?.isColumn){let t=i?.columns||[];(t=e?t.slice().reverse():t).forEach(t=>{t.getOffset()})}e&&t.apply(this)}function m(m){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:i,horiz:e,left:s,offset:r,opposite:o,options:n,top:h,width:a}=this,l=this.tickSize(),d=t&&t.getBBox().width,c=n.title.x,g=n.title.y,u=x(n.title.margin,e?5:10),f=t?this.chart.renderer.fontMetrics(t).f:0,p=(e?h+i:s)+(e?1:-1)*(o?-1:1)*(l?l[0]/2:0)+(this.side===k.bottom?f:0);m.titlePosition.x=e?s-(d||0)/2-u+c:p+(o?a:0)+r+c,m.titlePosition.y=e?p-(o?i:0)+(o?f:-f)/2+r+g:h-u+g}}function P(){var{chart:r,options:{grid:o={}},userOptions:n}=this;if(o.enabled){var i=this;let t=i.options;t.labels.align=x(t.labels.align,"center"),i.categories||(t.showLastLabel=!1),i.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}if(o.columns){let e=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++st.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,i;for(var h=this.tickmarkOffset,a=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(i=this.hiddenMarks.pop())&&i.element;)i.show();(t=this.ticks[s].label)&&(h{t.options.pointRange=0}),t&&i.dateTimeLabelFormats&&i.labels&&!r(s.align)&&(!1===i.dateTimeLabelFormats[t.unitName].range||1t.setScale())}function O(t){var i,{horiz:e,maxLabelDimensions:s,options:{grid:r={}}}=this;r.enabled&&s&&(i=2*this.options.labels.distance,e=e?r.cellHeight||i+s.height:i+s.width,o(t.tickSize)?t.tickSize[0]=e:t.tickSize=[e,0])}function M(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function T(i){let t=this["grid"];(t.columns||[]).forEach(t=>t.destroy(i.keepEvents)),t.columns=void 0}function W(t){let i=t.userOptions||{},e=i.grid||{};e.enabled&&r(e.borderColor)&&(i.tickColor=i.lineColor=e.borderColor),this.grid||(this.grid=new z(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function A(r){let o=this.label,n=this.axis,h=n.reversed,a=n.chart,t=n.options.grid||{},l=n.options.labels,d=l.align,c=k[n.side],i=r.tickmarkOffset,e=n.tickPositions,g=this.pos-i,u=b(e[r.index+1])?e[r.index+1]-i:(n.max||0)+i,s=n.tickSize("tick"),f=s?s[0]:0,p=s?s[1]/2:0;if(!0===t.enabled){let t,i,e,s;var m,x;"top"===c?i=(t=n.top+n.offset)-f:"bottom"===c?t=(i=a.chartHeight-n.bottom+n.offset)+f:(t=n.top+n.len-(n.translate(h?u:g)||0),i=n.top+n.len-(n.translate(h?g:u)||0)),"right"===c?s=(e=a.chartWidth-n.right+n.offset)+f:"left"===c?e=(s=n.left+n.offset)-f:(e=Math.round(n.left+(n.translate(h?u:g)||0))-p,s=Math.min(Math.round(n.left+(n.translate(h?g:u)||0))-p,n.left+n.len)),this.slotWidth=s-e,r.pos.x="left"===d?e:"right"===d?s:e+(s-e)/2,r.pos.y=i+(t-i)/2,o&&(m=a.renderer.fontMetrics(o),x=o.getBBox().height,l.useHTML?r.pos.y+=m.b+-x/2:(x=Math.round(x/m.h),r.pos.y+=(m.b-(m.h-m.f))/2+-((x-1)*m.h)/2)),r.pos.x+=n.horiz&&l.x||0}}function C(n){let{axis:h,value:a}=n;if(h.options.grid&&h.options.grid.enabled){let t,i=h.tickPositions,e=(h.linkedParent||h).series[0],s=a===i[0],r=a===i[i.length-1],o=e&&d(e.options.data,function(t){return t[h.isXAxis?"x":"y"]===a});o&&e.is("gantt")&&(t=c(o),l.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(t)),n.isFirst=s,n.isLast=r,n.point=t}}function S(){let t=this.options,i=t.grid||{},e=this.categories,s=this.tickPositions,r=s[0],o=s[1],n=s[s.length-1],h=s[s.length-2],a=this.linkedParent&&this.linkedParent.min,l=this.linkedParent&&this.linkedParent.max,d=a||this.min,c=l||this.max,g=this.tickInterval,u=b(d)&&r+g<=d&&d{t.side!==e.side||t.options.isInternal||(n=i,t===r&&(o=i))}),n===o&&(!b(i)||s.length===i))}renderBorder(t){let i=this.axis,e=i.chart.renderer,s=i.options,r=e.path(t).addClass("highcharts-axis-line").add(i.axisGroup);return e.styledMode||r.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),r}}return t.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},t.W=function(t){let i=this,e=new this.Date(t),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(t){i.set(t,e,0)}),(this.get("Day",e)+6)%7),r=new this.Date(e.valueOf()),o=(this.set("Date",r,this.get("Date",e)-s+3),new this.Date(this.get("FullYear",r),0,1));return 4!==this.get("Day",o)&&(this.set("Month",e,0),this.set("Date",e,1+(11-this.get("Day",o))%7)),(1+Math.floor((r.valueOf()-o.valueOf())/6048e5)).toString()},{compose:function(t,i,e){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=f,n(t.prototype,"unsquish",E),n(t.prototype,"getOffset",p),s(t,"init",W),s(t,"afterGetTitlePosition",m),s(t,"afterInit",P),s(t,"afterRender",y),s(t,"afterSetAxisTranslation",v),s(t,"afterSetOptions",w),s(t,"afterSetOptions",L),s(t,"afterSetScale",B),s(t,"afterTickSize",O),s(t,"trimTicks",S),s(t,"destroy",T),s(i,"afterSetChartSize",M),s(e,"afterGetLabelPosition",A),s(e,"labelFormat",C)),t}}}),i(t,"masters/modules/grid-axis.src.js",[t["Core/Globals.js"],t["Core/Axis/GridAxis.js"]],function(t,i){return i.compose(t.Axis,t.Chart,t.Tick),t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/map.min.js b/assets/js/external/highcharts/modules/map.min.js index d5cc5a5..df2666d 100644 --- a/assets/js/external/highcharts/modules/map.min.js +++ b/assets/js/external/highcharts/modules/map.min.js @@ -1 +1 @@ -!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("highcharts/modules/map",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var t=o?o._modules:{};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Core/Axis/Color/ColorAxisComposition.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(t,e){var i;let s=t["parse"],{addEvent:h,extend:p,merge:d,pick:c,splat:o}=e;{t=i=i||{};let l;function u(){let t=this["userOptions"];this.colorAxis=[],t.colorAxis&&(t.colorAxis=o(t.colorAxis),t.colorAxis.map(t=>new l(this,t)))}function m(e){let t=this.chart.colorAxis||[],i=t=>{t=e.allItems.indexOf(t);-1!==t&&(this.destroyItem(e.allItems[t]),e.allItems.splice(t,1))},s=[],o,r;for(t.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?s=s.concat(t.getDataClassLegendSymbols()):o.visible&&s.push(t),t.series.forEach(function(t){t.options.showInLegend&&!o.dataClasses||("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=s.length;r--;)e.allItems.unshift(s[r])}function g(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function b(e){this.chart.colorAxis?.forEach(t=>{t.update({},e.redraw)})}function f(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function y(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function x(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function M(){let i=this,t=this.getPointsCollection(),s=this.options.nullColor,o=this.colorAxis,r=this.colorKey;t.forEach(t=>{var e=t.getNestedProperty(r),e=t.options.color||(t.isNull||null===t.value?s:o&&void 0!==e?o.toColor(e,t):t.color||i.color);e&&t.color!==e&&(t.color=e,"point"===i.options.legendType&&t.legendItem&&t.legendItem.label&&i.chart.legend.colorizeItem(t,t.visible))})}function v(){this.elem.attr("fill",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}function j(){this.elem.attr("stroke",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}t.compose=function(t,e,s,i,o){let r=e.prototype,a=s.prototype,n=o.prototype;if(!r.collectionsWithUpdate.includes("colorAxis")){l=t,r.collectionsWithUpdate.push("colorAxis"),r.collectionsWithInit.colorAxis=[r.addColorAxis],h(e,"afterGetAxes",u);{s=e;let i=s.prototype.createAxis;s.prototype.createAxis=function(t,e){if("colorAxis"!==t)return i.apply(this,arguments);t=new l(this,d(e.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),c(e.redraw,!0)&&this.redraw(e.animation),t}}a.fillSetter=v,a.strokeSetter=j,h(i,"afterGetAllItems",m),h(i,"afterColorizeItem",g),h(i,"afterUpdate",b),p(n,{optionalAxis:"colorAxis",translateColors:M}),p(n.pointClass.prototype,{setVisible:x}),h(o,"afterTranslate",f,{order:1}),h(o,"bindAxes",y)}},t.pointSetVisible=x}return i}),e(t,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),e(t,"Core/Axis/Color/ColorAxisLike.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(t,e){let p=t["parse"],d=e["merge"];return t={initDataClasses:function(t){let i=this.chart,e=this.legendItem=this.legendItem||{},s=this.options,o=t.dataClasses||[],r,a,n=i.options.chart.colorCount,l=0,h;this.dataClasses=a=[],e.labels=[];for(let t=0,e=o.length;t=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r}},t}),e(t,"Core/Axis/Color/ColorAxis.js",[t["Core/Axis/Axis.js"],t["Core/Axis/Color/ColorAxisComposition.js"],t["Core/Axis/Color/ColorAxisDefaults.js"],t["Core/Axis/Color/ColorAxisLike.js"],t["Core/Defaults.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,o,e,i,s,u,r,a){let n=s["defaultOptions"],d=r["series"],{defined:c,extend:m,fireEvent:g,isArray:l,isNumber:h,merge:p,pick:b,relativeLength:f}=a;n.colorAxis=p(n.xAxis,e);class y extends t{static compose(t,e,i,s){o.compose(y,t,e,i,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){var i=t.options.legend||{},i=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||i?2:1,this.reversed=e.reversed||!i,this.opposite=!i,super.init(t,e,"colorAxis"),this.userOptions=e,l(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=i,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){t=p(n.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(t),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||y.defaultLegendLength}getOffset(){var t=this.legendItem?.group,i=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let e=this.chart.legend;e.allItems.forEach(function(t){t instanceof y&&t.drawLegendSymbol(e,t)}),e.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=i}}setLegendColor(){var t=this.horiz,e=this.reversed,i=e?1:0,e=e?0:1,t=t?[i,0,e,0]:[0,e,0,i];this.legendColor={linearGradient:{x1:t[0],y1:t[1],x2:t[2],y2:t[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,o=t.options,r=this.options.labels,a=b(o.itemDistance,10),n=this.horiz,{width:l,height:h}=this.getSize(),p=b(o.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+s+(n?a:b(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+s+(n?p:0)}setState(e){this.series.forEach(function(t){t.setState(e)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,o,r,a,n=t.length,l,h;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(i=(a=t[n]).colorKey=b(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y"),o=a.pointArrayMap,r=a[i+"Min"]&&a[i+"Max"],a[i+"Data"])e=a[i+"Data"];else if(o){if(e=[],s=o.indexOf(i),l=a.yData,0<=s&&l)for(h=0;ha+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){var e=this.left,i=t.translatedValue,s=this.top;return h(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(var i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let a,n=this,l=n.chart,h=n.legendItem&&n.legendItem.labels||[],t=l.options.legend,p=b(t.valueDecimals,-1),d=b(t.valueSuffix,""),c=i=>n.series.reduce((t,e)=>(t.push(...e.points.filter(t=>t.dataClass===i)),t),[]);return h.length||n.dataClasses.forEach((t,i)=>{let e=t.from,s=t.to,o=l["numberFormatter"],r=!0;a="",void 0===e?a="< ":void 0===s&&(a="> "),void 0!==e&&(a+=o(e,p)+d),void 0!==e&&void 0!==s&&(a+=" - "),void 0!==s&&(a+=o(s,p)+d),h.push(m({chart:l,name:a,options:{},drawLegendSymbol:u.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(var e of c(i))e.setState(t)},setVisible:function(){this.visible=r=n.visible=!r;let t=[];for(var e of c(i))e.setVisible(r),e.hiddenInDataClass=!r,-1===t.indexOf(e.series)&&t.push(e.series);l.legend.colorizeItem(this,r),t.forEach(t=>{g(t,"afterDataClassLegendClick")})}},t))}),h}getSize(){var{chart:t,horiz:e}=this,{height:i,width:s}=this.options,o=t.options["legend"];return{width:b(c(s)?f(s,t.chartWidth):void 0,o?.symbolWidth,e?y.defaultLegendLength:12),height:b(c(i)?f(i,t.chartHeight):void 0,o?.symbolHeight,e?12:y.defaultLegendLength)}}}return y.defaultLegendLength=200,y.keepProps=["legendItem"],m(y.prototype,i),Array.prototype.push.apply(t.keepProps,y.keepProps),y}),e(t,"masters/modules/coloraxis.src.js",[t["Core/Globals.js"],t["Core/Axis/Color/ColorAxis.js"]],function(t,e){return t.ColorAxis=t.ColorAxis||e,t.ColorAxis.compose(t.Chart,t.Fx,t.Legend,t.Series),t}),e(t,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),e(t,"Maps/MapPointer.js",[t["Core/Utilities.js"]],function(t){var e;let{defined:r,extend:a,pick:i,wrap:n}=t;{t=e=e||{};let s,o=0;function l(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function h(t){let e=this.chart,i=r((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;1<=Math.abs(i)&&(o+=Math.abs(i),s&&clearTimeout(s),s=setTimeout(()=>{o=0},50)),o<10&&e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapView&&e.mapView.zoomBy(-(e.options.mapNavigation.mouseWheelSensitivity-1)*i,void 0,[t.chartX,t.chartY],!(Math.abs(i)<1)&&void 0)}function p(t,e,i){let s=this.chart;return e=t.call(this,e,i),s&&s.mapView&&(t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop}))&&a(e,t),e}function d(t){var e=this.chart.options.mapNavigation;e&&i(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){t=t.prototype;t.onContainerDblClick||(a(t,{onContainerDblClick:l,onContainerMouseWheel:h}),n(t,"normalize",p),n(t,"zoomOption",d))}}return e}),e(t,"Maps/MapSymbols.js",[],function(){let a;function e(t,e,i,s,o){var r;return o&&(r=o?.r||0,o.brBoxY=e-r,o.brBoxHeight=s+r),a.roundedRect(t,e,i,s,o)}function i(t,e,i,s,o){var r;return o&&(r=o?.r||0,o.brBoxHeight=s+r),a.roundedRect(t,e,i,s,o)}return{compose:function(t){(a=t.prototype.symbols).bottombutton=e,a.topbutton=i}}}),e(t,"Maps/MapNavigation.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Maps/MapNavigationDefaults.js"],t["Maps/MapPointer.js"],t["Maps/MapSymbols.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i){let a=t["setOptions"],n=e["composed"],{addEvent:u,extend:m,merge:g,objectEach:b,pick:f,pushUnique:l}=i;function y(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}return class h{static compose(t,e,i){o.compose(e),r.compose(i),l(n,"Map.Navigation")&&(u(t,"beforeRender",function(){this.mapNavigation=new h(this),this.mapNavigation.update()}),a(s))}constructor(t){this.chart=t,this.navButtons=[]}update(t){function l(t){this.handler.call(p,t),y(t)}let h=this,p=h.chart,d=h.navButtons,c=p.options.mapNavigation;for(t&&(c=p.options.mapNavigation=g(p.options.mapNavigation,t));d.length;)d.pop().destroy();!p.renderer.forExport&&f(c.enableButtons,c.enabled)&&(h.navButtonsGroup||(h.navButtonsGroup=p.renderer.g().attr({zIndex:7}).add()),b(c.buttons,(i,t)=>{let e={padding:(i=g(c.buttonOptions,i)).padding},{text:s,width:o=0,height:r=0,padding:a=0}=(!p.styledMode&&i.theme&&(m(e,i.theme),e.style=g(i.theme.style,i.style)),i),n=p.renderer.button("+"!==s&&"-"!==s&&s||"",0,0,l,e,void 0,void 0,void 0,"zoomIn"===t?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[t]).attr({width:o,height:r,title:p.options.lang[t],zIndex:5}).add(h.navButtonsGroup);if("+"===s||"-"===s){let t=o+1,e=[["M",a+3,a+r/2],["L",a+t-3,a+r/2]];"+"===s&&e.push(["M",a+t/2,a+3],["L",a+t/2,a+r-3]),p.renderer.path(e).addClass("highcharts-button-symbol").attr(p.styledMode?{}:{stroke:i.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(n)}if(n.handler=i.onclick,u(n.element,"dblclick",y),d.push(n),m(i,{width:n.width,height:2*(n.height||0)}),p.hasLoaded)n.align(i,!1,i.alignTo);else{let t=u(p,"load",()=>{n.element&&n.align(i,!1,i.alignTo),t()})}}),p.hasLoaded||u(p,"render",function(){var t,e,i,s=p.exportingGroup&&p.exportingGroup.getBBox();s&&(t=h.navButtonsGroup.getBBox(),e=s,(i=t).x>=e.x+e.width||i.x+i.width<=e.x||i.y>=e.y+e.height||i.y+i.height<=e.y||(i=-t.y-t.height+s.y-5,e=s.y+s.height-t.y+5,s=c.buttonOptions&&c.buttonOptions.verticalAlign,h.navButtonsGroup.attr({translateY:"bottom"===s?i:e})))})),this.updateEvents(c)}updateEvents(t){let e=this.chart;f(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||u(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),f(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||u(e.container,"wheel",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),y(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}}),e(t,"Series/ColorMapComposition.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,s,e){var i;let o=t.seriesTypes["column"]["prototype"],{addEvent:r,defined:a}=e;return(t=i=i||{}).pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return!a(t.color)||t.state&&"normal"!==t.state||(e[this.colorProp||"fill"]=t.color),e},pointAttribs:o.pointAttribs},t.compose=function(t){return r(t.prototype.pointClass,"afterSetState",n),t},i;function n(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new s(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),"hover"===t?.state?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:i.url+"#"+this.id,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}}),e(t,"Core/Chart/MapChart.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s){var o;let r=e["getOptions"],{isNumber:a,merge:n,pick:l}=s;class h extends t{init(t,e){var i=r().credits,i=n({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:l(i.mapText,' © {geojson.copyrightShort}'),mapTextFull:l(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(i,e)}mapZoom(t,e,i,s,o){this.mapView&&(a(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,a(e)&&a(i)?this.mapView.projection.inverse([e,i]):void 0,a(s)&&a(o)?[s,o]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}return(o=h=h||{}).maps={},o.mapChart=function(t,e,i){return new o(t,e,i)},o.splitPath=function(t){t="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t;return i.prototype.pathToSegments(t)},h}),e(t,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(t){let i=-Number.MAX_VALUE,s=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,a;if(t.forEach(t=>{var e=t[t.length-2],t=t[t.length-1];"number"==typeof e&&"number"==typeof t&&(s=Math.min(s,e),i=Math.max(i,e),r=Math.min(r,t),o=Math.max(o,t),a=!0)}),a)return{x1:s,y1:r,x2:i,y2:o}}}}),e(t,"Series/Map/MapPoint.js",[t["Series/ColorMapComposition.js"],t["Maps/MapUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let a=e["boundsFromPath"],o=i.seriesTypes.scatter.prototype.pointClass,{extend:r,isNumber:n,pick:l}=s;class h extends o{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),o=i.joinBy;return i.mapData&&i.mapMap&&(t=o[1],(t=void 0!==(e=super.getNestedProperty(t))&&i.mapMap[e])?r(s,{...t,name:s.name??t.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)),s}getProjectedBounds(t){let e=a(h.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){var o=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(s&&n(o)&&n(r)){t=t.forward([o,r]);e.midX=t[0],e.midY=t[1]}else{o=i&&i["hc-middle-x"],r=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*l(this.middleX,n(o)?o:.5);let t=l(this.middleY,n(r)?r:.5);this.geometry||(t=1-t),e.midY=e.y2-(e.y2-e.y1)*t}return e}}onMouseOver(t){s.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(e){let i=this.series.chart,s=i.mapView,o=this.bounds;if(s&&o){let t=n(this.insetIndex)&&s.insets[this.insetIndex];var r,a;t&&(r=t.projectedUnitsToPixels({x:o.x1,y:o.y1}),a=t.projectedUnitsToPixels({x:o.x2,y:o.y2}),r=s.pixelsToProjectedUnits({x:r.x,y:r.y}),a=s.pixelsToProjectedUnits({x:a.x,y:a.y}),o={x1:r.x,y1:r.y,x2:a.x,y2:a.y}),s.fitToBounds(o,void 0,!1),this.series.isDirty=!0,i.redraw(e)}}}return r(h.prototype,{dataLabelOnNull:t.pointMembers.dataLabelOnNull,moveToTopOnHover:t.pointMembers.moveToTopOnHover,isValid:t.pointMembers.isValid}),h}),e(t,"Series/Map/MapSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["isNumber"];return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["value"];return i(e)?t(e,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
    "},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),e(t,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),e(t,"Maps/GeoJSONComposition.js",[t["Core/Globals.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i){var s;let u=t["win"],p=e["format"],{error:m,extend:d,merge:o,wrap:r}=i;return(t=s=s||{}).compose=function(t){let e=t.prototype;e.transformFromLatLon||(e.fromLatLonToPoint=a,e.fromPointToLatLon=n,e.transformFromLatLon=l,e.transformToLatLon=h,r(e,"addCredits",g))},t.geojson=function(t,i="map",e){let s=[],o="Topology"===t.type?c(t):t,r=o.features;for(let e=0,t=r.length;e"number"==typeof t[0]?t.reduce((t,e,i)=>{let s=e<0?r[~e]:r[e];return e<0?(s=s.slice(0,0===i?s.length:s.length-1)).reverse():i&&(s=s.slice(1)),t.concat(s)},[]):t.map(s),o=i.geometries,p=[];for(let t=0,e=o.length;t(e[1]-t[1])*(i[0]-t[0])}function p(t,e,i,s){let o=[t[0]-e[0],t[1]-e[1]],r=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],l=1/(o[0]*r[1]-o[1]*r[0]),h=[(a*r[0]-n*o[0])*l,(a*r[1]-n*o[1])*l];return h.isIntersection=!0,h}return{clipLineString:function(t,e){let i=[],s=o(t,e,!1);for(let t=1;t0===t?0:0Math.tan((d+t)/2);return class{constructor(t){var e=(t.parallels||[]).map(t=>t*p),i=e[0]||0,e=e[1]??i,s=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let o=i===e?Math.sin(i):Math.log(s/Math.cos(e))/Math.log(c(e)/c(i));Math.abs(o)<1e-10&&(o=1e-10*(n(o)||1)),this.n=o,this.c=s*Math.pow(c(i),o)/o}forward(t){let{c:e,n:i,projectedBounds:s}=this,o=t[0]*p,r=t[1]*p,a=(0d-1e-6&&(r=d-1e-6),e/Math.pow(c(r),i)),n=a*Math.sin(i*o)*63.78137,l=63.78137*(e-a*Math.cos(i*o)),h=[n,l];return s&&(ns.x2||ls.y2)&&(h.outside=!0),h}inverse(t){let{c:e,n:i}=this,s=t[0]/63.78137,o=e-t[1]/63.78137,r=n(i)*Math.sqrt(s*s+o*o),a=Math.atan2(s,Math.abs(o))*n(o);return o*i<0&&(a-=Math.PI*n(s)*n(o)),[a/i/p,(2*Math.atan(Math.pow(e/r,1/i))-d)/p]}}}),e(t,"Maps/Projections/EqualEarth.js",[],function(){let p=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){var e=Math.PI/180,i=Math.asin(p*Math.sin(t[1]*e)),s=i*i,o=s*s*s;return[t[0]*e*Math.cos(i)*74.03120656864502/(p*(1.340264+-.24331799999999998*s+o*(.0062510000000000005+.034164*s))),74.03120656864502*i*(1.340264+-.081106*s+o*(893e-6+.003796*s))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,s=180/Math.PI,o=i,r,a,n,l;for(let t=0;t<12&&(a=(r=o*o)*r*r,n=o*(1.340264+-.081106*r+a*(893e-6+.003796*r))-i,o-=l=n/(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r)),!(Math.abs(l)<1e-9));++t);a=(r=o*o)*r*r;var t=s*p*e*(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r))/Math.cos(o),h=s*Math.asin(Math.sin(o)/p);return 180this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*s),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/s]}}}),e(t,"Maps/Projections/ProjectionRegistry.js",[t["Maps/Projections/LambertConformalConic.js"],t["Maps/Projections/EqualEarth.js"],t["Maps/Projections/Miller.js"],t["Maps/Projections/Orthographic.js"],t["Maps/Projections/WebMercator.js"]],function(t,e,i,s,o){return{EqualEarth:e,LambertConformalConic:t,Miller:i,Orthographic:s,WebMercator:o}}),e(t,"Maps/Projection.js",[t["Core/Geometry/PolygonClip.js"],t["Maps/Projections/ProjectionRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{clipLineString:x,clipPolygon:M}=t,{clamp:p,erase:d}=i,T=2*Math.PI/360,c=t=>(t<-180&&(t+=360),180(1-Math.cos(t))/2;class D{static add(t,e){D.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,o=((t,e)=>{let i=Math.cos,s=t[1]*T,o=t[0]*T,r=e[1]*T,a=e[0]*T;return n(r-s)+i(s)*i(r)*n(a-o)})(t,e);return 2*i(s(o),s(1-o))*6371e3}static geodesic(t,e,i,s=5e5){let{atan2:o,cos:r,sin:a,sqrt:n}=Math,l=D.distance,h=t[1]*T,p=t[0]*T,d=e[1]*T,c=e[0]*T,u=r(h)*r(p),m=r(d)*r(c),g=r(h)*a(p),b=r(d)*a(c),f=a(h),y=a(d),x=l(t,e),M=x/6371e3,v=a(M),j=Math.round(x/s),C=[];if(i&&C.push(t),1r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:o}=this.bounds||{},r=(t,e,i)=>{var s,[t,o]=t,r=e?0:1;if("number"==typeof i&&t[e]>=i!=o[e]>=i)return s=(i-t[e])/(o[e]-t[e]),s=t[r]+s*(o[r]-t[r]),e?[s,i]:[i,s]},a,n=t[0];return((a=r(t,0,e))||(a=r(t,0,i)))&&(n=a,t[1]=a),n=(a=r(t,1,s))||(a=r(t,1,o))?a:n}getRotator(t){let o=t[0]*T,e=(t[1]||0)*T,i=(t[2]||0)*T,r=Math.cos(e),a=Math.sin(e),n=Math.cos(i),l=Math.sin(i);if(0!=o||0!=e||0!=i)return{forward:t=>{var e=t[0]*T+o,t=t[1]*T,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*r+s*a;return[Math.atan2(e*n-t*l,s*r-i*a)/T,Math.asin(t*n+e*l)/T]},inverse:t=>{var e=t[0]*T,t=t[1]*T,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*n-e*l;return[(Math.atan2(e*n+i*l,s*r+t*a)-o)/T,Math.asin(t*r-s*a)/T]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(r,s){let l,a=[],h=[r];for(let i=0,t=r.length;iMath.abs(e.lat)-Math.abs(t.lat))[0],d(a,l));let o=a.length-2;for(;0<=o;){let t=a[o].i,e=c(180+1e-6*a[o].direction),i=c(180-1e-6*a[o].direction),s=r.splice(t,a[o+1].i-t,...D.geodesic([e,a[o].lat],[e,a[o+1].lat],!0));s.push(...D.geodesic([i,a[o+1].lat],[i,a[o].lat],!0)),h.push(s),o-=2}if(l)for(let t=0;t{let e=t.map(e=>{if(f){let t=(e=s?s.forward(e):e)[0];e=[t=Math.abs(t-180)<1e-6?t<180?179.999999:180.000001:t,e[1]]}return e}),i=[e];b&&(D.insertGeodesics(e),f&&(i=this.cutOnAntimeridian(e,g))),i.forEach(n=>{let l,h;if(!(n.length<2)){let e=!1,i=!1,s=t=>{e?m.push(["L",t[0],t[1]]):(m.push(["M",t[0],t[1]]),e=!0)},o=!1,r=!1,a=n.map(t=>{let e=y.forward(t);return e.outside?o=!0:r=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(f){if(g&&a.push(a[0]),o){if(!r)return;if(c)if(g)a=M(a,c);else if(u)return void x(a,c).forEach(t=>{e=!1,t.forEach(s)})}a.forEach(s)}else for(let t=0;ts(y.forward(t))):e=!1),s(d),h=p,!1)}}})});return"LineString"===t.type?o(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>o(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>o(t)),m.length&&m.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>o(t))}),m.length&&m.push(["Z"])),m}}return D.registry=e,D}),e(t,"Maps/MapView.js",[t["Core/Globals.js"],t["Maps/MapViewDefaults.js"],t["Maps/GeoJSONComposition.js"],t["Core/Geometry/GeometryUtilities.js"],t["Maps/MapUtilities.js"],t["Maps/Projection.js"],t["Core/Utilities.js"]],function(t,r,e,i,s,a,o){let n=t["composed"],l=i["pointInPolygon"],h=e["topo2geo"],p=s["boundsFromPath"],{addEvent:d,clamp:b,crisp:c,fireEvent:u,isArray:m,isNumber:f,isObject:g,isString:y,merge:x,pick:M,pushUnique:v,relativeLength:j}=o,C={};function w(t,e){var{width:e,height:i}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(e/256),(t.y2-t.y1)/(i/256)))/Math.log(2)}function P(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class S{static compose(t){v(n,"MapView")&&(C=t.maps,d(t,"afterInit",function(){this.mapView=new S(this,this.options.mapView)},{order:0}),d(t,"addSeriesAsDrilldown",P),d(t,"afterDrillUp",P))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),x(t[0]))}static mergeInsets(t,e){let i=t=>{let i={};return t.forEach((t,e)=>{i[t&&t.id||"i"+e]=t}),i},s=x(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof L||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=x(r,this.recommendedMapView,e),s=this.recommendedMapView?.insets,o=e&&e.insets;s&&o&&(i.insets=S.mergeInsets(s,o)),this.chart=t,this.center=i.center,this.options=i,this.projection=new a(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(d(t,"afterSetChartSize",()=>{this.playingField=this.getField(),void 0!==this.minZoom&&this.minZoom!==this.zoom||(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&f(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&x(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let e=this.options,t=e.insets;t&&t.forEach(t=>{t=new L(this,x(e.insetOptions,t));this.insets.push(t)})}fitToBounds(t,e,i=!0,s){var o,r=t||this.getProjectedBounds();r&&(e=M(e,t?0:this.options.padding),o=this.getField(!1),e=m(e)?e:[e,e,e,e],this.padding=[j(e[0],o.height),j(e[1],o.width),j(e[2],o.height),j(e[3],o.width)],this.playingField=this.getField(),e=w(r,this.playingField),t||(this.minZoom=e),o=this.projection.inverse([(r.x2+r.x1)/2,(r.y2+r.y1)/2]),this.setView(o,e,i,s))}getField(t=!0){t=t?this.padding:[0,0,0,0];return{x:t[3],y:t[0],width:this.chart.plotWidth-t[1]-t[3],height:this.chart.plotHeight-t[0]-t[2]}}getGeoMap(t){return y(t)?C[t]&&"Topology"===C[t].type?h(C[t]):C[t]:g(t,!0)?"FeatureCollection"===t.type?t:"Topology"===t.type?h(t):void 0:void 0}getMapBBox(){var t,e,i=this.getProjectedBounds(),s=this.getScale();if(i)return t=this.padding,e=this.projectedUnitsToPixels({x:i.x1,y:i.y2}),{width:(i.x2-i.x1)*s+t[1]+t[3],height:(i.y2-i.y1)*s+t[0]+t[2],x:e.x-t[3],y:e.y-t[0]}}getProjectedBounds(){let s=this.projection,t=this.chart.series.reduce((t,e)=>{var i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),o=this.options.fitToGeometry;if(o){if(!this.fitToGeometryCache)if("MultiPoint"===o.type){let t=o.coordinates.map(t=>s.forward(t)),e=t.map(t=>t[0]),i=t.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,e),x2:Math.max.apply(0,e),y1:Math.min.apply(0,i),y2:Math.max.apply(0,i)}}else this.fitToGeometryCache=p(s.path(o));return this.fitToGeometryCache}return this.projection.bounds||S.compositeBounds(t)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){var{x:t,y:e,width:i,height:s}=this.playingField,o=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),r=a*r;return{scaleX:a,scaleY:r,translateX:t+i/2-o[0]*a,translateY:e+s/2-o[1]*r}}lonLatToPixels(t){t=this.lonLatToProjectedUnits(t);if(t)return this.projectedUnitsToPixels(t)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){var o=e.transformFromLatLon(t,i[s]);if(o&&l(o,i[s].hitZone.coordinates[0]))return o}return e.transformFromLatLon(t,i.default)}for(var r of this.insets){var a;if(r.options.geoBounds&&l({x:t.lon,y:t.lat},r.options.geoBounds.coordinates[0]))return a=r.projection.forward([t.lon,t.lat]),r=r.projectedUnitsToPixels({x:a[0],y:a[1]}),this.pixelsToProjectedUnits(r)}var n=this.projection.forward([t.lon,t.lat]);if(!n.outside)return{x:n[0],y:n[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&l(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}var o,r,a=this.projectedUnitsToPixels(t);for(o of this.insets)if(o.hitZone&&l(a,o.hitZone.coordinates[0]))return r=o.pixelsToProjectedUnits(a),{lon:(r=o.projection.inverse([r.x,r.y]))[0],lat:r[1]};var n=this.projection.inverse([t.x,t.y]);return{lon:n[0],lat:n[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),o=[],r=(s.forEach(t=>{var e,i,s;t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)&&([t,e,i,s]=t.bbox,o.push({x1:t,y1:e,x2:i,y2:s}))}),o.length&&S.compositeBounds(o));u(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){var t,e,i,s;r&&this.recommendedMapView&&(this.recommendedMapView.projection||({x1:t,y1:e,x2:i,y2:s}=r,this.recommendedMapView.projection=180{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(h,p,t=!0,e){h&&(this.center=h),"number"==typeof p&&("number"==typeof this.minZoom&&(p=Math.max(p,this.minZoom)),"number"==typeof this.options.maxZoom&&(p=Math.min(p,this.options.maxZoom)),f(p)&&(this.zoom=p));var d,c,h=this.getProjectedBounds();if(h){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:o}=this.playingField,r=this.getScale(),a=this.projectedUnitsToPixels({x:h.x1,y:h.y1}),n=this.projectedUnitsToPixels({x:h.x2,y:h.y2}),l=[(h.x1+h.x2)/2,(h.y1+h.y2)/2];this.chart.series.some(t=>t.isDrilling)||(p=a.x,h=n.y,d=n.x,c=a.y,d-p{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}u(this,"afterSetView"),t&&this.redraw(e)}projectedUnitsToPixels(t){var e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,o=s.x+s.width/2,s=s.y+s.height/2;return{x:o-e*(i[0]-t.x),y:s+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){var{x:t,y:e}=t,i=this.getScale(),s=this.projection.forward(this.center),o=this.playingField,r=o.x+o.width/2,o=o.y+o.height/2;return{x:s[0]+(t-r)/i,y:s[1]-(e-o)/i}}setUpEvents(){let c,u,m,g=this["chart"],t=s=>{let{lastTouches:t,pinchDown:e}=g.pointer,o=this.projection,r=s.touches,{mouseDownX:a,mouseDownY:n}=g,l=0;if(1===e?.length?(a=e[0].chartX,n=e[0].chartY):2===e?.length&&(a=(e[0].chartX+e[1].chartX)/2,n=(e[0].chartY+e[1].chartY)/2),2===r?.length&&t&&(l=Math.log(Math.sqrt(Math.pow(t[0].chartX-t[1].chartX,2)+Math.pow(t[0].chartY-t[1].chartY,2))/Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2)))/Math.log(.5)),f(a)&&f(n)){let t=a+","+n,{chartX:e,chartY:i}=s.originalEvent;2===r?.length&&(e=(r[0].chartX+r[1].chartX)/2,i=(r[0].chartY+r[1].chartY)/2),t!==u&&(u=t,c=this.projection.forward(this.center),m=(this.projection.options.rotation||[0,0]).slice());var h,p,d=o.def&&o.def.bounds,d=d&&w(d,this.playingField)||-1/0;"Orthographic"===o.options.name&&(r?.length||0)<2&&(this.minZoom||1/0)<1.3*d?(d=440/(this.getScale()*Math.min(g.plotWidth,g.plotHeight)),m&&(h=(a-e)*d-m[0],d=b(-m[1]-(n-i)*d,-80,80),p=this.zoom,this.update({projection:{rotation:[-h,-d]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=p,g.redraw(!1))):f(e)&&f(i)&&(h=this.getScale(),d=this.projection.hasCoordinates?1:-1,p=this.projection.inverse([c[0]+(a-e)/h,c[1]-(n-i)/h*d]),isNaN(p[0]+p[1])||this.zoomBy(l,p,void 0,!1)),s.preventDefault()}};d(g,"pan",t),d(g,"touchpan",t),d(g,"selection",t=>{var e,i,s,o;t.resetSelection?this.zoomBy():(s=t.x-g.plotLeft,o=t.y-g.plotTop,{y:e,x:i}=this.pixelsToProjectedUnits({x:s,y:o}),{y:s,x:o}=this.pixelsToProjectedUnits({x:s+t.width,y:o+t.height}),this.fitToBounds({x1:i,y1:e,x2:o,y2:s},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||g.showResetZoom(),t.preventDefault())})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,o=s&&a.toString(s)!==a.toString(this.options.projection),r=!1;x(!0,this.userOptions,t),x(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,r=!0),(o||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(o||r)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,r&&e)for(;1[t[1]||0,t[2]||0])}}getField(l=!0){var h=this.hitZone;if(h){let t=l?this.padding:[0,0,0,0],e=h.coordinates[0],i=e.map(t=>t[0]),s=e.map(t=>t[1]),o=Math.min.apply(0,i)+t[3],r=Math.max.apply(0,i)-t[1],a=Math.min.apply(0,s)+t[0],n=Math.max.apply(0,s)-t[2];if(f(o)&&f(a))return{x:o,y:a,width:r-o,height:n-a}}return super.getField.call(this,l)}getHitZone(){let{chart:i,mapView:s,options:o}=this,e=(o.field||{})["coordinates"];if(e){let t=e[0];if("percent"===o.units){let e="mapBoundingBox"===o.relativeTo&&s.getMapBBox()||x(i.plotBox,{x:0,y:0});t=t.map(t=>[j(t[0]+"%",e.width,e.x),j(t[1]+"%",e.height,e.y)])}return{type:"Polygon",coordinates:[t]}}}getProjectedBounds(){return S.compositeBounds(this.allBounds)}isInside(t){var{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&l(t,i))}render(){let{chart:n,mapView:i,options:l}=this,s=l.borderPath||l.field;if(s&&i.group){let t=!0,r=(this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(i.group),t=!1),n.styledMode||this.border.attr({stroke:l.borderColor,"stroke-width":l.borderWidth}),this.border.strokeWidth()),a="mapBoundingBox"===l.relativeTo&&i.getMapBBox()||i.playingField,e=(s.coordinates||[]).reduce((t,e)=>e.reduce((t,e,i)=>{let[s,o]=e;return"percent"===l.units&&(s=n.plotLeft+j(s+"%",a.width,a.x),o=n.plotTop+j(o+"%",a.height,a.y)),s=c(s,r),o=c(o,r),t.push(0===i?["M",s,o]:["L",s,o]),t},t),[]);this.border[t?"animate":"attr"]({d:e})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}return S}),e(t,"Series/Map/MapSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Series/ColorMapComposition.js"],t["Series/CenteredUtilities.js"],t["Core/Globals.js"],t["Core/Chart/MapChart.js"],t["Series/Map/MapPoint.js"],t["Series/Map/MapSeriesDefaults.js"],t["Maps/MapView.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,b,s,f,o,a,r,n){let{animObject:g,stop:y}=t,l=b["noop"],h=s["splitPath"],{column:p,scatter:d}=r.seriesTypes,{extend:c,find:u,fireEvent:x,getNestedProperty:M,isArray:v,defined:m,isNumber:j,isObject:C,merge:w,objectEach:P,pick:S,splat:L}=n;class A extends d{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=g(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let c=this,{chart:u,group:i,transformGroups:s=[]}=this,{mapView:o,renderer:m}=u;if(o){(this.transformGroups=s)[0]||(s[0]=m.g().add(i));for(let t=0,e=o.insets.length;t{let e=t["graphic"];t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),p.prototype.drawPoints.apply(this),this.points.forEach(e=>{let n=e.graphic;if(n){let a=n.animate,t="";e.name&&(t+="highcharts-name-"+e.name.replace(/ /g,"-").toLowerCase()),e.properties&&e.properties["hc-key"]&&(t+=" highcharts-key-"+e.properties["hc-key"].toString().toLowerCase()),t&&n.addClass(t),u.styledMode&&n.css(this.pointAttribs(e,e.selected?"select":void 0)),n.attr({visibility:e.visible||!e.visible&&!e.isNull?"inherit":"hidden"}),n.animate=function(t,e,i){var s,o=j(t["stroke-width"])&&!j(n["stroke-width"]),r=j(n["stroke-width"])&&!j(t["stroke-width"]);return(o||r)&&(s=S(c.getStrokeWidth(c.options),1)/(u.mapView&&u.mapView.getScale()||1),o&&(n["stroke-width"]=s),r&&(t["stroke-width"]=s)),a.call(n,t,e,r?function(){n.element.removeAttribute("stroke-width"),delete n["stroke-width"],i&&i.apply(this,arguments)}:i)}}})),s.forEach((a,t)=>{let n=(0===t?o:o.insets[t-1]).getSVGTransform(),l=S(this.getStrokeWidth(this.options),1),h=n.scaleX,p=0{(c.points||[]).forEach(t=>{let e,i=t.graphic;i&&i["stroke-width"]&&(e=this.getStrokeWidth(t.options))&&i.attr({"stroke-width":e/s})})};if(m.globalAnimation&&u.hasRendered&&o.allowTransformAnimation){let s=Number(a.attr("translateX")),o=Number(a.attr("translateY")),r=Number(a.attr("scaleX")),t=w(g(m.globalAnimation)),e=t.step;t.step=function(){e&&e.apply(this,arguments),((t,e)=>{var i=r+(h-r)*e.pos;a.attr({translateX:s+(n.translateX-s)*e.pos,translateY:o+(n.translateY-o)*e.pos,scaleX:i,scaleY:i*p,"stroke-width":l/i}),d(i)}).apply(this,arguments)},a.attr({animator:0}).animate({animator:1},t,function(){"boolean"!=typeof m.globalAnimation&&m.globalAnimation.complete&&m.globalAnimation.complete({applyDrilldown:!0}),x(this,"mapZoomComplete")}.bind(this))}else y(a),a.attr(w(n,{"stroke-width":l/h})),d(h)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:r,projection:t}=this.chart.mapView,e=[];(this.points||[]).forEach(o=>{if(o.path||o.geometry){if("string"==typeof o.path?o.path=h(o.path):v(o.path)&&"M"===o.path[0]&&(o.path=this.chart.renderer.pathToSegments(o.path)),!o.bounds){let s=o.getProjectedBounds(t);if(s){o.labelrank=S(o.labelrank,(s.x2-s.x1)*(s.y2-s.y1));let{midX:e,midY:i}=s;if(r&&j(e)&&j(i)){let t=u(r,t=>t.isInside({x:e,y:i}));t&&(delete o.projectedPath,(s=o.getProjectedBounds(t.projection))&&t.allBounds.push(s),o.insetIndex=r.indexOf(t))}o.bounds=s}}o.bounds&&void 0===o.insetIndex&&e.push(o.bounds)}}),this.bounds=a.compositeBounds(e)}return this.bounds}getStrokeWidth(t){var e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,o=s?this.colorAttribs(t):p.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);e&&(e=w(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),a=this.getStrokeWidth(e),m(a)&&(r=a),o.stroke=e.borderColor??t.color),r&&i&&(r/=i.getScale());var a=this.getStrokeWidth(this.options);return o.dashstyle&&i&&j(a)&&(r=a/i.getScale()),t.visible||(o.fill=this.options.nullColor),m(r)?o["stroke-width"]=r:delete o["stroke-width"],o["stroke-linecap"]=o["stroke-linejoin"]=this.options.linecap,o}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}processData(){let e,i,s,o=this.options,r=o.data,t=this.chart,a=t.options.chart,n=this.joinBy,l=o.keys||this.pointArrayMap,h=[],p={},d=this.chart.mapView,c=d&&(C(o.mapData,!0)?d.getGeoMap(o.mapData):d.geoMap),u=t.mapTransforms=a.mapTransforms||c&&c["hc-transform"]||t.mapTransforms,m=(u&&P(u,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),v(o.mapData)?s=o.mapData:c&&"FeatureCollection"===c.type&&(this.mapTitle=c.title,s=b.geojson(c,this.type,this)),this.processedData=[],this.processedData);var g;if(r)for(let i=0,t=r.length;il.length&&"string"==typeof g[0]&&(m[i]["hc-key"]=g[0],++e);for(let t=0;t{t=M(e,t);p[t]&&h.push(p[t])})}if(o.allAreas){if(n[1]){let e=n[1];m.forEach(t=>{h.push(M(e,t))})}let e="|"+h.map(function(t){return t&&t[n[0]]}).join("|")+"|";s.forEach(t=>{n[0]&&-1!==e.indexOf("|"+t[n[0]]+"|")||m.push(w(t,{value:null}))})}}this.processedXData=Array(m.length)}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),(i=this.joinBy=L(i))[1]||(i[1]=i[0]),e}translate(){let s=this.doFullTranslate(),o=this.chart.mapView,r=o&&o.projection;if(!this.chart.hasRendered||!this.isDirtyData&&this.hasRendered||(this.processData(),this.generatePoints(),delete this.bounds,!o||o.userOptions.center||j(o.userOptions.zoom)||o.zoom!==o.minZoom?this.getProjectedBounds():o.fitToBounds(void 0,void 0,!1)),o){let i=o.getSVGTransform();this.points.forEach(t=>{var e=j(t.insetIndex)&&o.insets[t.insetIndex].getSVGTransform()||i;e&&t.bounds&&j(t.bounds.midX)&&j(t.bounds.midY)&&(t.plotX=t.bounds.midX*e.scaleX+e.translateX,t.plotY=t.bounds.midY*e.scaleY+e.translateY),s&&(t.shapeType="path",t.shapeArgs={d:f.getProjectedPath(t,r)}),t.hiddenInDataClass||(t.projectedPath&&!t.projectedPath.length?t.setVisible(!1):t.visible||t.setVisible(!0))})}x(this,"afterTranslate")}update(i){i.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((t,e)=>(e===this._i?i:t).mapData)],!0),super.update.apply(this,arguments)}}return A.defaultOptions=w(d.defaultOptions,o),c(A.prototype,{type:"map",axisTypes:e.seriesMembers.axisTypes,colorAttribs:e.seriesMembers.colorAttribs,colorKey:e.seriesMembers.colorKey,directTouch:!0,drawDataLabels:l,drawGraph:l,forceDL:!0,getCenter:i.getCenter,getExtremesFromAll:!0,getSymbol:l,isCartesian:!1,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:e.seriesMembers.pointArrayMap,pointClass:f,preserveAspectRatio:!0,searchPoint:l,trackerGroups:e.seriesMembers.trackerGroups,useMapGeometry:!0}),e.compose(A),r.registerSeriesType("map",A),A}),e(t,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),e(t,"Series/MapLine/MapLineSeries.js",[t["Series/MapLine/MapLineSeriesDefaults.js"],t["Series/Map/MapSeries.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{extend:o,merge:r}=s;class a extends e{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}return a.defaultOptions=r(e.defaultOptions,t),o(a.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),i.registerSeriesType("mapline",a),a}),e(t,"Series/MapPoint/MapPointPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let i=t.seriesTypes["scatter"],s=e["isNumber"];class o extends i.prototype.pointClass{isValid(){return!!(this.options.geometry||s(this.x)&&s(this.y)||s(this.options.lon)&&s(this.options.lat))}}return o}),e(t,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),e(t,"Series/MapPoint/MapPointSeries.js",[t["Core/Globals.js"],t["Series/MapPoint/MapPointPoint.js"],t["Series/MapPoint/MapPointSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r){let a=t["noop"],{map:n,scatter:l}=s.seriesTypes,{extend:h,fireEvent:p,isNumber:d,merge:c}=r;class u extends l{constructor(){super(...arguments),this.clearBounds=n.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(o){let r=this.chart.mapView;if(r){let{geometry:t,lon:e,lat:i}=o,s=t&&"Point"===t.type&&t.coordinates;if(s=d(e)&&d(i)?[e,i]:s)return r.lonLatToProjectedUnits({lon:s[0],lat:s[1]})}}translate(){let h=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),h){let n=h.getSVGTransform(),l=h.projection["hasCoordinates"];this.points.forEach(t=>{let e,{x:i,y:s}=t,o=d(t.insetIndex)&&h.insets[t.insetIndex].getSVGTransform()||n,r=this.projectPoint(t.options)||t.properties&&this.projectPoint(t.properties);var a;r?(i=r.x,s=r.y):t.bounds&&(i=t.bounds.midX,s=t.bounds.midY,o&&d(i)&&d(s)&&(t.plotX=i*o.scaleX+o.translateX,t.plotY=s*o.scaleY+o.translateY,e=!0)),d(i)&&d(s)?e||(a=h.projectedUnitsToPixels({x:i,y:s}),t.plotX=a.x,t.plotY=l?a.y:this.chart.plotHeight-a.y):t.y=t.plotX=t.plotY=void 0,t.isInside=this.isPointInside(t),t.zone=this.zones.length?t.getZone():void 0})}p(this,"afterTranslate")}}return u.defaultOptions=c(l.defaultOptions,i),o.prototype.symbols.mapmarker=(t,e,i,s,o)=>{let r,a;var n=o&&"legend"===o.context,o=(n?(r=t+i/2,a=e+s):o&&"number"==typeof o.anchorX&&"number"==typeof o.anchorY?(r=o.anchorX,a=o.anchorY):(r=t+i/2,a=e+s/2,e-=s),n?s/3:s/2);return[["M",r,a],["C",r,a,r-o,e+1.5*o,r-o,e+o],["A",o,o,1,1,1,r+o,e+o],["C",r+o,e+1.5*o,r,a,r,a],["Z"]]},h(u.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:e,searchPoint:a,useMapGeometry:!0}),s.registerSeriesType("mappoint",u),u}),e(t,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),e(t,"Series/Bubble/BubbleLegendItem.js",[t["Core/Color/Color.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e,i){let d=t["parse"],s=e["noop"],{arrayMax:n,arrayMin:l,isNumber:p,merge:c,pick:u,stableSort:m}=i;return class{constructor(t,e){this.setState=s,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=u(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;var n,l,h;r&&r.length&&p(r[0].value)?(m(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render(),n=this.getMaxLabelSize(),h=2*(l=this.ranges[0].radius),e=0<(e=a-l+n.width)?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=h+e+i,s.labelHeight=h+n.height/2):t.options.bubbleLegend.autoRanges=!0}setOptions(){let i=this.ranges,s=this.options,o=this.chart.series[s.seriesIndex],r=this.legend.baseline,a={zIndex:s.zIndex,"stroke-width":s.borderWidth},n={zIndex:s.zIndex,"stroke-width":s.connectorWidth},l={align:this.legend.options.rtl||"left"===s.labels.align?"right":"left",zIndex:s.zIndex},h=o.options.marker.fillOpacity,p=this.chart.styledMode;i.forEach(function(t,e){p||(a.stroke=u(t.borderColor,s.borderColor,o.color),a.fill=u(t.color,s.color,1!==h?d(o.color).setOpacity(h).get("rgba"):o.color),n.stroke=u(t.connectorColor,s.connectorColor,o.color)),i[e].radius=this.getRangeRadius(t.value),i[e]=c(i[e],{center:i[0].radius-i[e].radius+r}),p||c(!0,i[e],{bubbleAttribs:c(a),connectorAttribs:c(n),labelAttribs:l})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(var s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=s.connectorDistance||0,u=o.align,m=i.options.rtl,g=s.borderWidth,b=s.connectorWidth,f=e.radius||0,y=p-d-g/2+b/2,x=(y%1?1:.5)-(b%2?0:.5),M=n.styledMode,v=m||"left"===u?-c:c,j=("center"===u&&(v=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(f,p+x,d).attr(M?{}:t.bubbleAttribs).addClass((M?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",f,y],["L",f+v,y]],s.connectorWidth)).attr(M?{}:t.connectorAttribs).addClass((M?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol)),n.text(this.formatLabel(t)).attr(M?{}:t.labelAttribs).css(M?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol)),C={x:f+v+s.labels.x,y:y+s.labels.y+.4*j.getBBox().height};j.attr(C),h.push(j),j.placed=!0,j.alignAttr=C}getMaxLabelSize(){let e,i;return this.symbols.labels.forEach(function(t){i=t.getBBox(!0),e=!e||i.width>e.width?i:e}),e||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,o=this.chart["numberFormatter"];return s?r.format(s,t):i?i.call(t):o(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.zData.filter(p)).length&&(r=u(t.options.zMin,Math.min(r,Math.max(l(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=u(t.options.zMax,Math.max(a,n(o))))}),s=r===a?[{value:a}]:[{value:r},{value:(r+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=c(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(a,r),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+o)*(u=parseFloat(u))/100/(u/100+1),(s&&a-c>=r||!s&&r-c>=a)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();1{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),b(a,u(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),b(a,u(a))))}function c(t){let e=t.series,i=0;for(;io.height&&(o.height=e[l].itemHeight);o.step=n}return i}function m(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,o=c(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),0<=o&&i.enabled&&s.enabled&&(s.seriesIndex=o,this.bubbleLegend=new r(s,this),this.bubbleLegend.addToLegend(t.allItems))}function g(t){if(t.defaultPrevented)return!1;let e=t.legendItem,i=this.chart,s=e.visible;this&&this.bubbleLegend&&(e.visible=!s,e.ignoreSeries=s,t=0<=c(i),this.bubbleLegend.visible!==t&&(this.update({bubbleLegend:{enabled:t}}),this.bubbleLegend.visible=t),e.visible=s)}function b(t,i){let e=t.allItems,s=t.options.rtl,o,r,a,n,l=0;e.forEach((t,e)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),e>i[l].step&&l++,n.group.attr({translateY:Math.round(r+i[l].height/2)}),n.y=r+i[l].height/2)})}return{compose:function(t,e){h(a,"Series.BubbleLegend")&&(o({legend:{bubbleLegend:i}}),p(t.prototype,"drawChartBox",d),n(e,"afterGetAllItems",m),n(e,"itemClick",g))}}}),e(t,"Series/Bubble/BubblePoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{scatter:{prototype:{pointClass:s}}}=e["seriesTypes"],o=i["extend"];class r extends s{haloPath(o){o=(o&&this.marker&&this.marker.radius||0)+o;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:e,yAxis:i,chart:s}=this.series;return s.renderer.symbols.circle(e.len-t[1]-o,i.len-t[0]-o,2*o,2*o)}return t.prototype.haloPath.call(this,o)}}return o(r.prototype,{ttBelow:!1}),r}),e(t,"Series/Bubble/BubbleSeries.js",[t["Series/Bubble/BubbleLegendComposition.js"],t["Series/Bubble/BubblePoint.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(s,t,e,i,o,r){let a=e["parse"],{composed:n,noop:l}=i,{series:h,seriesTypes:{column:{prototype:p},scatter:d}}=o,{addEvent:c,arrayMax:u,arrayMin:m,clamp:g,extend:b,isNumber:f,merge:y,pick:x,pushUnique:M}=r;function v(){let t=this.len,{coll:e,isXAxis:o,min:r}=this,a=o?"xData":"yData",n=(this.max||0)-(r||0),l=0,h=t,p=t/n,d;"xAxis"!==e&&"yAxis"!==e||(this.series.forEach(e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,d=!0;var i,s=e[a];if(o&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),0{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/p)})))}class j extends d{static compose(t,e,i){s.compose(e,i),M(n,"Series.Bubble")&&c(t,"foundExtremes",v)}animate(t){!t&&this.points.length{t.bubblePadding&&t.reserveSpace()&&((t=(t.onPoint||t).getZExtremes())&&(i=Math.min(x(i,t.zMin),t.zMin),s=Math.max(x(s,t.zMax),t.zMax),e=!0))}),e?(a={zMin:i,zMax:s},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o{let e;return"string"==typeof t&&(e=/%$/.test(t),t=parseInt(t,10)),e?i*t/100:t},e=t(x(this.options.minSize,8)),s=Math.max(t(x(this.options.maxSize,"20%")),e);return{minPxSize:e,maxPxSize:s}}getZExtremes(){var t=this.options,e=(this.zData||[]).filter(f);if(e.length){var i=x(t.zMin,g(m(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),t=x(t.zMax,u(e));if(f(i)&&f(t))return{zMin:i,zMax:t}}}}return j.defaultOptions=y(d.defaultOptions,{dataLabels:{formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["z"];return f(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),b(j.prototype,{alignDataLabel:p.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:t,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),c(j,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),c(j,"remove",t=>{delete t.target.chart.bubbleZExtremes}),o.registerSeriesType("bubble",j),j}),e(t,"Series/MapBubble/MapBubblePoint.js",[t["Series/Bubble/BubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{map:{prototype:{pointClass:{prototype:s}}}}=e["seriesTypes"],o=i["extend"];class r extends t{isValid(){return"number"==typeof this.z}}return o(r.prototype,{applyOptions:s.applyOptions,getProjectedBounds:s.getProjectedBounds}),r}),e(t,"Series/MapBubble/MapBubbleSeries.js",[t["Series/Bubble/BubbleSeries.js"],t["Series/MapBubble/MapBubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{map:{prototype:o},mappoint:{prototype:r}}=i["seriesTypes"],{extend:a,merge:n}=s;class l extends t{constructor(){super(...arguments),this.clearBounds=o.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){r.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(t,e,i){super.updateParallelArrays.call(this,t,e,i);let s=this.processedXData,o=this.xData;s&&o&&(s.length=o.length)}}return l.defaultOptions=n(t.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),a(l.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:o.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:e,processData:o.processData,projectPoint:r.projectPoint,kdAxisArray:["plotX","plotY"],setData:o.setData,setOptions:o.setOptions,updateData:o.updateData,useMapGeometry:!0,xyFromShape:!0}),i.registerSeriesType("mapbubble",l),l}),e(t,"Series/Heatmap/HeatmapPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["scatter"],{clamp:r,defined:m,extend:s,pick:a}=e;class o extends i{applyOptions(t,e){return!this.isNull&&null!==this.value||delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,s=(e.rowsize||1)/2,l=t.xAxis,h=t.yAxis,p=this.options.marker||t.options.marker,o=t.pointPlacementToXValue(),d=a(this.pointPadding,e.pointPadding,0),c={x1:r(Math.round(l.len-l.translate(this.x-i,!1,!0,!1,!0,-o)),-l.len,2*l.len),x2:r(Math.round(l.len-l.translate(this.x+i,!1,!0,!1,!0,-o)),-l.len,2*l.len),y1:r(Math.round(h.translate(this.y-s,!1,!0,!1,!0)),-h.len,2*h.len),y2:r(Math.round(h.translate(this.y+s,!1,!0,!1,!0)),-h.len,2*h.len)};for(var u of[["width","x"],["height","y"]]){let t=u[0],e=u[1],i=e+"1",s=e+"2",o=Math.abs(c[i]-c[s]),r=p&&p.lineWidth||0,a=Math.abs(c[i]+c[s])/2,n=p&&p[t];m(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),e(t,"Series/InterpolationUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let s=t["doc"],{defined:o,pick:r}=e;return{colorFromPoint:function(e,i){let s=i.series.colorAxis;if(s){let t=s.toColor(e||0,i).split(")")[0].split("(")[1].split(",").map(t=>r(parseFloat(t),parseInt(t,10)));return t[3]=255*r(t[3],1),o(e)&&i.visible||(t[3]=0),t}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=s.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}}}),e(t,"Series/Heatmap/HeatmapSeries.js",[t["Core/Color/Color.js"],t["Series/ColorMapComposition.js"],t["Series/Heatmap/HeatmapPoint.js"],t["Series/Heatmap/HeatmapSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"],t["Series/InterpolationUtilities.js"]],function(h,t,e,i,s,o,r,a){let{series:p,seriesTypes:{column:n,scatter:l}}=s,{symbols:d}=o["prototype"],{addEvent:c,extend:u,fireEvent:m,isNumber:g,merge:b,pick:f}=r,{colorFromPoint:z,getContext:k}=a;class y extends l{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let L=this,t=L.options,e=t.interpolation,i=t.marker||{};if(e){let{image:M,chart:v,xAxis:j,yAxis:C}=L,{reversed:w=!1,len:t}=j,{reversed:P=!1,len:e}=C,S={width:t,height:e};if(!M||L.isDirtyData||L.isDirtyCanvas){let m=k(L),{canvas:g,options:{colsize:b=1,rowsize:f=1},points:y,points:{length:x}}=L,t=v.colorAxis&&v.colorAxis[0];if(g&&m&&t){let{min:e,max:t}=j.getExtremes(),{min:i,max:s}=C.getExtremes(),o=t-e,r=s-i,a=Math.round(o/b/8*8),n=Math.round(r/f/8*8),[l,h]=[[a,a/o,w,"ceil"],[n,n/r,!P,"floor"]].map(([e,i,t,s])=>t?t=>Math[s](e-i*t):t=>Math[s](i*t)),p=g.width=a+1,d=p*(g.height=n+1),c=(x-1)/d,u=new Uint8ClampedArray(4*d);L.buildKDTree();for(let t=0;t{t.graphic&&(t.graphic[L.chart.styledMode?"css":"animate"](L.colorAttribs(t)),null===t.value&&t.graphic.addClass("highcharts-null-point"))}))}getExtremes(){var{dataMin:t,dataMax:e}=p.prototype.getExtremes.call(this,this.valueData);return g(t)&&(this.valueMin=t),g(e)&&(this.valueMax=e),p.prototype.getExtremes.call(this)}getValidPoints(t,e){return p.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.xData}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=f(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,d.ellipse=d.circle,t.marker&&g(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){var i,s=t.shapeArgs||{};return t.hasImage?{x:t.plotX,y:t.plotY}:e&&"normal"!==e?(t=t.options.marker||{},i=(i=this.options.marker||{}).states&&i.states[e]||{},e=((t=t.states&&t.states[e]||{}).width||i.width||s.width||0)+(t.widthPlus||i.widthPlus||0),t=(t.height||i.height||s.height||0)+(t.heightPlus||i.heightPlus||0),{x:(s.x||0)+((s.width||0)-e)/2,y:(s.y||0)+((s.height||0)-t)/2,width:e,height:t}):s}pointAttribs(t,e){let i=p.prototype.pointAttribs.call(this,t,e),s=this.options||{},o=this.chart.options.plotOptions||{},r=o.series||{},a=o.heatmap||{},n=t&&t.options.borderColor||s.borderColor||a.borderColor||r.borderColor,l=t&&t.options.borderWidth||s.borderWidth||a.borderWidth||r.borderWidth||i["stroke-width"];return i.stroke=t&&t.marker&&t.marker.lineColor||s.marker&&s.marker.lineColor||n||this.color,i["stroke-width"]=l,e&&"normal"!==e&&(t=b(s.states&&s.states[e],s.marker&&s.marker.states&&s.marker.states[e],t&&t.options.states&&t.options.states[e]||{}),i.fill=t.color||h.parse(i.fill).brighten(t.brightness||0).get(),i.stroke=t.lineColor||i.stroke),i}translate(){let{borderRadius:r,marker:t}=this.options,a=t&&t.symbol||"rect",n=d[a]?a:"rect",l=-1!==["circle","square"].indexOf(n);var e,i,h,p;this.processedXData||({xData:e,yData:i}=this.getProcessedData(),this.processedXData=e,this.processedYData=i);for(h of(this.generatePoints(),this.points)){let t=h.getCellAttributes(),e=Math.min(t.x1,t.x2),i=Math.min(t.y1,t.y2),s=Math.max(Math.abs(t.x2-t.x1),0),o=Math.max(Math.abs(t.y2-t.y1),0);h.hasImage=0===(h.marker&&h.marker.symbol||a||"").indexOf("url"),l&&(p=Math.abs(s-o),e=Math.min(t.x1,t.x2)+(snew l(this,t)))}function m(e){let t=this.chart.colorAxis||[],i=t=>{t=e.allItems.indexOf(t);-1!==t&&(this.destroyItem(e.allItems[t]),e.allItems.splice(t,1))},s=[],o,r;for(t.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?s=s.concat(t.getDataClassLegendSymbols()):o.visible&&s.push(t),t.series.forEach(function(t){t.options.showInLegend&&!o.dataClasses||("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=s.length;r--;)e.allItems.unshift(s[r])}function g(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function b(e){this.chart.colorAxis?.forEach(t=>{t.update({},e.redraw)})}function f(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function y(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function x(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function M(){let i=this,t=this.getPointsCollection(),s=this.options.nullColor,o=this.colorAxis,r=this.colorKey;t.forEach(t=>{var e=t.getNestedProperty(r),e=t.options.color||(t.isNull||null===t.value?s:o&&void 0!==e?o.toColor(e,t):t.color||i.color);e&&t.color!==e&&(t.color=e,"point"===i.options.legendType&&t.legendItem&&t.legendItem.label&&i.chart.legend.colorizeItem(t,t.visible))})}function v(){this.elem.attr("fill",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}function j(){this.elem.attr("stroke",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}t.compose=function(t,e,s,i,o){let r=e.prototype,a=s.prototype,n=o.prototype;if(!r.collectionsWithUpdate.includes("colorAxis")){l=t,r.collectionsWithUpdate.push("colorAxis"),r.collectionsWithInit.colorAxis=[r.addColorAxis],h(e,"afterGetAxes",u);{s=e;let i=s.prototype.createAxis;s.prototype.createAxis=function(t,e){if("colorAxis"!==t)return i.apply(this,arguments);t=new l(this,d(e.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),c(e.redraw,!0)&&this.redraw(e.animation),t}}a.fillSetter=v,a.strokeSetter=j,h(i,"afterGetAllItems",m),h(i,"afterColorizeItem",g),h(i,"afterUpdate",b),p(n,{optionalAxis:"colorAxis",translateColors:M}),p(n.pointClass.prototype,{setVisible:x}),h(o,"afterTranslate",f,{order:1}),h(o,"bindAxes",y)}},t.pointSetVisible=x}return i}),e(t,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),e(t,"Core/Axis/Color/ColorAxisLike.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(t,e){let p=t["parse"],d=e["merge"];return t={initDataClasses:function(t){let i=this.chart,e=this.legendItem=this.legendItem||{},s=this.options,o=t.dataClasses||[],r,a,n=i.options.chart.colorCount,l=0,h;this.dataClasses=a=[],e.labels=[];for(let t=0,e=o.length;t=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r}},t}),e(t,"Core/Axis/Color/ColorAxis.js",[t["Core/Axis/Axis.js"],t["Core/Axis/Color/ColorAxisComposition.js"],t["Core/Axis/Color/ColorAxisDefaults.js"],t["Core/Axis/Color/ColorAxisLike.js"],t["Core/Defaults.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,o,e,i,s,u,r,a){let n=s["defaultOptions"],d=r["series"],{defined:c,extend:m,fireEvent:g,isArray:l,isNumber:h,merge:p,pick:b,relativeLength:f}=a;n.colorAxis=p(n.xAxis,e);class y extends t{static compose(t,e,i,s){o.compose(y,t,e,i,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){var i=t.options.legend||{},i=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||i?2:1,this.reversed=e.reversed||!i,this.opposite=!i,super.init(t,e,"colorAxis"),this.userOptions=e,l(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=i,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){t=p(n.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(t),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||y.defaultLegendLength}getOffset(){var t=this.legendItem?.group,i=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let e=this.chart.legend;e.allItems.forEach(function(t){t instanceof y&&t.drawLegendSymbol(e,t)}),e.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=i}}setLegendColor(){var t=this.horiz,e=this.reversed,i=e?1:0,e=e?0:1,t=t?[i,0,e,0]:[0,e,0,i];this.legendColor={linearGradient:{x1:t[0],y1:t[1],x2:t[2],y2:t[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,o=t.options,r=this.options.labels,a=b(o.itemDistance,10),n=this.horiz,{width:l,height:h}=this.getSize(),p=b(o.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+s+(n?a:b(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+s+(n?p:0)}setState(e){this.series.forEach(function(t){t.setState(e)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,o,r,a,n=t.length,l,h;for(this.dataMin=1/0,this.dataMax=-1/0;n--;){if(i=(a=t[n]).colorKey=b(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y"),o=a.pointArrayMap,r=a[i+"Min"]&&a[i+"Max"],a[i+"Data"])e=a[i+"Data"];else if(o){if(e=[],s=o.indexOf(i),l=a.yData,0<=s&&l)for(h=0;ha+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){var e=this.left,i=t.translatedValue,s=this.top;return h(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(var i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let a,n=this,l=n.chart,h=n.legendItem&&n.legendItem.labels||[],t=l.options.legend,p=b(t.valueDecimals,-1),d=b(t.valueSuffix,""),c=i=>n.series.reduce((t,e)=>(t.push(...e.points.filter(t=>t.dataClass===i)),t),[]);return h.length||n.dataClasses.forEach((t,i)=>{let e=t.from,s=t.to,o=l["numberFormatter"],r=!0;a="",void 0===e?a="< ":void 0===s&&(a="> "),void 0!==e&&(a+=o(e,p)+d),void 0!==e&&void 0!==s&&(a+=" - "),void 0!==s&&(a+=o(s,p)+d),h.push(m({chart:l,name:a,options:{},drawLegendSymbol:u.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(var e of c(i))e.setState(t)},setVisible:function(){this.visible=r=n.visible=!r;let t=[];for(var e of c(i))e.setVisible(r),e.hiddenInDataClass=!r,-1===t.indexOf(e.series)&&t.push(e.series);l.legend.colorizeItem(this,r),t.forEach(t=>{g(t,"afterDataClassLegendClick")})}},t))}),h}getSize(){var{chart:t,horiz:e}=this,{height:i,width:s}=this.options,o=t.options["legend"];return{width:b(c(s)?f(s,t.chartWidth):void 0,o?.symbolWidth,e?y.defaultLegendLength:12),height:b(c(i)?f(i,t.chartHeight):void 0,o?.symbolHeight,e?12:y.defaultLegendLength)}}}return y.defaultLegendLength=200,y.keepProps=["legendItem"],m(y.prototype,i),Array.prototype.push.apply(t.keepProps,y.keepProps),y}),e(t,"masters/modules/coloraxis.src.js",[t["Core/Globals.js"],t["Core/Axis/Color/ColorAxis.js"]],function(t,e){return t.ColorAxis=t.ColorAxis||e,t.ColorAxis.compose(t.Chart,t.Fx,t.Legend,t.Series),t}),e(t,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),e(t,"Maps/MapPointer.js",[t["Core/Utilities.js"]],function(t){var e;let{defined:r,extend:a,pick:i,wrap:n}=t;{t=e=e||{};let s,o=0;function l(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function h(t){let e=this.chart,i=r((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;1<=Math.abs(i)&&(o+=Math.abs(i),s&&clearTimeout(s),s=setTimeout(()=>{o=0},50)),o<10&&e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapView&&e.mapView.zoomBy(-(e.options.mapNavigation.mouseWheelSensitivity-1)*i,void 0,[t.chartX,t.chartY],!(Math.abs(i)<1)&&void 0)}function p(t,e,i){let s=this.chart;return e=t.call(this,e,i),s&&s.mapView&&(t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop}))&&a(e,t),e}function d(t){var e=this.chart.options.mapNavigation;e&&i(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){t=t.prototype;t.onContainerDblClick||(a(t,{onContainerDblClick:l,onContainerMouseWheel:h}),n(t,"normalize",p),n(t,"zoomOption",d))}}return e}),e(t,"Maps/MapSymbols.js",[],function(){let a;function e(t,e,i,s,o){var r;return o&&(r=o?.r||0,o.brBoxY=e-r,o.brBoxHeight=s+r),a.roundedRect(t,e,i,s,o)}function i(t,e,i,s,o){var r;return o&&(r=o?.r||0,o.brBoxHeight=s+r),a.roundedRect(t,e,i,s,o)}return{compose:function(t){(a=t.prototype.symbols).bottombutton=e,a.topbutton=i}}}),e(t,"Maps/MapNavigation.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Maps/MapNavigationDefaults.js"],t["Maps/MapPointer.js"],t["Maps/MapSymbols.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i){let a=t["setOptions"],n=e["composed"],{addEvent:u,extend:m,merge:g,objectEach:b,pick:f,pushUnique:l}=i;function y(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}return class h{static compose(t,e,i){o.compose(e),r.compose(i),l(n,"Map.Navigation")&&(u(t,"beforeRender",function(){this.mapNavigation=new h(this),this.mapNavigation.update()}),a(s))}constructor(t){this.chart=t,this.navButtons=[]}update(t){function l(t){this.handler.call(p,t),y(t)}let h=this,p=h.chart,d=h.navButtons,c=p.options.mapNavigation;for(t&&(c=p.options.mapNavigation=g(p.options.mapNavigation,t));d.length;)d.pop().destroy();!p.renderer.forExport&&f(c.enableButtons,c.enabled)&&(h.navButtonsGroup||(h.navButtonsGroup=p.renderer.g().attr({zIndex:7}).add()),b(c.buttons,(i,t)=>{let e={padding:(i=g(c.buttonOptions,i)).padding},{text:s,width:o=0,height:r=0,padding:a=0}=(!p.styledMode&&i.theme&&(m(e,i.theme),e.style=g(i.theme.style,i.style)),i),n=p.renderer.button("+"!==s&&"-"!==s&&s||"",0,0,l,e,void 0,void 0,void 0,"zoomIn"===t?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[t]).attr({width:o,height:r,title:p.options.lang[t],zIndex:5}).add(h.navButtonsGroup);if("+"===s||"-"===s){let t=o+1,e=[["M",a+3,a+r/2],["L",a+t-3,a+r/2]];"+"===s&&e.push(["M",a+t/2,a+3],["L",a+t/2,a+r-3]),p.renderer.path(e).addClass("highcharts-button-symbol").attr(p.styledMode?{}:{stroke:i.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(n)}if(n.handler=i.onclick,u(n.element,"dblclick",y),d.push(n),m(i,{width:n.width,height:2*(n.height||0)}),p.hasLoaded)n.align(i,!1,i.alignTo);else{let t=u(p,"load",()=>{n.element&&n.align(i,!1,i.alignTo),t()})}}),p.hasLoaded||u(p,"render",function(){var t,e,i,s=p.exportingGroup&&p.exportingGroup.getBBox();s&&(t=h.navButtonsGroup.getBBox(),e=s,(i=t).x>=e.x+e.width||i.x+i.width<=e.x||i.y>=e.y+e.height||i.y+i.height<=e.y||(i=-t.y-t.height+s.y-5,e=s.y+s.height-t.y+5,s=c.buttonOptions&&c.buttonOptions.verticalAlign,h.navButtonsGroup.attr({translateY:"bottom"===s?i:e})))})),this.updateEvents(c)}updateEvents(t){let e=this.chart;f(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||u(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),f(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||u(e.container,"wheel",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),y(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}}),e(t,"Series/ColorMapComposition.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,s,e){var i;let o=t.seriesTypes["column"]["prototype"],{addEvent:r,defined:a}=e;return(t=i=i||{}).pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return!a(t.color)||t.state&&"normal"!==t.state||(e[this.colorProp||"fill"]=t.color),e},pointAttribs:o.pointAttribs},t.compose=function(t){return r(t.prototype.pointClass,"afterSetState",n),t},i;function n(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new s(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),"hover"===t?.state?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:i.url+"#"+this.id,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}}),e(t,"Core/Chart/MapChart.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s){var o;let r=e["getOptions"],{isNumber:a,merge:n,pick:l}=s;class h extends t{init(t,e){var i=r().credits,i=n({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:l(i.mapText,' © {geojson.copyrightShort}'),mapTextFull:l(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(i,e)}mapZoom(t,e,i,s,o){this.mapView&&(a(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,a(e)&&a(i)?this.mapView.projection.inverse([e,i]):void 0,a(s)&&a(o)?[s,o]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}return(o=h=h||{}).maps={},o.mapChart=function(t,e,i){return new o(t,e,i)},o.splitPath=function(t){t="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t;return i.prototype.pathToSegments(t)},h}),e(t,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(t){let i=-Number.MAX_VALUE,s=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,a;if(t.forEach(t=>{var e=t[t.length-2],t=t[t.length-1];"number"==typeof e&&"number"==typeof t&&(s=Math.min(s,e),i=Math.max(i,e),r=Math.min(r,t),o=Math.max(o,t),a=!0)}),a)return{x1:s,y1:r,x2:i,y2:o}}}}),e(t,"Series/Map/MapPoint.js",[t["Series/ColorMapComposition.js"],t["Maps/MapUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let a=e["boundsFromPath"],o=i.seriesTypes.scatter.prototype.pointClass,{extend:r,isNumber:n,pick:l}=s;class h extends o{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),o=i.joinBy;return i.mapData&&i.mapMap&&(t=o[1],(t=void 0!==(e=super.getNestedProperty(t))&&i.mapMap[e])?r(s,{...t,name:s.name??t.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)),s}getProjectedBounds(t){let e=a(h.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){var o=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(s&&n(o)&&n(r)){t=t.forward([o,r]);e.midX=t[0],e.midY=t[1]}else{o=i&&i["hc-middle-x"],r=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*l(this.middleX,n(o)?o:.5);let t=l(this.middleY,n(r)?r:.5);this.geometry||(t=1-t),e.midY=e.y2-(e.y2-e.y1)*t}return e}}onMouseOver(t){s.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(e){let i=this.series.chart,s=i.mapView,o=this.bounds;if(s&&o){let t=n(this.insetIndex)&&s.insets[this.insetIndex];var r,a;t&&(r=t.projectedUnitsToPixels({x:o.x1,y:o.y1}),a=t.projectedUnitsToPixels({x:o.x2,y:o.y2}),r=s.pixelsToProjectedUnits({x:r.x,y:r.y}),a=s.pixelsToProjectedUnits({x:a.x,y:a.y}),o={x1:r.x,y1:r.y,x2:a.x,y2:a.y}),s.fitToBounds(o,void 0,!1),this.series.isDirty=!0,i.redraw(e)}}}return r(h.prototype,{dataLabelOnNull:t.pointMembers.dataLabelOnNull,moveToTopOnHover:t.pointMembers.moveToTopOnHover,isValid:t.pointMembers.isValid}),h}),e(t,"Series/Map/MapSeriesDefaults.js",[t["Core/Utilities.js"]],function(t){let i=t["isNumber"];return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["value"];return i(e)?t(e,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
    "},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),e(t,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),e(t,"Maps/GeoJSONComposition.js",[t["Core/Globals.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i){var s;let u=t["win"],p=e["format"],{error:m,extend:d,merge:o,wrap:r}=i;return(t=s=s||{}).compose=function(t){let e=t.prototype;e.transformFromLatLon||(e.fromLatLonToPoint=a,e.fromPointToLatLon=n,e.transformFromLatLon=l,e.transformToLatLon=h,r(e,"addCredits",g))},t.geojson=function(t,i="map",e){let s=[],o="Topology"===t.type?c(t):t,r=o.features;for(let e=0,t=r.length;e"number"==typeof t[0]?t.reduce((t,e,i)=>{let s=e<0?r[~e]:r[e];return e<0?(s=s.slice(0,0===i?s.length:s.length-1)).reverse():i&&(s=s.slice(1)),t.concat(s)},[]):t.map(s),o=i.geometries,p=[];for(let t=0,e=o.length;t(e[1]-t[1])*(i[0]-t[0])}function p(t,e,i,s){let o=[t[0]-e[0],t[1]-e[1]],r=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],l=1/(o[0]*r[1]-o[1]*r[0]),h=[(a*r[0]-n*o[0])*l,(a*r[1]-n*o[1])*l];return h.isIntersection=!0,h}return{clipLineString:function(t,e){let i=[],s=o(t,e,!1);for(let t=1;t0===t?0:0Math.tan((d+t)/2);return class{constructor(t){var e=(t.parallels||[]).map(t=>t*p),i=e[0]||0,e=e[1]??i,s=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let o=i===e?Math.sin(i):Math.log(s/Math.cos(e))/Math.log(c(e)/c(i));Math.abs(o)<1e-10&&(o=1e-10*(n(o)||1)),this.n=o,this.c=s*Math.pow(c(i),o)/o}forward(t){let{c:e,n:i,projectedBounds:s}=this,o=t[0]*p,r=t[1]*p,a=(0d-1e-6&&(r=d-1e-6),e/Math.pow(c(r),i)),n=a*Math.sin(i*o)*63.78137,l=63.78137*(e-a*Math.cos(i*o)),h=[n,l];return s&&(ns.x2||ls.y2)&&(h.outside=!0),h}inverse(t){let{c:e,n:i}=this,s=t[0]/63.78137,o=e-t[1]/63.78137,r=n(i)*Math.sqrt(s*s+o*o),a=Math.atan2(s,Math.abs(o))*n(o);return o*i<0&&(a-=Math.PI*n(s)*n(o)),[a/i/p,(2*Math.atan(Math.pow(e/r,1/i))-d)/p]}}}),e(t,"Maps/Projections/EqualEarth.js",[],function(){let p=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){var e=Math.PI/180,i=Math.asin(p*Math.sin(t[1]*e)),s=i*i,o=s*s*s;return[t[0]*e*Math.cos(i)*74.03120656864502/(p*(1.340264+-.24331799999999998*s+o*(.0062510000000000005+.034164*s))),74.03120656864502*i*(1.340264+-.081106*s+o*(893e-6+.003796*s))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,s=180/Math.PI,o=i,r,a,n,l;for(let t=0;t<12&&(a=(r=o*o)*r*r,n=o*(1.340264+-.081106*r+a*(893e-6+.003796*r))-i,o-=l=n/(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r)),!(Math.abs(l)<1e-9));++t);a=(r=o*o)*r*r;var t=s*p*e*(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r))/Math.cos(o),h=s*Math.asin(Math.sin(o)/p);return 180this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*s),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/s]}}}),e(t,"Maps/Projections/ProjectionRegistry.js",[t["Maps/Projections/LambertConformalConic.js"],t["Maps/Projections/EqualEarth.js"],t["Maps/Projections/Miller.js"],t["Maps/Projections/Orthographic.js"],t["Maps/Projections/WebMercator.js"]],function(t,e,i,s,o){return{EqualEarth:e,LambertConformalConic:t,Miller:i,Orthographic:s,WebMercator:o}}),e(t,"Maps/Projection.js",[t["Core/Geometry/PolygonClip.js"],t["Maps/Projections/ProjectionRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{clipLineString:x,clipPolygon:M}=t,{clamp:p,erase:d}=i,T=2*Math.PI/360,c=t=>(t<-180&&(t+=360),180(1-Math.cos(t))/2;class D{static add(t,e){D.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,o=((t,e)=>{let i=Math.cos,s=t[1]*T,o=t[0]*T,r=e[1]*T,a=e[0]*T;return n(r-s)+i(s)*i(r)*n(a-o)})(t,e);return 2*i(s(o),s(1-o))*6371e3}static geodesic(t,e,i,s=5e5){let{atan2:o,cos:r,sin:a,sqrt:n}=Math,l=D.distance,h=t[1]*T,p=t[0]*T,d=e[1]*T,c=e[0]*T,u=r(h)*r(p),m=r(d)*r(c),g=r(h)*a(p),b=r(d)*a(c),f=a(h),y=a(d),x=l(t,e),M=x/6371e3,v=a(M),j=Math.round(x/s),C=[];if(i&&C.push(t),1r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:o}=this.bounds||{},r=(t,e,i)=>{var s,[t,o]=t,r=e?0:1;if("number"==typeof i&&t[e]>=i!=o[e]>=i)return s=(i-t[e])/(o[e]-t[e]),s=t[r]+s*(o[r]-t[r]),e?[s,i]:[i,s]},a,n=t[0];return((a=r(t,0,e))||(a=r(t,0,i)))&&(n=a,t[1]=a),n=(a=r(t,1,s))||(a=r(t,1,o))?a:n}getRotator(t){let o=t[0]*T,e=(t[1]||0)*T,i=(t[2]||0)*T,r=Math.cos(e),a=Math.sin(e),n=Math.cos(i),l=Math.sin(i);if(0!=o||0!=e||0!=i)return{forward:t=>{var e=t[0]*T+o,t=t[1]*T,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*r+s*a;return[Math.atan2(e*n-t*l,s*r-i*a)/T,Math.asin(t*n+e*l)/T]},inverse:t=>{var e=t[0]*T,t=t[1]*T,i=Math.cos(t),s=Math.cos(e)*i,e=Math.sin(e)*i,i=Math.sin(t),t=i*n-e*l;return[(Math.atan2(e*n+i*l,s*r+t*a)-o)/T,Math.asin(t*r-s*a)/T]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(r,s){let l,a=[],h=[r];for(let i=0,t=r.length;iMath.abs(e.lat)-Math.abs(t.lat))[0],d(a,l));let o=a.length-2;for(;0<=o;){let t=a[o].i,e=c(180+1e-6*a[o].direction),i=c(180-1e-6*a[o].direction),s=r.splice(t,a[o+1].i-t,...D.geodesic([e,a[o].lat],[e,a[o+1].lat],!0));s.push(...D.geodesic([i,a[o+1].lat],[i,a[o].lat],!0)),h.push(s),o-=2}if(l)for(let t=0;t{let e=t.map(e=>{if(f){let t=(e=s?s.forward(e):e)[0];e=[t=Math.abs(t-180)<1e-6?t<180?179.999999:180.000001:t,e[1]]}return e}),i=[e];b&&(D.insertGeodesics(e),f&&(i=this.cutOnAntimeridian(e,g))),i.forEach(n=>{let l,h;if(!(n.length<2)){let e=!1,i=!1,s=t=>{e?m.push(["L",t[0],t[1]]):(m.push(["M",t[0],t[1]]),e=!0)},o=!1,r=!1,a=n.map(t=>{let e=y.forward(t);return e.outside?o=!0:r=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(f){if(g&&a.push(a[0]),o){if(!r)return;if(c)if(g)a=M(a,c);else if(u)return void x(a,c).forEach(t=>{e=!1,t.forEach(s)})}a.forEach(s)}else for(let t=0;ts(y.forward(t))):e=!1),s(d),h=p,!1)}}})});return"LineString"===t.type?o(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>o(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>o(t)),m.length&&m.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>o(t))}),m.length&&m.push(["Z"])),m}}return D.registry=e,D}),e(t,"Maps/MapView.js",[t["Core/Globals.js"],t["Maps/MapViewDefaults.js"],t["Maps/GeoJSONComposition.js"],t["Core/Geometry/GeometryUtilities.js"],t["Maps/MapUtilities.js"],t["Maps/Projection.js"],t["Core/Utilities.js"]],function(t,r,e,i,s,a,o){let n=t["composed"],l=i["pointInPolygon"],h=e["topo2geo"],p=s["boundsFromPath"],{addEvent:d,clamp:b,crisp:c,fireEvent:u,isArray:m,isNumber:f,isObject:g,isString:y,merge:x,pick:M,pushUnique:v,relativeLength:j}=o,C={};function w(t,e){var{width:e,height:i}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(e/256),(t.y2-t.y1)/(i/256)))/Math.log(2)}function P(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class S{static compose(t){v(n,"MapView")&&(C=t.maps,d(t,"afterInit",function(){this.mapView=new S(this,this.options.mapView)},{order:0}),d(t,"addSeriesAsDrilldown",P),d(t,"afterDrillUp",P))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),x(t[0]))}static mergeInsets(t,e){let i=t=>{let i={};return t.forEach((t,e)=>{i[t&&t.id||"i"+e]=t}),i},s=x(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof L||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=x(r,this.recommendedMapView,e),s=this.recommendedMapView?.insets,o=e&&e.insets;s&&o&&(i.insets=S.mergeInsets(s,o)),this.chart=t,this.center=i.center,this.options=i,this.projection=new a(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(d(t,"afterSetChartSize",()=>{this.playingField=this.getField(),void 0!==this.minZoom&&this.minZoom!==this.zoom||(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&f(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&x(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let e=this.options,t=e.insets;t&&t.forEach(t=>{t=new L(this,x(e.insetOptions,t));this.insets.push(t)})}fitToBounds(t,e,i=!0,s){var o,r=t||this.getProjectedBounds();r&&(e=M(e,t?0:this.options.padding),o=this.getField(!1),e=m(e)?e:[e,e,e,e],this.padding=[j(e[0],o.height),j(e[1],o.width),j(e[2],o.height),j(e[3],o.width)],this.playingField=this.getField(),e=w(r,this.playingField),t||(this.minZoom=e),o=this.projection.inverse([(r.x2+r.x1)/2,(r.y2+r.y1)/2]),this.setView(o,e,i,s))}getField(t=!0){t=t?this.padding:[0,0,0,0];return{x:t[3],y:t[0],width:this.chart.plotWidth-t[1]-t[3],height:this.chart.plotHeight-t[0]-t[2]}}getGeoMap(t){return y(t)?C[t]&&"Topology"===C[t].type?h(C[t]):C[t]:g(t,!0)?"FeatureCollection"===t.type?t:"Topology"===t.type?h(t):void 0:void 0}getMapBBox(){var t,e,i=this.getProjectedBounds(),s=this.getScale();if(i)return t=this.padding,e=this.projectedUnitsToPixels({x:i.x1,y:i.y2}),{width:(i.x2-i.x1)*s+t[1]+t[3],height:(i.y2-i.y1)*s+t[0]+t[2],x:e.x-t[3],y:e.y-t[0]}}getProjectedBounds(){let s=this.projection,t=this.chart.series.reduce((t,e)=>{var i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),o=this.options.fitToGeometry;if(o){if(!this.fitToGeometryCache)if("MultiPoint"===o.type){let t=o.coordinates.map(t=>s.forward(t)),e=t.map(t=>t[0]),i=t.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,e),x2:Math.max.apply(0,e),y1:Math.min.apply(0,i),y2:Math.max.apply(0,i)}}else this.fitToGeometryCache=p(s.path(o));return this.fitToGeometryCache}return this.projection.bounds||S.compositeBounds(t)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){var{x:t,y:e,width:i,height:s}=this.playingField,o=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),r=a*r;return{scaleX:a,scaleY:r,translateX:t+i/2-o[0]*a,translateY:e+s/2-o[1]*r}}lonLatToPixels(t){t=this.lonLatToProjectedUnits(t);if(t)return this.projectedUnitsToPixels(t)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){var o=e.transformFromLatLon(t,i[s]);if(o&&l(o,i[s].hitZone.coordinates[0]))return o}return e.transformFromLatLon(t,i.default)}for(var r of this.insets){var a;if(r.options.geoBounds&&l({x:t.lon,y:t.lat},r.options.geoBounds.coordinates[0]))return a=r.projection.forward([t.lon,t.lat]),r=r.projectedUnitsToPixels({x:a[0],y:a[1]}),this.pixelsToProjectedUnits(r)}var n=this.projection.forward([t.lon,t.lat]);if(!n.outside)return{x:n[0],y:n[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(var s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&l(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}var o,r,a=this.projectedUnitsToPixels(t);for(o of this.insets)if(o.hitZone&&l(a,o.hitZone.coordinates[0]))return r=o.pixelsToProjectedUnits(a),{lon:(r=o.projection.inverse([r.x,r.y]))[0],lat:r[1]};var n=this.projection.inverse([t.x,t.y]);return{lon:n[0],lat:n[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),o=[],r=(s.forEach(t=>{var e,i,s;t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)&&([t,e,i,s]=t.bbox,o.push({x1:t,y1:e,x2:i,y2:s}))}),o.length&&S.compositeBounds(o));u(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){var t,e,i,s;r&&this.recommendedMapView&&(this.recommendedMapView.projection||({x1:t,y1:e,x2:i,y2:s}=r,this.recommendedMapView.projection=180{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(h,p,t=!0,e){h&&(this.center=h),"number"==typeof p&&("number"==typeof this.minZoom&&(p=Math.max(p,this.minZoom)),"number"==typeof this.options.maxZoom&&(p=Math.min(p,this.options.maxZoom)),f(p)&&(this.zoom=p));var d,c,h=this.getProjectedBounds();if(h){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:o}=this.playingField,r=this.getScale(),a=this.projectedUnitsToPixels({x:h.x1,y:h.y1}),n=this.projectedUnitsToPixels({x:h.x2,y:h.y2}),l=[(h.x1+h.x2)/2,(h.y1+h.y2)/2];this.chart.series.some(t=>t.isDrilling)||(p=a.x,h=n.y,d=n.x,c=a.y,d-p{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}u(this,"afterSetView"),t&&this.redraw(e)}projectedUnitsToPixels(t){var e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,o=s.x+s.width/2,s=s.y+s.height/2;return{x:o-e*(i[0]-t.x),y:s+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){var{x:t,y:e}=t,i=this.getScale(),s=this.projection.forward(this.center),o=this.playingField,r=o.x+o.width/2,o=o.y+o.height/2;return{x:s[0]+(t-r)/i,y:s[1]-(e-o)/i}}setUpEvents(){let c,u,m,g=this["chart"],t=s=>{let{lastTouches:t,pinchDown:e}=g.pointer,o=this.projection,r=s.touches,{mouseDownX:a,mouseDownY:n}=g,l=0;if(1===e?.length?(a=e[0].chartX,n=e[0].chartY):2===e?.length&&(a=(e[0].chartX+e[1].chartX)/2,n=(e[0].chartY+e[1].chartY)/2),2===r?.length&&t&&(l=Math.log(Math.sqrt(Math.pow(t[0].chartX-t[1].chartX,2)+Math.pow(t[0].chartY-t[1].chartY,2))/Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2)))/Math.log(.5)),f(a)&&f(n)){let t=a+","+n,{chartX:e,chartY:i}=s.originalEvent;2===r?.length&&(e=(r[0].chartX+r[1].chartX)/2,i=(r[0].chartY+r[1].chartY)/2),t!==u&&(u=t,c=this.projection.forward(this.center),m=(this.projection.options.rotation||[0,0]).slice());var h,p,d=o.def&&o.def.bounds,d=d&&w(d,this.playingField)||-1/0;"Orthographic"===o.options.name&&(r?.length||0)<2&&(this.minZoom||1/0)<1.3*d?(d=440/(this.getScale()*Math.min(g.plotWidth,g.plotHeight)),m&&(h=(a-e)*d-m[0],d=b(-m[1]-(n-i)*d,-80,80),p=this.zoom,this.update({projection:{rotation:[-h,-d]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=p,g.redraw(!1))):f(e)&&f(i)&&(h=this.getScale(),d=this.projection.hasCoordinates?1:-1,p=this.projection.inverse([c[0]+(a-e)/h,c[1]-(n-i)/h*d]),isNaN(p[0]+p[1])||this.zoomBy(l,p,void 0,!1)),s.preventDefault()}};d(g,"pan",t),d(g,"touchpan",t),d(g,"selection",t=>{var e,i,s,o;t.resetSelection?this.zoomBy():(s=t.x-g.plotLeft,o=t.y-g.plotTop,{y:e,x:i}=this.pixelsToProjectedUnits({x:s,y:o}),{y:s,x:o}=this.pixelsToProjectedUnits({x:s+t.width,y:o+t.height}),this.fitToBounds({x1:i,y1:e,x2:o,y2:s},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||g.showResetZoom(),t.preventDefault())})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,o=s&&a.toString(s)!==a.toString(this.options.projection),r=!1;x(!0,this.userOptions,t),x(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,r=!0),(o||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(o||r)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,r&&e)for(;1[t[1]||0,t[2]||0])}}getField(l=!0){var h=this.hitZone;if(h){let t=l?this.padding:[0,0,0,0],e=h.coordinates[0],i=e.map(t=>t[0]),s=e.map(t=>t[1]),o=Math.min.apply(0,i)+t[3],r=Math.max.apply(0,i)-t[1],a=Math.min.apply(0,s)+t[0],n=Math.max.apply(0,s)-t[2];if(f(o)&&f(a))return{x:o,y:a,width:r-o,height:n-a}}return super.getField.call(this,l)}getHitZone(){let{chart:i,mapView:s,options:o}=this,e=(o.field||{})["coordinates"];if(e){let t=e[0];if("percent"===o.units){let e="mapBoundingBox"===o.relativeTo&&s.getMapBBox()||x(i.plotBox,{x:0,y:0});t=t.map(t=>[j(t[0]+"%",e.width,e.x),j(t[1]+"%",e.height,e.y)])}return{type:"Polygon",coordinates:[t]}}}getProjectedBounds(){return S.compositeBounds(this.allBounds)}isInside(t){var{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&l(t,i))}render(){let{chart:n,mapView:i,options:l}=this,s=l.borderPath||l.field;if(s&&i.group){let t=!0,r=(this.border||(this.border=n.renderer.path().addClass("highcharts-mapview-inset-border").add(i.group),t=!1),n.styledMode||this.border.attr({stroke:l.borderColor,"stroke-width":l.borderWidth}),this.border.strokeWidth()),a="mapBoundingBox"===l.relativeTo&&i.getMapBBox()||i.playingField,e=(s.coordinates||[]).reduce((t,e)=>e.reduce((t,e,i)=>{let[s,o]=e;return"percent"===l.units&&(s=n.plotLeft+j(s+"%",a.width,a.x),o=n.plotTop+j(o+"%",a.height,a.y)),s=c(s,r),o=c(o,r),t.push(0===i?["M",s,o]:["L",s,o]),t},t),[]);this.border[t?"animate":"attr"]({d:e})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}return S}),e(t,"Series/Map/MapSeries.js",[t["Core/Animation/AnimationUtilities.js"],t["Series/ColorMapComposition.js"],t["Series/CenteredUtilities.js"],t["Core/Globals.js"],t["Core/Chart/MapChart.js"],t["Series/Map/MapPoint.js"],t["Series/Map/MapSeriesDefaults.js"],t["Maps/MapView.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,b,s,f,o,a,r,n){let{animObject:g,stop:y}=t,l=b["noop"],h=s["splitPath"],{column:p,scatter:d}=r.seriesTypes,{extend:c,find:u,fireEvent:x,getNestedProperty:M,isArray:v,defined:m,isNumber:j,isObject:C,merge:w,objectEach:P,pick:S,splat:L}=n;class A extends d{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=g(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!(!this.isDirtyData&&!this.chart.isResizing&&this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let c=this,{chart:u,group:i,transformGroups:s=[]}=this,{mapView:o,renderer:m}=u;if(o){(this.transformGroups=s)[0]||(s[0]=m.g().add(i));for(let t=0,e=o.insets.length;t{let e=t["graphic"];t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),p.prototype.drawPoints.apply(this),this.points.forEach(e=>{let n=e.graphic;if(n){let a=n.animate,t="";e.name&&(t+="highcharts-name-"+e.name.replace(/ /g,"-").toLowerCase()),e.properties&&e.properties["hc-key"]&&(t+=" highcharts-key-"+e.properties["hc-key"].toString().toLowerCase()),t&&n.addClass(t),u.styledMode&&n.css(this.pointAttribs(e,e.selected?"select":void 0)),n.attr({visibility:e.visible||!e.visible&&!e.isNull?"inherit":"hidden"}),n.animate=function(t,e,i){var s,o=j(t["stroke-width"])&&!j(n["stroke-width"]),r=j(n["stroke-width"])&&!j(t["stroke-width"]);return(o||r)&&(s=S(c.getStrokeWidth(c.options),1)/(u.mapView&&u.mapView.getScale()||1),o&&(n["stroke-width"]=s),r&&(t["stroke-width"]=s)),a.call(n,t,e,r?function(){n.element.removeAttribute("stroke-width"),delete n["stroke-width"],i&&i.apply(this,arguments)}:i)}}})),s.forEach((a,t)=>{let n=(0===t?o:o.insets[t-1]).getSVGTransform(),l=S(this.getStrokeWidth(this.options),1),h=n.scaleX,p=0{(c.points||[]).forEach(t=>{let e,i=t.graphic;i&&i["stroke-width"]&&(e=this.getStrokeWidth(t.options))&&i.attr({"stroke-width":e/s})})};if(m.globalAnimation&&u.hasRendered&&o.allowTransformAnimation){let s=Number(a.attr("translateX")),o=Number(a.attr("translateY")),r=Number(a.attr("scaleX")),t=w(g(m.globalAnimation)),e=t.step;t.step=function(){e&&e.apply(this,arguments),((t,e)=>{var i=r+(h-r)*e.pos;a.attr({translateX:s+(n.translateX-s)*e.pos,translateY:o+(n.translateY-o)*e.pos,scaleX:i,scaleY:i*p,"stroke-width":l/i}),d(i)}).apply(this,arguments)},a.attr({animator:0}).animate({animator:1},t,function(){"boolean"!=typeof m.globalAnimation&&m.globalAnimation.complete&&m.globalAnimation.complete({applyDrilldown:!0}),x(this,"mapZoomComplete")}.bind(this))}else y(a),a.attr(w(n,{"stroke-width":l/h})),d(h)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:r,projection:t}=this.chart.mapView,e=[];(this.points||[]).forEach(o=>{if(o.path||o.geometry){if("string"==typeof o.path?o.path=h(o.path):v(o.path)&&"M"===o.path[0]&&(o.path=this.chart.renderer.pathToSegments(o.path)),!o.bounds){let s=o.getProjectedBounds(t);if(s){o.labelrank=S(o.labelrank,(s.x2-s.x1)*(s.y2-s.y1));let{midX:e,midY:i}=s;if(r&&j(e)&&j(i)){let t=u(r,t=>t.isInside({x:e,y:i}));t&&(delete o.projectedPath,(s=o.getProjectedBounds(t.projection))&&t.allBounds.push(s),o.insetIndex=r.indexOf(t))}o.bounds=s}}o.bounds&&void 0===o.insetIndex&&e.push(o.bounds)}}),this.bounds=a.compositeBounds(e)}return this.bounds}getStrokeWidth(t){var e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,o=s?this.colorAttribs(t):p.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);e&&(e=w(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),a=this.getStrokeWidth(e),m(a)&&(r=a),o.stroke=e.borderColor??t.color),r&&i&&(r/=i.getScale());var a=this.getStrokeWidth(this.options);return o.dashstyle&&i&&j(a)&&(r=a/i.getScale()),t.visible||(o.fill=this.options.nullColor),m(r)?o["stroke-width"]=r:delete o["stroke-width"],o["stroke-linecap"]=o["stroke-linejoin"]=this.options.linecap,o}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}processData(){let e,i,s,o=this.options,r=o.data,t=this.chart,a=t.options.chart,n=this.joinBy,l=o.keys||this.pointArrayMap,h=[],p={},d=this.chart.mapView,c=d&&(C(o.mapData,!0)?d.getGeoMap(o.mapData):d.geoMap),u=t.mapTransforms=a.mapTransforms||c&&c["hc-transform"]||t.mapTransforms,m=(u&&P(u,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),v(o.mapData)?s=o.mapData:c&&"FeatureCollection"===c.type&&(this.mapTitle=c.title,s=b.geojson(c,this.type,this)),this.processedData=[],this.processedData);var g;if(r)for(let i=0,t=r.length;il.length&&"string"==typeof g[0]&&(m[i]["hc-key"]=g[0],++e);for(let t=0;t{t=M(e,t);p[t]&&h.push(p[t])})}if(o.allAreas){if(n[1]){let e=n[1];m.forEach(t=>{h.push(M(e,t))})}let e="|"+h.map(function(t){return t&&t[n[0]]}).join("|")+"|";s.forEach(t=>{n[0]&&-1!==e.indexOf("|"+t[n[0]]+"|")||m.push(w(t,{value:null}))})}}this.processedXData=Array(m.length)}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),(i=this.joinBy=L(i))[1]||(i[1]=i[0]),e}translate(){let s=this.doFullTranslate(),o=this.chart.mapView,r=o&&o.projection;if(!this.chart.hasRendered||!this.isDirtyData&&this.hasRendered||(this.processData(),this.generatePoints(),delete this.bounds,!o||o.userOptions.center||j(o.userOptions.zoom)||o.zoom!==o.minZoom?this.getProjectedBounds():o.fitToBounds(void 0,void 0,!1)),o){let i=o.getSVGTransform();this.points.forEach(t=>{var e=j(t.insetIndex)&&o.insets[t.insetIndex].getSVGTransform()||i;e&&t.bounds&&j(t.bounds.midX)&&j(t.bounds.midY)&&(t.plotX=t.bounds.midX*e.scaleX+e.translateX,t.plotY=t.bounds.midY*e.scaleY+e.translateY),s&&(t.shapeType="path",t.shapeArgs={d:f.getProjectedPath(t,r)}),t.hiddenInDataClass||(t.projectedPath&&!t.projectedPath.length?t.setVisible(!1):t.visible||t.setVisible(!0))})}x(this,"afterTranslate")}update(i){i.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((t,e)=>(e===this._i?i:t).mapData)],!0),super.update.apply(this,arguments)}}return A.defaultOptions=w(d.defaultOptions,o),c(A.prototype,{type:"map",axisTypes:e.seriesMembers.axisTypes,colorAttribs:e.seriesMembers.colorAttribs,colorKey:e.seriesMembers.colorKey,directTouch:!0,drawDataLabels:l,drawGraph:l,forceDL:!0,getCenter:i.getCenter,getExtremesFromAll:!0,getSymbol:l,isCartesian:!1,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:e.seriesMembers.pointArrayMap,pointClass:f,preserveAspectRatio:!0,searchPoint:l,trackerGroups:e.seriesMembers.trackerGroups,useMapGeometry:!0}),e.compose(A),r.registerSeriesType("map",A),A}),e(t,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),e(t,"Series/MapLine/MapLineSeries.js",[t["Series/MapLine/MapLineSeriesDefaults.js"],t["Series/Map/MapSeries.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{extend:o,merge:r}=s;class a extends e{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}return a.defaultOptions=r(e.defaultOptions,t),o(a.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),i.registerSeriesType("mapline",a),a}),e(t,"Series/MapPoint/MapPointPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let i=t.seriesTypes["scatter"],s=e["isNumber"];class o extends i.prototype.pointClass{isValid(){return!!(this.options.geometry||s(this.x)&&s(this.y)||s(this.options.lon)&&s(this.options.lat))}}return o}),e(t,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),e(t,"Series/MapPoint/MapPointSeries.js",[t["Core/Globals.js"],t["Series/MapPoint/MapPointPoint.js"],t["Series/MapPoint/MapPointSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r){let a=t["noop"],{map:n,scatter:l}=s.seriesTypes,{extend:h,fireEvent:p,isNumber:d,merge:c}=r;class u extends l{constructor(){super(...arguments),this.clearBounds=n.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(o){let r=this.chart.mapView;if(r){let{geometry:t,lon:e,lat:i}=o,s=t&&"Point"===t.type&&t.coordinates;if(s=d(e)&&d(i)?[e,i]:s)return r.lonLatToProjectedUnits({lon:s[0],lat:s[1]})}}translate(){let h=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),h){let n=h.getSVGTransform(),l=h.projection["hasCoordinates"];this.points.forEach(t=>{let e,{x:i,y:s}=t,o=d(t.insetIndex)&&h.insets[t.insetIndex].getSVGTransform()||n,r=this.projectPoint(t.options)||t.properties&&this.projectPoint(t.properties);var a;r?(i=r.x,s=r.y):t.bounds&&(i=t.bounds.midX,s=t.bounds.midY,o&&d(i)&&d(s)&&(t.plotX=i*o.scaleX+o.translateX,t.plotY=s*o.scaleY+o.translateY,e=!0)),d(i)&&d(s)?e||(a=h.projectedUnitsToPixels({x:i,y:s}),t.plotX=a.x,t.plotY=l?a.y:this.chart.plotHeight-a.y):t.y=t.plotX=t.plotY=void 0,t.isInside=this.isPointInside(t),t.zone=this.zones.length?t.getZone():void 0})}p(this,"afterTranslate")}}return u.defaultOptions=c(l.defaultOptions,i),o.prototype.symbols.mapmarker=(t,e,i,s,o)=>{let r,a;var n=o&&"legend"===o.context,o=(n?(r=t+i/2,a=e+s):o&&"number"==typeof o.anchorX&&"number"==typeof o.anchorY?(r=o.anchorX,a=o.anchorY):(r=t+i/2,a=e+s/2,e-=s),n?s/3:s/2);return[["M",r,a],["C",r,a,r-o,e+1.5*o,r-o,e+o],["A",o,o,1,1,1,r+o,e+o],["C",r+o,e+1.5*o,r,a,r,a],["Z"]]},h(u.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:e,searchPoint:a,useMapGeometry:!0}),s.registerSeriesType("mappoint",u),u}),e(t,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),e(t,"Series/Bubble/BubbleLegendItem.js",[t["Core/Color/Color.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e,i){let d=t["parse"],s=e["noop"],{arrayMax:n,arrayMin:l,isNumber:p,merge:c,pick:u,stableSort:m}=i;return class{constructor(t,e){this.setState=s,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=u(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;var n,l,h;r&&r.length&&p(r[0].value)?(m(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render(),n=this.getMaxLabelSize(),h=2*(l=this.ranges[0].radius),e=0<(e=a-l+n.width)?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=h+e+i,s.labelHeight=h+n.height/2):t.options.bubbleLegend.autoRanges=!0}setOptions(){let i=this.ranges,s=this.options,o=this.chart.series[s.seriesIndex],r=this.legend.baseline,a={zIndex:s.zIndex,"stroke-width":s.borderWidth},n={zIndex:s.zIndex,"stroke-width":s.connectorWidth},l={align:this.legend.options.rtl||"left"===s.labels.align?"right":"left",zIndex:s.zIndex},h=o.options.marker.fillOpacity,p=this.chart.styledMode;i.forEach(function(t,e){p||(a.stroke=u(t.borderColor,s.borderColor,o.color),a.fill=u(t.color,s.color,1!==h?d(o.color).setOpacity(h).get("rgba"):o.color),n.stroke=u(t.connectorColor,s.connectorColor,o.color)),i[e].radius=this.getRangeRadius(t.value),i[e]=c(i[e],{center:i[0].radius-i[e].radius+r}),p||c(!0,i[e],{bubbleAttribs:c(a),connectorAttribs:c(n),labelAttribs:l})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(var s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=s.connectorDistance||0,u=o.align,m=i.options.rtl,g=s.borderWidth,b=s.connectorWidth,f=e.radius||0,y=p-d-g/2+b/2,x=(y%1?1:.5)-(b%2?0:.5),M=n.styledMode,v=m||"left"===u?-c:c,j=("center"===u&&(v=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(f,p+x,d).attr(M?{}:t.bubbleAttribs).addClass((M?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",f,y],["L",f+v,y]],s.connectorWidth)).attr(M?{}:t.connectorAttribs).addClass((M?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol)),n.text(this.formatLabel(t)).attr(M?{}:t.labelAttribs).css(M?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol)),C={x:f+v+s.labels.x,y:y+s.labels.y+.4*j.getBBox().height};j.attr(C),h.push(j),j.placed=!0,j.alignAttr=C}getMaxLabelSize(){let e,i;return this.symbols.labels.forEach(function(t){i=t.getBBox(!0),e=!e||i.width>e.width?i:e}),e||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,o=this.chart["numberFormatter"];return s?r.format(s,t):i?i.call(t):o(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.zData.filter(p)).length&&(r=u(t.options.zMin,Math.min(r,Math.max(l(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=u(t.options.zMax,Math.max(a,n(o))))}),s=r===a?[{value:a}]:[{value:r},{value:(r+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=c(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(a,r),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+o)*(u=parseFloat(u))/100/(u/100+1),(s&&a-c>=r||!s&&r-c>=a)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();1{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),b(a,u(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),b(a,u(a))))}function c(t){let e=t.series,i=0;for(;io.height&&(o.height=e[l].itemHeight);o.step=n}return i}function m(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,o=c(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),0<=o&&i.enabled&&s.enabled&&(s.seriesIndex=o,this.bubbleLegend=new r(s,this),this.bubbleLegend.addToLegend(t.allItems))}function g(t){if(t.defaultPrevented)return!1;let e=t.legendItem,i=this.chart,s=e.visible;this&&this.bubbleLegend&&(e.visible=!s,e.ignoreSeries=s,t=0<=c(i),this.bubbleLegend.visible!==t&&(this.update({bubbleLegend:{enabled:t}}),this.bubbleLegend.visible=t),e.visible=s)}function b(t,i){let e=t.allItems,s=t.options.rtl,o,r,a,n,l=0;e.forEach((t,e)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),e>i[l].step&&l++,n.group.attr({translateY:Math.round(r+i[l].height/2)}),n.y=r+i[l].height/2)})}return{compose:function(t,e){h(a,"Series.BubbleLegend")&&(o({legend:{bubbleLegend:i}}),p(t.prototype,"drawChartBox",d),n(e,"afterGetAllItems",m),n(e,"itemClick",g))}}}),e(t,"Series/Bubble/BubblePoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{scatter:{prototype:{pointClass:s}}}=e["seriesTypes"],o=i["extend"];class r extends s{haloPath(o){o=(o&&this.marker&&this.marker.radius||0)+o;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:e,yAxis:i,chart:s}=this.series;return s.renderer.symbols.circle(e.len-t[1]-o,i.len-t[0]-o,2*o,2*o)}return t.prototype.haloPath.call(this,o)}}return o(r.prototype,{ttBelow:!1}),r}),e(t,"Series/Bubble/BubbleSeries.js",[t["Series/Bubble/BubbleLegendComposition.js"],t["Series/Bubble/BubblePoint.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(s,t,e,i,o,r){let a=e["parse"],{composed:n,noop:l}=i,{series:h,seriesTypes:{column:{prototype:p},scatter:d}}=o,{addEvent:c,arrayMax:u,arrayMin:m,clamp:g,extend:b,isNumber:f,merge:y,pick:x,pushUnique:M}=r;function v(){let t=this.len,{coll:e,isXAxis:o,min:r}=this,a=o?"xData":"yData",n=(this.max||0)-(r||0),l=0,h=t,p=t/n,d;"xAxis"!==e&&"yAxis"!==e||(this.series.forEach(e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,d=!0;var i,s=e[a];if(o&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),0{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/p)})))}class j extends d{static compose(t,e,i){s.compose(e,i),M(n,"Series.Bubble")&&c(t,"foundExtremes",v)}animate(t){!t&&this.points.length{t.bubblePadding&&t.reserveSpace()&&((t=(t.onPoint||t).getZExtremes())&&(i=Math.min(x(i,t.zMin),t.zMin),s=Math.max(x(s,t.zMax),t.zMax),e=!0))}),e?(a={zMin:i,zMax:s},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o{let e;return"string"==typeof t&&(e=/%$/.test(t),t=parseInt(t,10)),e?i*t/100:t},e=t(x(this.options.minSize,8)),s=Math.max(t(x(this.options.maxSize,"20%")),e);return{minPxSize:e,maxPxSize:s}}getZExtremes(){var t=this.options,e=(this.zData||[]).filter(f);if(e.length){var i=x(t.zMin,g(m(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),t=x(t.zMax,u(e));if(f(i)&&f(t))return{zMin:i,zMax:t}}}}return j.defaultOptions=y(d.defaultOptions,{dataLabels:{formatter:function(){let t=this.series.chart["numberFormatter"],e=this.point["z"];return f(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),b(j.prototype,{alignDataLabel:p.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:t,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),c(j,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),c(j,"remove",t=>{delete t.target.chart.bubbleZExtremes}),o.registerSeriesType("bubble",j),j}),e(t,"Series/MapBubble/MapBubblePoint.js",[t["Series/Bubble/BubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{map:{prototype:{pointClass:{prototype:s}}}}=e["seriesTypes"],o=i["extend"];class r extends t{isValid(){return"number"==typeof this.z}}return o(r.prototype,{applyOptions:s.applyOptions,getProjectedBounds:s.getProjectedBounds}),r}),e(t,"Series/MapBubble/MapBubbleSeries.js",[t["Series/Bubble/BubbleSeries.js"],t["Series/MapBubble/MapBubblePoint.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let{map:{prototype:o},mappoint:{prototype:r}}=i["seriesTypes"],{extend:a,merge:n}=s;class l extends t{constructor(){super(...arguments),this.clearBounds=o.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){r.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(t,e,i){super.updateParallelArrays.call(this,t,e,i);let s=this.processedXData,o=this.xData;s&&o&&(s.length=o.length)}}return l.defaultOptions=n(t.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),a(l.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:o.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:e,processData:o.processData,projectPoint:r.projectPoint,kdAxisArray:["plotX","plotY"],setData:o.setData,setOptions:o.setOptions,updateData:o.updateData,useMapGeometry:!0,xyFromShape:!0}),i.registerSeriesType("mapbubble",l),l}),e(t,"Series/Heatmap/HeatmapPoint.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e){let{prototype:{pointClass:i}}=t.seriesTypes["scatter"],{clamp:r,defined:m,extend:s,pick:a}=e;class o extends i{applyOptions(t,e){return!this.isNull&&null!==this.value||delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,s=(e.rowsize||1)/2,l=t.xAxis,h=t.yAxis,p=this.options.marker||t.options.marker,o=t.pointPlacementToXValue(),d=a(this.pointPadding,e.pointPadding,0),c={x1:r(Math.round(l.len-l.translate(this.x-i,!1,!0,!1,!0,-o)),-l.len,2*l.len),x2:r(Math.round(l.len-l.translate(this.x+i,!1,!0,!1,!0,-o)),-l.len,2*l.len),y1:r(Math.round(h.translate(this.y-s,!1,!0,!1,!0)),-h.len,2*h.len),y2:r(Math.round(h.translate(this.y+s,!1,!0,!1,!0)),-h.len,2*h.len)};for(var u of[["width","x"],["height","y"]]){let t=u[0],e=u[1],i=e+"1",s=e+"2",o=Math.abs(c[i]-c[s]),r=p&&p.lineWidth||0,a=Math.abs(c[i]+c[s])/2,n=p&&p[t];m(n)&&n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),e(t,"Series/InterpolationUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let s=t["doc"],{defined:o,pick:r}=e;return{colorFromPoint:function(e,i){let s=i.series.colorAxis;if(s){let t=s.toColor(e||0,i).split(")")[0].split("(")[1].split(",").map(t=>r(parseFloat(t),parseInt(t,10)));return t[3]=255*r(t[3],1),o(e)&&i.visible||(t[3]=0),t}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=s.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}}}),e(t,"Series/Heatmap/HeatmapSeries.js",[t["Core/Color/Color.js"],t["Series/ColorMapComposition.js"],t["Series/Heatmap/HeatmapPoint.js"],t["Series/Heatmap/HeatmapSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"],t["Series/InterpolationUtilities.js"]],function(h,t,e,i,s,o,r,a){let{series:p,seriesTypes:{column:n,scatter:l}}=s,{symbols:d}=o["prototype"],{addEvent:c,extend:u,fireEvent:m,isNumber:g,merge:b,pick:f}=r,{colorFromPoint:z,getContext:k}=a;class y extends l{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let L=this,t=L.options,e=t.interpolation,i=t.marker||{};if(e){let{image:M,chart:v,xAxis:j,yAxis:C}=L,{reversed:w=!1,len:t}=j,{reversed:P=!1,len:e}=C,S={width:t,height:e};if(!M||L.isDirtyData||L.isDirtyCanvas){let m=k(L),{canvas:g,options:{colsize:b=1,rowsize:f=1},points:y,points:{length:x}}=L,t=v.colorAxis&&v.colorAxis[0];if(g&&m&&t){let{min:e,max:t}=j.getExtremes(),{min:i,max:s}=C.getExtremes(),o=t-e,r=s-i,a=Math.round(o/b/8*8),n=Math.round(r/f/8*8),[l,h]=[[a,a/o,w,"ceil"],[n,n/r,!P,"floor"]].map(([e,i,t,s])=>t?t=>Math[s](e-i*t):t=>Math[s](i*t)),p=g.width=a+1,d=p*(g.height=n+1),c=(x-1)/d,u=new Uint8ClampedArray(4*d);L.buildKDTree();for(let t=0;t{t.graphic&&(t.graphic[L.chart.styledMode?"css":"animate"](L.colorAttribs(t)),null===t.value&&t.graphic.addClass("highcharts-null-point"))}))}getExtremes(){var{dataMin:t,dataMax:e}=p.prototype.getExtremes.call(this,this.valueData);return g(t)&&(this.valueMin=t),g(e)&&(this.valueMax=e),p.prototype.getExtremes.call(this)}getValidPoints(t,e){return p.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.xData}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=f(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,d.ellipse=d.circle,t.marker&&g(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){var i,s=t.shapeArgs||{};return t.hasImage?{x:t.plotX,y:t.plotY}:e&&"normal"!==e?(t=t.options.marker||{},i=(i=this.options.marker||{}).states&&i.states[e]||{},e=((t=t.states&&t.states[e]||{}).width||i.width||s.width||0)+(t.widthPlus||i.widthPlus||0),t=(t.height||i.height||s.height||0)+(t.heightPlus||i.heightPlus||0),{x:(s.x||0)+((s.width||0)-e)/2,y:(s.y||0)+((s.height||0)-t)/2,width:e,height:t}):s}pointAttribs(t,e){let i=p.prototype.pointAttribs.call(this,t,e),s=this.options||{},o=this.chart.options.plotOptions||{},r=o.series||{},a=o.heatmap||{},n=t&&t.options.borderColor||s.borderColor||a.borderColor||r.borderColor,l=t&&t.options.borderWidth||s.borderWidth||a.borderWidth||r.borderWidth||i["stroke-width"];return i.stroke=t&&t.marker&&t.marker.lineColor||s.marker&&s.marker.lineColor||n||this.color,i["stroke-width"]=l,e&&"normal"!==e&&(t=b(s.states&&s.states[e],s.marker&&s.marker.states&&s.marker.states[e],t&&t.options.states&&t.options.states[e]||{}),i.fill=t.color||h.parse(i.fill).brighten(t.brightness||0).get(),i.stroke=t.lineColor||i.stroke),i}translate(){let{borderRadius:r,marker:t}=this.options,a=t&&t.symbol||"rect",n=d[a]?a:"rect",l=-1!==["circle","square"].indexOf(n);var e,i,h,p;this.processedXData||({xData:e,yData:i}=this.getProcessedData(),this.processedXData=e,this.processedYData=i);for(h of(this.generatePoints(),this.points)){let t=h.getCellAttributes(),e=Math.min(t.x1,t.x2),i=Math.min(t.y1,t.y2),s=Math.max(Math.abs(t.x2-t.x1),0),o=Math.max(Math.abs(t.y2-t.y1),0);h.hasImage=0===(h.marker&&h.marker.symbol||a||"").indexOf("url"),l&&(p=Math.abs(s-o),e=Math.min(t.x1,t.x2)+(s{var s,e=i.length;for(let t=0;tthis.calculatedWidth?i.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let i=this,t=i.chart.scroller;i.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){i[t]&&i[t].destroy&&(i[t]=i[t].destroy())}),t&&i===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(s){let e=this.renderer,a=this.scrollbarButtons,r=this.options,o=this.size,n=e.g().add(this.group);if(a.push(n),r.buttonsEnabled){let t=e.rect().addClass("highcharts-scrollbar-button").add(n),i=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:o,height:o,r:r.buttonBorderRadius},t.strokeWidth())),e.path(u.swapXY([["M",o/2+(s?-1:1),o/2-3],["L",o/2+(s?-1:1),o/2+3],["L",o/2+(s?2:-2),o/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(a[s]));this.chart.styledMode||i.attr({fill:r.buttonArrowColor})}}init(t,i,s){this.scrollbarButtons=[],this.renderer=t,this.userOptions=i,this.options=g(e,r.scrollbar,i),this.options.margin=p(this.options.margin,10),this.chart=s,this.size=p(this.options.size,this.options.height),i.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",e=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][s]||(i=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(e[0]+i,e[1]+i),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,i,s,e){let{buttonsEnabled:a,margin:r=0,vertical:o}=this.options,n=this.rendered?"animate":"attr",h=e,l=0;this.group.show(),this.x=t,this.y=i+this.trackBorderWidth,this.width=s,this.height=e,this.xOffset=h,this.yOffset=l,o?(this.width=this.yOffset=s=l=this.size,this.xOffset=h=0,this.yOffset=l=a?this.size:0,this.barWidth=e-(a?2*s:0),this.x=t+=r):(this.height=e=this.size,this.xOffset=h=a?this.size:0,this.barWidth=s-(a?2*e:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:s,height:e}),this.scrollbarButtons[1][n]({translateX:o?0:s-h,translateY:o?e-l:0})}removeEvents(){this._events.forEach(function(t){x.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,i=this.options,s=this.size,e=this.chart.styledMode,a=t.g("scrollbar").attr({zIndex:i.zIndex}).hide().add();this.group=a,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:i.trackBorderRadius||0,height:s,width:s}).add(a),e||this.track.attr({fill:i.trackBackgroundColor,stroke:i.trackBorderColor,"stroke-width":i.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-o(0,r),y:-o(0,r)}),this.scrollbarGroup=t.g().add(a),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:s-r,width:s-r,r:i.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(u.swapXY([["M",-3,s/4],["L",-3,2*s/3],["M",0,s/4],["L",0,2*s/3],["M",3,s/4],["L",3,2*s/3]],i.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),e||(this.scrollbar.attr({fill:i.barBackgroundColor,stroke:i.barBorderColor,"stroke-width":i.barBorderWidth}),this.scrollbarRifles.attr({stroke:i.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-o(0,this.scrollbarStrokeWidth),-o(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,i){let s,e;var a,r=this.options,o=r.vertical,n=r.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(a=h*Math.min(i,1),s=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=e=d(a-s),ee||!this.options.vertical&&i.chartX>a?this.updatePosition(this.from+s,this.to+s):this.updatePosition(this.from-s,this.to-s),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,g(!0,this.options,t),this.chart)}updatePosition(t,i){1{t[e]({x:o[i],y:n[i],width:r[i],height:a[i]})})}renderElements(){let o=this,n=o.navigatorOptions,t=n.maskInside,h=o.chart,i=h.inverted,l=h.renderer,d={cursor:i?"ns-resize":"ew-resize"},c=o.navigatorGroup??(o.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,i)=>{let s=o.shades[i]??(o.shades[i]=l.rect().addClass("highcharts-navigator-mask"+(1===i?"-inside":"-outside")).add(c));h.styledMode||(s.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===i&&s.css(d))}),o.outline||(o.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||o.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let e=n.handles,{height:a,width:r}=e;[0,1].forEach(t=>{var i,s=e.symbols[t];o.handles[t]?s!==o.handles[t].symbolName&&(i=g[s].call(g,-r/2-1,0,r,a),o.handles[t].attr({d:i}),o.handles[t].symbolName=s):(o.handles[t]=l.symbol(s,-r/2-1,0,r,a,e),o.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c)),h.inverted&&o.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(a+r)/2}),h.styledMode||o.handles[t].attr({fill:e.backgroundColor,stroke:e.borderColor,"stroke-width":e.lineWidth,width:e.width,height:e.height,x:-r/2-1,y:0}).css(d)})}}update(t,i=!1){let s=this.chart,e=s.options.chart.inverted!==s.scrollbar?.options.vertical;if(A(!0,s.options.navigator,t),this.navigatorOptions=s.options.navigator||{},this.setOpposite(),S(t.enabled)||e)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(s);var a;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{C(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,a=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:a,[s.inverted?"width":"height"]:this.height,[s.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[s.inverted?"width":"height"]:this.height},!1)),i&&s.redraw()}render(t,i,s,e){let a=this.chart,r=this.xAxis,o=r.pointRange||0,n=r.navigatorAxis.fake?a.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=a.inverted,c=a.xAxis[0].minRange,g=a.xAxis[0].options.maxRange,p=this.scrollButtonSize,x,u,v,m=this.scrollbarHeight,b,f;if(!this.hasDragged||S(s)){if(this.isDirty&&this.renderElements(),t=k(t-o/2),i=k(i+o/2),!w(t)||!w(i)){if(!l)return;s=0,e=O(r.width,n.width)}this.left=O(r.left,a.plotLeft+p+(d?a.plotWidth:0));var M=this.size=b=O(r.len,(d?a.plotHeight:a.plotWidth)-2*p),t=(x=d?m:b+2*p,s=O(s,r.toPixels(t,!0)),e=O(e,r.toPixels(i,!0)),w(s)&&Math.abs(s)!==1/0||(s=0,e=x),r.toValue(s,!0)),i=r.toValue(e,!0),A=((A=Math.abs(k(i-t)))g&&(this.grabbedLeft?s=r.toPixels(i-g-o,!0):this.grabbedRight&&(e=r.toPixels(t+g+o,!0))),this.zoomedMax=y(Math.max(s,e),0,M),this.zoomedMin=y(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(s,e),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),f=l&&!this.hasDragged?"animate":"attr",this.drawMasks(A,M,d,f),this.drawOutline(A,M,d,f),this.navigatorOptions.handles.enabled&&(this.drawHandle(A,0,d,f),this.drawHandle(M,1,d,f))),this.scrollbar&&(d?(v=this.top-p,u=this.left-m+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),m=b+2*p):(v=this.top+(h?this.height:-m),u=this.left-p),this.scrollbar.position(u,v,x,m),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,E(this,"afterRender")}}addMouseEvents(){let i=this,t=i.chart,s=t.container,e=[],a,r;i.mouseMoveHandler=a=function(t){i.onMouseMove(t)},i.mouseUpHandler=r=function(t){i.onMouseUp(t)},(e=i.getPartsEvents("mousedown")).push(b(t.renderTo,"mousemove",a),b(s.ownerDocument,"mouseup",r),b(t.renderTo,"touchmove",a),b(s.ownerDocument,"touchend",r)),e.concat(i.getPartsEvents("touchstart")),i.eventsToUnbind=e,i.series&&i.series[0]&&e.push(b(i.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(e){let a=this,r=[];return["shades","handles"].forEach(function(s){a[s].forEach(function(t,i){r.push(b(t.element,e,function(t){a[s+"Mousedown"](t,i)}))})}),r}shadesMousedown(t,i){t=this.chart.pointer?.normalize(t)||t;let s=this.chart,e=this.xAxis,a=this.zoomedMin,r=this.size,o=this.range,n=this.left,h=t.chartX,l,d,c,g;s.inverted&&(h=t.chartY,n=this.top),1===i?(this.grabbedCenter=h,this.fixedWidth=o,this.dragOffset=h-a):(g=h-n-o/2,0===i?g=Math.max(0,g):2===i&&g+o>=r&&(g=r-o,this.reversedExtremes?(g-=o,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),g!==a&&(this.fixedWidth=o,S((c=e.navigatorAxis.toFixedRange(g,g+o,d,l)).min)&&E(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,i){t=this.chart.pointer?.normalize(t)||t;let s=this.chart,e=s.xAxis[0],a=this.reversedExtremes;0===i?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?e.min:e.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?e.max:e.min),s.setFixedRange(void 0)}onMouseMove(t){let i=this,s=i.chart,e=i.navigatorSize,a=i.range,r=i.dragOffset,o=s.inverted,n=i.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=s.pointer?.normalize(t)||t).chartX,o&&(n=i.top,h=t.chartY),i.grabbedLeft?(i.hasDragged=!0,i.render(0,0,h-n,i.otherHandlePos)):i.grabbedRight?(i.hasDragged=!0,i.render(0,0,i.otherHandlePos,h-n)):i.grabbedCenter&&(i.hasDragged=!0,he+r-a&&(h=e+r-a),i.render(0,0,h-r,h-r+a)),i.hasDragged&&i.scrollbar&&O(i.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){i.onMouseUp(t)},0)))}onMouseUp(t){let i,s,e,a,r,o,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,g=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(e=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?a=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?e.dataMin:e.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?e.dataMax:e.dataMin),S((o=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,r)).min)&&E(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&w(this.zoomedMin)&&w(this.zoomedMax)&&(s=Math.round(this.zoomedMin),i=Math.round(this.zoomedMax),this.shades&&this.drawMasks(s,i,c,g),this.outline&&this.drawOutline(s,i,c,g),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(s,0,c,g),this.drawHandle(i,1,c,g)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){C(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&C(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,i=t.navigator||{},s=i.enabled,e=t.scrollbar||{},a=e.enabled,r=s&&i.height||0,o=a&&e.height||0,h=e.buttonsEnabled&&o||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=o,this.scrollButtonSize=h,this.scrollbarEnabled=a,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=e,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,g=n.yAxis.length,p=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var x;if(n.isDirtyBox=!0,l.navigatorEnabled?(x=this.getXAxisOffsets(),l.xAxis=new u(n,A({breaks:p.options.breaks,ordinal:p.options.ordinal,overscroll:p.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:p.options.ordinal?0:p.options.minPadding,maxPadding:p.options.ordinal?0:p.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:x,width:r}:{offsets:x,height:r}),"xAxis"),l.yAxis=new u(n,A(i.yAxis,{alignTicks:!1,offset:0,index:g,isInternal:!0,reversed:O(i.yAxis&&i.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=b(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(i.series||[]).forEach((t,i)=>{t.options.isInternal||!t.options.showInNavigator&&(i!==s&&t.options.id!==s||!1===t.options.showInNavigator)||e.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,a){let r=this,o=r.chart,n=r.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=r.series=(r.series||[]).filter(t=>{let i=t.baseSeries;return!(n.indexOf(i)<0&&(i&&(C(i,"updatedData",r.updatedDataHandler),delete i.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,g=r.navigatorOptions.series,p;n&&n.length&&n.forEach(t=>{let i=t.navigatorSeries,s=f({color:t.color,visible:t.visible},M(g)?x.navigator.series:g);var e;i&&!1===r.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,p=(d=t.options||{}).navigatorOptions||{},s.dataLabels=D(s.dataLabels),(c=A(d,h,s,p)).pointRange=O(s.pointRange,p.pointRange,x.plotOptions[c.type||"line"].pointRange),e=p.data||s.data,r.hasNavigatorData=r.hasNavigatorData||!!e,c.data=e||d.data&&d.data.slice(0),i&&i.options?i.update(c,a):(t.navigatorSeries=o.initSeries(c),o.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!g.data||n&&n.length)&&!M(g)||(r.hasNavigatorData=!1,(g=D(g)).forEach((t,i)=>{h.name="Navigator "+(l.length+1),(c=A(x.navigator.series,{color:o.series[i]&&!o.series[i].options.isInternal&&o.series[i].color||o.options.colors[i]||o.options.colors[0]},h,t)).data=t.data,c.data&&(r.hasNavigatorData=!0,l.push(o.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let i=this,s=i.baseSeries||[];s[0]&&s[0].xAxis&&s[0].eventsToUnbind.push(b(s[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),s.forEach(t=>{t.eventsToUnbind.push(b(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(b(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(b(t,"remove",function(){s&&n(s,t),this.navigatorSeries&&(n(i.series,this.navigatorSeries),S(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,i){return Math.min(t,i.xData&&i.xData.length?i.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var i;void 0===t.getExtremes||!(i=this.getUnionExtremes(!0))||i.dataMin===t.min&&i.dataMax===t.max||(t.min=i.dataMin,t.max=i.dataMax)}modifyBaseAxisExtremes(){let t,i,s=this.chart.navigator,e=this.getExtremes(),a=e.min,r=e.max,o=e.dataMin,n=e.dataMax,h=r-a,l=s.stickToMin,d=s.stickToMax,c=O(this.ordinal?.convertOverscroll(this.options.overscroll),0),g=s.series&&s.series[0],p=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(i=o)+h),d&&(t=n+c,l||(i=Math.max(o,t-h,s.getBaseSeriesMin(g&&g.xData?g.xData[0]:-Number.MAX_VALUE)))),p&&(l||d)&&w(i)&&(this.min=this.userMin=i,this.max=this.userMax=t)),s.stickToMin=s.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,i=this.navigatorSeries,s=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=O(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,s),t.stickToMin=t.shouldStickToMin(this,t),i&&!t.hasNavigatorData&&(i.options.pointStart=this.xData[0],i.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,i){var i=i.getBaseSeriesMin(t.xData[0]),s=(t=t.xAxis).max,e=t.min,t=t.options.range;return!(!w(s)||!w(e))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{o(t)}),this.navigatorEnabled=!1}}}),i(t,"Stock/Navigator/StandaloneNavigatorDefaults.js",[],function(){return{chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}}}),i(t,"Stock/Navigator/StandaloneNavigator.js",[t["Core/Chart/Chart.js"],t["Stock/Navigator/Navigator.js"],t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Axis/Axis.js"],t["Stock/Navigator/StandaloneNavigatorDefaults.js"]],function(e,a,r,t,s,o){let{merge:n,addEvent:h,fireEvent:l,pick:d}=t;return class c{static navigator(t,i){return t=new c(t,i),r.navigators?r.navigators.push(t):r.navigators=[t],t}constructor(t,i){this.boundAxes=[],this.userOptions=i,this.chartOptions=n(r.getOptions(),o,{navigator:i});let s=new e(t,this.chartOptions);s.options=n(s.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new a(s),s.navigator=this.navigator,this.initNavigator()}bind(a,r=!0){let o=this,n=a instanceof e?a.xAxis[0]:a;if(n instanceof s){let{min:t,max:i}=this.navigator.xAxis,s=[],e=(r&&(a=h(n,"setExtremes",t=>{"pan"!==t.trigger&&"zoom"!==t.trigger&&"mouseWheelZoom"!==t.trigger||o.setRange(t.min,t.max,!0,"pan"!==t.trigger,{trigger:n})}),s.push(a)),r=h(this.navigator,"setRange",t=>{n.setExtremes(t.min,t.max,t.redraw,t.animation)}),s.push(r),this.boundAxes.filter(function(t){return t.axis===n})[0]);e||(e={axis:n,callbacks:[]},this.boundAxes.push(e)),e.callbacks=s,n.series.forEach(t=>{t.options.showInNavigator&&o.addSeries(t.options)}),n.setExtremes(t,i),h(n,"destroy",t=>{t.keepEvents||this.unbind(n)})}}unbind(t){if(!t)return this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),void(this.boundAxes.length=0);var i=t instanceof s?t:t.xAxis[0];for(let t=this.boundAxes.length-1;0<=t;t--)this.boundAxes[t].axis===i&&(this.boundAxes[t].callbacks.forEach(t=>t()),this.boundAxes.splice(t,1))}destroy(){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,i){this.chartOptions=n(this.chartOptions,{navigator:t}),this.navigator.chart.update(this.chartOptions,i)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries(n(t,{showInNavigator:d(t.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});var{min:i,max:s}=this.getInitialExtremes();t.chart.xAxis[0].userMin=i,t.chart.xAxis[0].userMax=s,t.render(i,s)}getRange(){var{min:t,max:i}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:s,userMax:e,min:a,max:r}=this.navigator.xAxis.getExtremes();return{min:d(t,a),max:d(i,r),dataMin:a,dataMax:r,userMin:s,userMax:e}}setRange(t,i,s,e,a){l(this.navigator,"setRange",{min:t,max:i,redraw:s,animation:e,eventArguments:n(a,{trigger:"navigator"})})}getInitialExtremes(){var{min:t,max:i}=this.navigator.xAxis.getExtremes();return{min:t,max:i}}}}),i(t,"masters/modules/navigator.src.js",[t["Core/Globals.js"],t["Stock/Navigator/StandaloneNavigator.js"],t["Stock/Navigator/NavigatorComposition.js"]],function(t,i,s){return t.StandaloneNavigator=t.StandaloneNavigator||i,t.navigator=t.StandaloneNavigator.navigator,s.compose(t.Chart,t.Axis,t.Series),t})}); \ No newline at end of file +!function(i){"object"==typeof module&&module.exports?module.exports=i.default=i:"function"==typeof define&&define.amd?define("highcharts/modules/navigator",["highcharts"],function(t){return i(t),i.Highcharts=t,i}):i("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(a){"use strict";var t=a?a._modules:{};function i(t,i,s,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,s),"function"==typeof CustomEvent&&a.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let a,s=t["isTouchDevice"],{addEvent:r,merge:o,pick:n}=e,h=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,i,s,e=this.legend,a=this.navigator;var r,o;a&&(t=e&&e.options,i=a.xAxis,s=a.yAxis,{scrollbarHeight:r,scrollButtonSize:o}=a,this.inverted?(a.left=a.opposite?this.chartWidth-r-a.height:this.spacing[3]+r,a.top=this.plotTop+o):(a.left=n(i.left,this.plotLeft+o),a.top=a.navigatorOptions.top||this.chartHeight-a.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?e.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),i&&s&&(this.inverted?i.options.left=s.options.left=a.left:i.options.top=s.options.top=a.top,i.setAxisSize(),s.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new a(this),n(t.redraw,!0)&&this.redraw(t.animation))}function g(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new a(this))}function p(){var t=this.options,i=t.navigator,t=t.rangeSelector;if((i&&i.enabled||t&&t.enabled)&&(!s&&"x"===this.zooming.type||s&&"x"===this.zooming.pinchType))return!1}function x(t){let i=t.navigator;i&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),i.render(t.min,t.max))}function u(t){var i=t.options.navigator||{},s=t.options.scrollbar||{};this.navigator||this.scroller||!i.enabled&&!s.enabled||(o(!0,this.options.navigator,i),o(!0,this.options.scrollbar,s),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(i,s){if(e.pushUnique(h,i)){let t=i.prototype;a=s,t.callbacks.push(x),r(i,"afterAddSeries",l),r(i,"afterSetChartSize",d),r(i,"afterUpdate",c),r(i,"beforeRender",g),r(i,"beforeShowResetZoom",p),r(i,"update",u)}}}}),i(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){let d=t["isTouchDevice"],{addEvent:s,correctFloat:h,defined:c,isNumber:l,pick:g}=i;function e(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function a(t){let i,s=this.chart,e=s.options,a=e.navigator,r=this.navigatorAxis,o=s.zooming.pinchType,n=e.rangeSelector,h=s.zooming.type;var l;this.isXAxis&&(a?.enabled||n?.enabled)&&("y"===h&&"zoom"===t.trigger?i=!1:("zoom"===t.trigger&&"xy"===h||d&&"xy"===o)&&this.options.range&&(l=r.previousZoom,c(t.min)?r.previousZoom=[this.min,this.max]:l&&(t.min=l[0],t.max=l[1],r.previousZoom=void 0))),void 0!==i&&t.preventDefault()}class r{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),s(t,"init",e),s(t,"setExtremes",a))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,i,s,e){let a=this.axis,r=(a.pointRange||0)/2,o=g(s,a.translate(t,!0,!a.horiz)),n=g(e,a.translate(i,!0,!a.horiz));return c(s)||(o=h(o+r)),c(e)||(n=h(n-r)),{min:o=l(o)&&l(n)?o:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),s(t,"init",e),s(t,"setExtremes",a))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,i,s,e){let a=this.axis,r=(a.pointRange||0)/2,o=g(s,a.translate(t,!0,!a.horiz)),n=g(e,a.translate(i,!0,!a.horiz));return c(s)||(o=h(o+r)),c(e)||(n=h(n-r)),{min:o=l(o)&&l(n)?o:n=void 0,max:n}}}}),i(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,i){let s=t["parse"],e=i["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:s("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===e.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),i(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(o,t){let n=t["relativeLength"];return{"navigator-handle":function(t,i,s,e,a={}){var s=a.width?a.width/2:s,r=n(a.borderRadius||0,Math.min(2*s,e));return[["M",-1.5,(e=a.height||e)/2-3.5],["L",-1.5,e/2+4.5],["M",.5,e/2-3.5],["L",.5,e/2+4.5],...o.rect(-s-1,.5,2*s+1,e,{r:r})]}}}),i(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let s=t["defined"];return{setFixedRange:function(t){var i=this.xAxis[0];s(i.dataMax)&&s(i.dataMin)&&t?this.fixedRange=Math.min(t,i.dataMax-i.dataMin):this.fixedRange=t}}}),i(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,i,e,a,r,s,o,n){let h=t["setOptions"],l=i["composed"],d=s["getRendererType"],c=o["setFixedRange"],{addEvent:g,extend:p,pushUnique:x}=n;function u(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,i,s){e.compose(i),x(l,"Navigator")&&(t.prototype.setFixedRange=c,p(d().prototype.symbols,r),g(s,"afterUpdate",u),h({navigator:a}))}}}),i(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,i){var e;let a=t["composed"],{addEvent:r,defined:d,pick:o,pushUnique:n}=i;{t=e=e||{};let s;function c(t){var i=o(t.options&&t.options.min,t.min),s=o(t.options&&t.options.max,t.max);return{axisMin:i,axisMax:s,scrollMin:d(t.dataMin)?Math.min(i,t.min,t.dataMin,o(t.threshold,1/0)):i,scrollMax:d(t.dataMax)?Math.max(s,t.max,t.dataMax,o(t.threshold,-1/0)):s}}function h(){var t=this.scrollbar,i=t&&!t.options.opposite,i=this.horiz?2:i?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function l(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new s(n.chart.renderer,n.options.scrollbar,n.chart),r(n.scrollbar,"changed",function(t){let i,s;var{axisMin:e,axisMax:a,scrollMin:r,scrollMax:o}=c(n),o=o-r;d(e)&&d(a)&&(s=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(i=r+o*this.to,r+o*this.from):(i=r+o*(1-this.from),r+o*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(e="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(s,i,!0,e,t)):this.setRange(this.from,this.to))}))}function g(){let t,i,s,{scrollMin:e,scrollMax:a}=c(this),r=this.scrollbar,o=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,h=this.options.margin||0;var l;r&&n&&(t=this.horiz?(this.opposite||(n[1]+=o),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(n[1]+=h),1):(this.opposite&&(n[0]+=o),l=r.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:h):this.opposite?0:h,r.position(l,this.top,this.width,this.height),this.opposite&&(n[0]+=h),0),n[t]+=r.size+(r.options.margin||0),isNaN(e)||isNaN(a)||!d(this.min)||!d(this.max)||this.dataMin===this.dataMax?r.setRange(0,1):this.min===this.max?(l=this.pointRange/(this.dataMax+1),i=l*this.min,s=l*(this.max+1),r.setRange(i,s)):(i=(this.min-e)/(a-e),s=(this.max-e)/(a-e),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(i,s):r.setRange(1-s,1-i)))}t.compose=function(t,i){n(a,"Axis.Scrollbar")&&(s=i,r(t,"afterGetOffset",h),r(t,"afterInit",l),r(t,"afterRender",g))}}return e}),i(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),i(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,i,s,e,a){let r=t["defaultOptions"],{addEvent:h,correctFloat:d,crisp:o,defined:c,destroyObjectProperties:n,fireEvent:l,merge:g,pick:p,removeEvent:x}=a;class u{static compose(t){s.compose(t,u)}static swapXY(t,i){return i&&t.forEach(i=>{var s,e=i.length;for(let t=0;tthis.calculatedWidth?i.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let i=this,t=i.chart.scroller;i.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){i[t]&&i[t].destroy&&(i[t]=i[t].destroy())}),t&&i===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(s){let e=this.renderer,a=this.scrollbarButtons,r=this.options,o=this.size,n=e.g().add(this.group);if(a.push(n),r.buttonsEnabled){let t=e.rect().addClass("highcharts-scrollbar-button").add(n),i=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:o,height:o,r:r.buttonBorderRadius},t.strokeWidth())),e.path(u.swapXY([["M",o/2+(s?-1:1),o/2-3],["L",o/2+(s?-1:1),o/2+3],["L",o/2+(s?2:-2),o/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(a[s]));this.chart.styledMode||i.attr({fill:r.buttonArrowColor})}}init(t,i,s){this.scrollbarButtons=[],this.renderer=t,this.userOptions=i,this.options=g(e,r.scrollbar,i),this.options.margin=p(this.options.margin,10),this.chart=s,this.size=p(this.options.size,this.options.height),i.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",e=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][s]||(i=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(e[0]+i,e[1]+i),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,i,s,e){let{buttonsEnabled:a,margin:r=0,vertical:o}=this.options,n=this.rendered?"animate":"attr",h=e,l=0;this.group.show(),this.x=t,this.y=i+this.trackBorderWidth,this.width=s,this.height=e,this.xOffset=h,this.yOffset=l,o?(this.width=this.yOffset=s=l=this.size,this.xOffset=h=0,this.yOffset=l=a?this.size:0,this.barWidth=e-(a?2*s:0),this.x=t+=r):(this.height=e=this.size,this.xOffset=h=a?this.size:0,this.barWidth=s-(a?2*e:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:s,height:e}),this.scrollbarButtons[1][n]({translateX:o?0:s-h,translateY:o?e-l:0})}removeEvents(){this._events.forEach(function(t){x.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,i=this.options,s=this.size,e=this.chart.styledMode,a=t.g("scrollbar").attr({zIndex:i.zIndex}).hide().add();this.group=a,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:i.trackBorderRadius||0,height:s,width:s}).add(a),e||this.track.attr({fill:i.trackBackgroundColor,stroke:i.trackBorderColor,"stroke-width":i.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-o(0,r),y:-o(0,r)}),this.scrollbarGroup=t.g().add(a),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:s-r,width:s-r,r:i.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(u.swapXY([["M",-3,s/4],["L",-3,2*s/3],["M",0,s/4],["L",0,2*s/3],["M",3,s/4],["L",3,2*s/3]],i.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),e||(this.scrollbar.attr({fill:i.barBackgroundColor,stroke:i.barBorderColor,"stroke-width":i.barBorderWidth}),this.scrollbarRifles.attr({stroke:i.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-o(0,this.scrollbarStrokeWidth),-o(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,i){let s,e;var a,r=this.options,o=r.vertical,n=r.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(a=h*Math.min(i,1),s=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=e=d(a-s),ee||!this.options.vertical&&i.chartX>a?this.updatePosition(this.from+s,this.to+s):this.updatePosition(this.from-s,this.to-s),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,g(!0,this.options,t),this.chart)}updatePosition(t,i){1{t[e]({x:o[i],y:n[i],width:r[i],height:a[i]})})}renderElements(){let o=this,n=o.navigatorOptions,t=n.maskInside,h=o.chart,i=h.inverted,l=h.renderer,d={cursor:i?"ns-resize":"ew-resize"},c=o.navigatorGroup??(o.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,i)=>{let s=o.shades[i]??(o.shades[i]=l.rect().addClass("highcharts-navigator-mask"+(1===i?"-inside":"-outside")).add(c));h.styledMode||(s.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===i&&s.css(d))}),o.outline||(o.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||o.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let e=n.handles,{height:a,width:r}=e;[0,1].forEach(t=>{var i,s=e.symbols[t];o.handles[t]&&o.handles[t].symbolUrl===s?o.handles[t].isImg||o.handles[t].symbolName===s||(i=g[s].call(g,-r/2-1,0,r,a),o.handles[t].attr({d:i}),o.handles[t].symbolName=s):(o.handles[t]?.destroy(),o.handles[t]=l.symbol(s,-r/2-1,0,r,a,e),o.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c),o.addMouseEvents()),h.inverted&&o.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(a+r)/2}),h.styledMode||o.handles[t].attr({fill:e.backgroundColor,stroke:e.borderColor,"stroke-width":e.lineWidth,width:e.width,height:e.height,x:-r/2-1,y:0}).css(d)})}}update(t,i=!1){let s=this.chart,e=s.options.chart.inverted!==s.scrollbar?.options.vertical;if(A(!0,s.options.navigator,t),this.navigatorOptions=s.options.navigator||{},this.setOpposite(),S(t.enabled)||e)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(s);var a;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{C(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,a=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:a,[s.inverted?"width":"height"]:this.height,[s.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[s.inverted?"width":"height"]:this.height},!1)),i&&s.redraw()}render(t,i,s,e){let a=this.chart,r=this.xAxis,o=r.pointRange||0,n=r.navigatorAxis.fake?a.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=a.inverted,c=a.xAxis[0].minRange,g=a.xAxis[0].options.maxRange,p=this.scrollButtonSize,x,u,v,m=this.scrollbarHeight,b,f;if(!this.hasDragged||S(s)){if(this.isDirty&&this.renderElements(),t=k(t-o/2),i=k(i+o/2),!w(t)||!w(i)){if(!l)return;s=0,e=O(r.width,n.width)}this.left=O(r.left,a.plotLeft+p+(d?a.plotWidth:0));var M=this.size=b=O(r.len,(d?a.plotHeight:a.plotWidth)-2*p),t=(x=d?m:b+2*p,s=O(s,r.toPixels(t,!0)),e=O(e,r.toPixels(i,!0)),w(s)&&Math.abs(s)!==1/0||(s=0,e=x),r.toValue(s,!0)),i=r.toValue(e,!0),A=((A=Math.abs(k(i-t)))g&&(this.grabbedLeft?s=r.toPixels(i-g-o,!0):this.grabbedRight&&(e=r.toPixels(t+g+o,!0))),this.zoomedMax=y(Math.max(s,e),0,M),this.zoomedMin=y(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(s,e),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),f=l&&!this.hasDragged?"animate":"attr",this.drawMasks(A,M,d,f),this.drawOutline(A,M,d,f),this.navigatorOptions.handles.enabled&&(this.drawHandle(A,0,d,f),this.drawHandle(M,1,d,f))),this.scrollbar&&(d?(v=this.top-p,u=this.left-m+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),m=b+2*p):(v=this.top+(h?this.height:-m),u=this.left-p),this.scrollbar.position(u,v,x,m),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,E(this,"afterRender")}}addMouseEvents(){let i=this,t=i.chart,s=t.container,e=[],a,r;i.mouseMoveHandler=a=function(t){i.onMouseMove(t)},i.mouseUpHandler=r=function(t){i.onMouseUp(t)},(e=i.getPartsEvents("mousedown")).push(b(t.renderTo,"mousemove",a),b(s.ownerDocument,"mouseup",r),b(t.renderTo,"touchmove",a),b(s.ownerDocument,"touchend",r)),e.concat(i.getPartsEvents("touchstart")),i.eventsToUnbind=e,i.series&&i.series[0]&&e.push(b(i.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(e){let a=this,r=[];return["shades","handles"].forEach(function(s){a[s].forEach(function(t,i){r.push(b(t.element,e,function(t){a[s+"Mousedown"](t,i)}))})}),r}shadesMousedown(t,i){t=this.chart.pointer?.normalize(t)||t;let s=this.chart,e=this.xAxis,a=this.zoomedMin,r=this.size,o=this.range,n=this.left,h=t.chartX,l,d,c,g;s.inverted&&(h=t.chartY,n=this.top),1===i?(this.grabbedCenter=h,this.fixedWidth=o,this.dragOffset=h-a):(g=h-n-o/2,0===i?g=Math.max(0,g):2===i&&g+o>=r&&(g=r-o,this.reversedExtremes?(g-=o,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),g!==a&&(this.fixedWidth=o,S((c=e.navigatorAxis.toFixedRange(g,g+o,d,l)).min)&&E(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,i){t=this.chart.pointer?.normalize(t)||t;let s=this.chart,e=s.xAxis[0],a=this.reversedExtremes;0===i?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?e.min:e.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?e.max:e.min),s.setFixedRange(void 0)}onMouseMove(t){let i=this,s=i.chart,e=i.navigatorSize,a=i.range,r=i.dragOffset,o=s.inverted,n=i.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=s.pointer?.normalize(t)||t).chartX,o&&(n=i.top,h=t.chartY),i.grabbedLeft?(i.hasDragged=!0,i.render(0,0,h-n,i.otherHandlePos)):i.grabbedRight?(i.hasDragged=!0,i.render(0,0,i.otherHandlePos,h-n)):i.grabbedCenter&&(i.hasDragged=!0,he+r-a&&(h=e+r-a),i.render(0,0,h-r,h-r+a)),i.hasDragged&&i.scrollbar&&O(i.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){i.onMouseUp(t)},0)))}onMouseUp(t){let i,s,e,a,r,o,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,g=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(e=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?a=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?e.dataMin:e.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?e.dataMax:e.dataMin),S((o=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,r)).min)&&E(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&w(this.zoomedMin)&&w(this.zoomedMax)&&(s=Math.round(this.zoomedMin),i=Math.round(this.zoomedMax),this.shades&&this.drawMasks(s,i,c,g),this.outline&&this.drawOutline(s,i,c,g),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(s,0,c,g),this.drawHandle(i,1,c,g)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){C(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&C(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,i=t.navigator||{},s=i.enabled,e=t.scrollbar||{},a=e.enabled,r=s&&i.height||0,o=a&&e.height||0,h=e.buttonsEnabled&&o||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=o,this.scrollButtonSize=h,this.scrollbarEnabled=a,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=e,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,g=n.yAxis.length,p=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var x;if(n.isDirtyBox=!0,l.navigatorEnabled?(x=this.getXAxisOffsets(),l.xAxis=new u(n,A({breaks:p.options.breaks,ordinal:p.options.ordinal,overscroll:p.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:p.options.ordinal?0:p.options.minPadding,maxPadding:p.options.ordinal?0:p.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:x,width:r}:{offsets:x,height:r}),"xAxis"),l.yAxis=new u(n,A(i.yAxis,{alignTicks:!1,offset:0,index:g,isInternal:!0,reversed:O(i.yAxis&&i.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=b(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(i.series||[]).forEach((t,i)=>{t.options.isInternal||!t.options.showInNavigator&&(i!==s&&t.options.id!==s||!1===t.options.showInNavigator)||e.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,a){let r=this,o=r.chart,n=r.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=r.series=(r.series||[]).filter(t=>{let i=t.baseSeries;return!(n.indexOf(i)<0&&(i&&(C(i,"updatedData",r.updatedDataHandler),delete i.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,g=r.navigatorOptions.series,p;n&&n.length&&n.forEach(t=>{let i=t.navigatorSeries,s=f({color:t.color,visible:t.visible},M(g)?x.navigator.series:g);var e;i&&!1===r.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,p=(d=t.options||{}).navigatorOptions||{},s.dataLabels=D(s.dataLabels),(c=A(d,h,s,p)).pointRange=O(s.pointRange,p.pointRange,x.plotOptions[c.type||"line"].pointRange),e=p.data||s.data,r.hasNavigatorData=r.hasNavigatorData||!!e,c.data=e||d.data&&d.data.slice(0),i&&i.options?i.update(c,a):(t.navigatorSeries=o.initSeries(c),o.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!g.data||n&&n.length)&&!M(g)||(r.hasNavigatorData=!1,(g=D(g)).forEach((t,i)=>{h.name="Navigator "+(l.length+1),(c=A(x.navigator.series,{color:o.series[i]&&!o.series[i].options.isInternal&&o.series[i].color||o.options.colors[i]||o.options.colors[0]},h,t)).data=t.data,c.data&&(r.hasNavigatorData=!0,l.push(o.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let i=this,s=i.baseSeries||[];s[0]&&s[0].xAxis&&s[0].eventsToUnbind.push(b(s[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),s.forEach(t=>{t.eventsToUnbind.push(b(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(b(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(b(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(b(t,"remove",function(){s&&n(s,t),this.navigatorSeries&&(n(i.series,this.navigatorSeries),S(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,i){return Math.min(t,i.xData&&i.xData.length?i.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var i;void 0===t.getExtremes||!(i=this.getUnionExtremes(!0))||i.dataMin===t.min&&i.dataMax===t.max||(t.min=i.dataMin,t.max=i.dataMax)}modifyBaseAxisExtremes(){let t,i,s=this.chart.navigator,e=this.getExtremes(),a=e.min,r=e.max,o=e.dataMin,n=e.dataMax,h=r-a,l=s.stickToMin,d=s.stickToMax,c=O(this.ordinal?.convertOverscroll(this.options.overscroll),0),g=s.series&&s.series[0],p=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(i=o)+h),d&&(t=n+c,l||(i=Math.max(o,t-h,s.getBaseSeriesMin(g&&g.xData?g.xData[0]:-Number.MAX_VALUE)))),p&&(l||d)&&w(i)&&(this.min=this.userMin=i,this.max=this.userMax=t)),s.stickToMin=s.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,i=this.navigatorSeries,s=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=O(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,s),t.stickToMin=t.shouldStickToMin(this,t),i&&!t.hasNavigatorData&&(i.options.pointStart=this.xData[0],i.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,i){var i=i.getBaseSeriesMin(t.xData[0]),s=(t=t.xAxis).max,e=t.min,t=t.options.range;return!(!w(s)||!w(e))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{o(t)}),this.navigatorEnabled=!1}}}),i(t,"Stock/Navigator/StandaloneNavigatorDefaults.js",[],function(){return{chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}}}),i(t,"Stock/Navigator/StandaloneNavigator.js",[t["Core/Chart/Chart.js"],t["Stock/Navigator/Navigator.js"],t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Axis/Axis.js"],t["Stock/Navigator/StandaloneNavigatorDefaults.js"]],function(e,a,r,t,s,o){let{merge:n,addEvent:h,fireEvent:l,pick:d}=t;return class c{static navigator(t,i){return t=new c(t,i),r.navigators?r.navigators.push(t):r.navigators=[t],t}constructor(t,i){this.boundAxes=[],this.userOptions=i,this.chartOptions=n(r.getOptions(),o,{navigator:i});let s=new e(t,this.chartOptions);s.options=n(s.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new a(s),s.navigator=this.navigator,this.initNavigator()}bind(a,r=!0){let o=this,n=a instanceof e?a.xAxis[0]:a;if(n instanceof s){let{min:t,max:i}=this.navigator.xAxis,s=[],e=(r&&(a=h(n,"setExtremes",t=>{"pan"!==t.trigger&&"zoom"!==t.trigger&&"mouseWheelZoom"!==t.trigger||o.setRange(t.min,t.max,!0,"pan"!==t.trigger,{trigger:n})}),s.push(a)),r=h(this.navigator,"setRange",t=>{n.setExtremes(t.min,t.max,t.redraw,t.animation)}),s.push(r),this.boundAxes.filter(function(t){return t.axis===n})[0]);e||(e={axis:n,callbacks:[]},this.boundAxes.push(e)),e.callbacks=s,n.series.forEach(t=>{t.options.showInNavigator&&o.addSeries(t.options)}),n.setExtremes(t,i),h(n,"destroy",t=>{t.keepEvents||this.unbind(n)})}}unbind(t){if(!t)return this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),void(this.boundAxes.length=0);var i=t instanceof s?t:t.xAxis[0];for(let t=this.boundAxes.length-1;0<=t;t--)this.boundAxes[t].axis===i&&(this.boundAxes[t].callbacks.forEach(t=>t()),this.boundAxes.splice(t,1))}destroy(){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,i){this.chartOptions=n(this.chartOptions,{navigator:t}),this.navigator.chart.update(this.chartOptions,i)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries(n(t,{showInNavigator:d(t.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});var{min:i,max:s}=this.getInitialExtremes();t.chart.xAxis[0].userMin=i,t.chart.xAxis[0].userMax=s,t.render(i,s)}getRange(){var{min:t,max:i}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:s,userMax:e,min:a,max:r}=this.navigator.xAxis.getExtremes();return{min:d(t,a),max:d(i,r),dataMin:a,dataMax:r,userMin:s,userMax:e}}setRange(t,i,s,e,a){l(this.navigator,"setRange",{min:t,max:i,redraw:s,animation:e,eventArguments:n(a,{trigger:"navigator"})})}getInitialExtremes(){var{min:t,max:i}=this.navigator.xAxis.getExtremes();return{min:t,max:i}}}}),i(t,"masters/modules/navigator.src.js",[t["Core/Globals.js"],t["Stock/Navigator/StandaloneNavigator.js"],t["Stock/Navigator/NavigatorComposition.js"]],function(t,i,s){return t.StandaloneNavigator=t.StandaloneNavigator||i,t.navigator=t.StandaloneNavigator.navigator,s.compose(t.Chart,t.Axis,t.Series),t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/offline-exporting.min.js b/assets/js/external/highcharts/modules/offline-exporting.min.js index 2b8e75a..e00cc72 100644 --- a/assets/js/external/highcharts/modules/offline-exporting.min.js +++ b/assets/js/external/highcharts/modules/offline-exporting.min.js @@ -1 +1 @@ -!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("highcharts/modules/offline-exporting",["highcharts","highcharts/modules/exporting"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(i){"use strict";var t=i?i._modules:{};function e(t,e,o,n){t.hasOwnProperty(e)||(t[e]=n.apply(null,o),"function"==typeof CustomEvent&&i.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Extensions/DownloadURL.js",[t["Core/Globals.js"]],function(t){let{isSafari:r,win:a,win:{document:l}}=t,i=a.URL||a.webkitURL||a;function s(n){n=n.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(n&&3{let t,e,o=(i.setElementHTML(r,c),r.getElementsByTagName("text")),n=([].forEach.call(o,function(i){for(["fontFamily","fontSize"].forEach(t=>{{var o=i,n=t;let e=o;for(;e&&e!==r;){if(e.style[n]){let t=e.style[n];"fontSize"===n&&/em$/.test(t)&&(t=Math.round(16*parseFloat(t))+"px"),o.style[n]=t;break}e=e.parentNode}return}}),i.style.fontFamily=m&&m.normal?"HighchartsFont":String(i.style.fontFamily&&i.style.fontFamily.split(" ").splice(-1)),t=i.getElementsByTagName("title"),[].forEach.call(t,function(t){i.removeChild(t)}),e=i.getElementsByClassName("highcharts-text-outline");0{j(n,0,h,t=>{try{v(t,g),f&&f()}catch(t){d(t)}})};let i,t,r=(t,e)=>{b.jspdf.jsPDF.API.events.push(["initialized",function(){this.addFileToVFS(t,e),this.addFont(t,"HighchartsFont",t),this.getFontList().HighchartsFont||this.setFont("HighchartsFont")}])},e=(m&&(t=l.textContent||"",!/[^\u0000-\u007F\u200B]+/.test(t))&&(m=void 0),["normal","italic","bold","bolditalic"]),a=()=>{let n=e.shift();if(!n)return s();var t=m&&m[n];t?E({url:t,responseType:"blob",success:(t,e)=>{let o=new FileReader;o.onloadend=function(){var t;"string"==typeof this.result&&(t=this.result.split(",")[1],r(n,t),"normal"===n&&(i=t)),a()},o.readAsDataURL(e.response)},error:a}):(i&&r(n,i),a())};a()}});if("image/svg+xml"===l)try{e=void 0!==b.MSBlobBuilder?((o=new b.MSBlobBuilder).append(c),o.getBlob("image/svg+xml")):S(c),v(e,g),f&&f()}catch(t){d(t)}else"application/pdf"===l?b.jspdf&&b.jspdf.jsPDF?n():(u=!0,L(p+"jspdf.js",function(){L(p+"svg2pdf.js",n)})):(e=S(c),s=function(){try{y.domurl.revokeObjectURL(e)}catch(t){}},C(e,l,{},h,function(t){try{v(t,g),f&&f()}catch(t){d(t)}},function(){if(1e8]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/),n=c.match(/^]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);var i,r,a;e&&o&&n&&(i=+o[1]*h,r=+n[1]*h,a=()=>{b.canvg.Canvg.fromString(e,c).start();try{v(b.navigator.msSaveOrOpenBlob?t.msToBlob():t.toDataURL(l),g),f&&f()}catch(t){d(t)}finally{s()}},t.width=i,t.height=r,b.canvg?a():(u=!0,L(p+"canvg.js",a)))},d,d,function(){u&&s()}))},y.getScript=L,y.imageToDataUrl=C,y.svgToDataUrl=S,y.svgToPdf=j,c;function p(t,e){function o(t){!1===i.fallbackToExportServer?i.error?i.error(i,t):d(28,!0):n.exportChart(i)}let n=this,i=h(n.options.exporting,t);a.isMS&&n.styledMode&&!r.inlineAllowlist.length&&r.inlineAllowlist.push(/^blockSize/,/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,/^stroke/,/^textAlign/,/^textAnchor/,/^textDecoration/,/^transform/,/^vectorEffect/,/^visibility/,/^x$/,/^y$/),a.isMS&&("application/pdf"===i.type||n.container.getElementsByTagName("image").length&&"image/svg+xml"!==i.type)||"application/pdf"===i.type&&[].some.call(n.container.getElementsByTagName("image"),function(t){let e=t.getAttribute("href");return""!==e&&"string"==typeof e&&0!==e.indexOf("data:")})?o(Error("Image type not supported for this chart/browser.")):n.getSVGForLocalExport(i,e||{},o,function(t){-1g(n,"exportChartLocalSuccess"))})}function L(t,e){let o=w.getElementsByTagName("head")[0],n=w.createElement("script");n.type="text/javascript",n.src=t,n.onload=e,n.onerror=function(){d("Error loading script "+t)},o.appendChild(n)}function m(e,t,o,n){let i=this,r=t=>i.sanitizeSVG(t,d),a=()=>{g&&p===h&&n(r(c.innerHTML))},l=(t,e,o)=>{++p,o.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",t),a()},s,c,d,f,g,h=0,p=0;i.unbindGetSVG=u(i,"getSVG",t=>{d=t.chartCopy.options,h=(g=(c=t.chartCopy.container.cloneNode(!0))&&c.getElementsByTagName("image")||[]).length}),i.getSVGForExport(e,t);try{if(!g||!g.length)return void n(r(c.innerHTML));for(let t=0;t{setTimeout(function(){var t;let e=w.createElement("canvas"),o=e.getContext&&e.getContext("2d");try{if(o){e.height=d.height*a,e.width=d.width*a,o.drawImage(d,0,0,e.width,e.height);try{t=e.toDataURL(i),l(t,i,r,a)}catch(t){f(n,i,r,a)}}else s(n,i,r,a)}finally{c&&c(n,i,r,a)}},y.loadEventDeferDelay)},g=()=>{e(n,i,r,a),c&&c(n,i,r,a)};f=()=>{d=new b.Image,f=t,d.crossOrigin="Anonymous",d.onload=o,d.onerror=g,d.src=n},d.onload=o,d.onerror=g,d.src=n}function S(t){let e=b.navigator.userAgent,o=-1{"​"===t.textContent&&(t.textContent=" ",t.setAttribute("dx",-5))}),a.svg(t,{x:0,y:0,width:i,height:r,removeInvalid:!0}).then(()=>n(a.output("datauristring")))}}),e(t,"masters/modules/offline-exporting.src.js",[t["Core/Globals.js"],t["Extensions/DownloadURL.js"],t["Extensions/OfflineExporting/OfflineExporting.js"]],function(t,e,o){return t.dataURLtoBlob=t.dataURLtoBlob||e.dataURLtoBlob,t.downloadSVGLocal=o.downloadSVGLocal,t.downloadURL=t.downloadURL||e.downloadURL,o.compose(t.Chart),t})}); \ No newline at end of file +!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("highcharts/modules/offline-exporting",["highcharts","highcharts/modules/exporting"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var t=r?r._modules:{};function e(t,e,o,n){t.hasOwnProperty(e)||(t[e]=n.apply(null,o),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Extensions/DownloadURL.js",[t["Core/Globals.js"]],function(t){let{isSafari:i,win:a,win:{document:l}}=t,r=a.URL||a.webkitURL||a;function s(n){n=n.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(n&&3{let t,e,o=(r.setElementHTML(i,c),i.getElementsByTagName("text")),n=([].forEach.call(o,function(r){for(["fontFamily","fontSize"].forEach(t=>{{var o=r,n=t;let e=o;for(;e&&e!==i;){if(e.style[n]){let t=e.style[n];"fontSize"===n&&/em$/.test(t)&&(t=Math.round(16*parseFloat(t))+"px"),o.style[n]=t;break}e=e.parentNode}return}}),r.style.fontFamily=m&&m.normal?"HighchartsFont":String(r.style.fontFamily&&r.style.fontFamily.split(" ").splice(-1)),t=r.getElementsByTagName("title"),[].forEach.call(t,function(t){r.removeChild(t)}),e=r.getElementsByClassName("highcharts-text-outline");0{j(n,0,h,t=>{try{v(t,g),f&&f()}catch(t){d(t)}})};let r,t,i=(t,e)=>{b.jspdf.jsPDF.API.events.push(["initialized",function(){this.addFileToVFS(t,e),this.addFont(t,"HighchartsFont",t),this.getFontList().HighchartsFont||this.setFont("HighchartsFont")}])},e=(m&&(t=l.textContent||"",!/[^\u0000-\u007F\u200B]+/.test(t))&&(m=void 0),["normal","italic","bold","bolditalic"]),a=()=>{let n=e.shift();if(!n)return s();var t=m&&m[n];t?E({url:t,responseType:"blob",success:(t,e)=>{let o=new FileReader;o.onloadend=function(){var t;"string"==typeof this.result&&(t=this.result.split(",")[1],i(n,t),"normal"===n&&(r=t)),a()},o.readAsDataURL(e.response)},error:a}):(r&&i(n,r),a())};a()}});if("image/svg+xml"===l)try{e=void 0!==b.MSBlobBuilder?((o=new b.MSBlobBuilder).append(c),o.getBlob("image/svg+xml")):S(c),v(e,g),f&&f()}catch(t){d(t)}else"application/pdf"===l?b.jspdf&&b.jspdf.jsPDF?n():(u=!0,L(p+"jspdf.js",function(){L(p+"svg2pdf.js",n)})):(e=S(c),s=function(){try{y.domurl.revokeObjectURL(e)}catch(t){}},C(e,l,{},h,function(t){try{v(t,g),f&&f()}catch(t){d(t)}},function(){if(1e8]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/),n=c.match(/^]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);var r,i,a;e&&o&&n&&(r=+o[1]*h,i=+n[1]*h,a=()=>{b.canvg.Canvg.fromString(e,c).start();try{v(b.navigator.msSaveOrOpenBlob?t.msToBlob():t.toDataURL(l),g),f&&f()}catch(t){d(t)}finally{s()}},t.width=r,t.height=i,b.canvg?a():(u=!0,L(p+"canvg.js",a)))},d,d,function(){u&&s()}))},y.getScript=L,y.imageToDataUrl=C,y.svgToDataUrl=S,y.svgToPdf=j,c;function p(t,e){function o(t){!1===r.fallbackToExportServer?r.error?r.error(r,t):d(28,!0):n.exportChart(r)}let n=this,r=h(n.options.exporting,t);a.isMS&&n.styledMode&&!i.inlineAllowlist.length&&i.inlineAllowlist.push(/^blockSize/,/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,/^stroke/,/^textAlign/,/^textAnchor/,/^textDecoration/,/^transform/,/^vectorEffect/,/^visibility/,/^x$/,/^y$/),a.isMS&&("application/pdf"===r.type||n.container.getElementsByTagName("image").length&&"image/svg+xml"!==r.type)||"application/pdf"===r.type&&[].some.call(n.container.getElementsByTagName("image"),function(t){let e=t.getAttribute("href");return""!==e&&"string"==typeof e&&0!==e.indexOf("data:")})?o(Error("Image type not supported for this chart/browser.")):n.getSVGForLocalExport(r,e||{},o,function(t){-1g(n,"exportChartLocalSuccess"))})}function L(t,e){let o=w.getElementsByTagName("head")[0],n=w.createElement("script");n.type="text/javascript",n.src=t,n.onload=e,n.onerror=function(){d("Error loading script "+t)},o.appendChild(n)}function m(e,t,o,n){let r=this,i=t=>r.sanitizeSVG(t,d),a=()=>{g&&p===h&&n(i(c.innerHTML))},l=(t,e,o)=>{++p,o.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",t),a()},s,c,d,f,g,h=0,p=0;r.unbindGetSVG=u(r,"getSVG",t=>{d=t.chartCopy.options,h=(g=(c=t.chartCopy.container.cloneNode(!0))&&c.getElementsByTagName("image")||[]).length}),r.getSVGForExport(e,t);try{if(!g||!g.length)return void n(i(c.innerHTML));for(let t=0;t{setTimeout(function(){var t;let e=w.createElement("canvas"),o=e.getContext&&e.getContext("2d");try{if(o){e.height=d.height*a,e.width=d.width*a,o.drawImage(d,0,0,e.width,e.height);try{t=e.toDataURL(r),l(t,r,i,a)}catch(t){f(n,r,i,a)}}else s(n,r,i,a)}finally{c&&c(n,r,i,a)}},y.loadEventDeferDelay)},g=()=>{e(n,r,i,a),c&&c(n,r,i,a)};f=()=>{d=new b.Image,f=t,d.crossOrigin="Anonymous",d.onload=o,d.onerror=g,d.src=n},d.onload=o,d.onerror=g,d.src=n}function S(t){let e=b.navigator.userAgent,o=-1{"​"===t.textContent&&(t.textContent=" ",t.setAttribute("dx",-5))}),a.svg(t,{x:0,y:0,width:r,height:i,removeInvalid:!0}).then(()=>n(a.output("datauristring")))}}),e(t,"masters/modules/offline-exporting.src.js",[t["Core/Globals.js"],t["Extensions/DownloadURL.js"],t["Extensions/OfflineExporting/OfflineExporting.js"]],function(t,e,o){return t.dataURLtoBlob=t.dataURLtoBlob||e.dataURLtoBlob,t.downloadSVGLocal=o.downloadSVGLocal,t.downloadURL=t.downloadURL||e.downloadURL,o.compose(t.Chart),t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/stock-tools.min.js b/assets/js/external/highcharts/modules/stock-tools.min.js index f1ed888..44ce491 100644 --- a/assets/js/external/highcharts/modules/stock-tools.min.js +++ b/assets/js/external/highcharts/modules/stock-tools.min.js @@ -1 +1 @@ -!function(i){"object"==typeof module&&module.exports?module.exports=i.default=i:"function"==typeof define&&define.amd?define("highcharts/modules/stock-tools",["highcharts","highcharts/modules/stock"],function(t){return i(t),i.Highcharts=t,i}):i("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){"use strict";var t=n?n._modules:{};function i(t,i,e,s){t.hasOwnProperty(i)||(t[i]=s.apply(null,e),"function"==typeof CustomEvent&&n.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;{var i=t=t||{};i.compose=function(t){return t.navigation||(t.navigation=new e(t)),t};class e{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(i,e){this.updates.forEach(t=>{t.call(this.chart,i,e)})}}i.Additions=e}return t}),i(t,"Extensions/Annotations/NavigationBindingsDefaults.js",[t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i){let l=t["getAssignedAxis"],{isNumber:a,merge:o}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),e=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:i.value,y:t.value,xAxis:i.axis.index,yAxis:t.axis.index},r:5}]},e.annotationsOptions,e.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;var s,n,o=i.options.shapes,o=o&&o[0]&&o[0].point||{};a(o.xAxis)&&a(o.yAxis)&&(s=this.chart.inverted,n=this.chart.xAxis[o.xAxis].toPixels(o.x),o=this.chart.yAxis[o.yAxis].toPixels(o.y),e=Math.max(Math.sqrt(Math.pow(s?o-t.chartX:n-t.chartX,2)+Math.pow(s?n-t.chartY:o-t.chartY,2)),5)),i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),e=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:i.axis.index,yAxis:t.axis.index,points:[{x:i.value,y:t.value},{x:i.value,y:t.value}],ry:1}]},e.annotationsOptions,e.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),n=e.getAbsolutePosition(e.points[1]),o=e.getDistanceFromLine(s,n,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i,e,s,t=this.chart.pointer?.getCoordinates(t),n=t&&l(t.xAxis),t=t&&l(t.yAxis);if(n&&t)return i=n.value,e=t.value,n=n.axis.index,t=t.axis.index,s=this.chart.options.navigation,this.chart.addAnnotation(o({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:n,yAxis:t,x:i,y:e},{xAxis:n,yAxis:t,x:i,y:e},{xAxis:n,yAxis:t,x:i,y:e},{xAxis:n,yAxis:t,x:i,y:e},{command:"Z"}]}]},s.annotationsOptions,s.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,s=e&&e[0]&&e[0].points||[],n=this.chart.pointer?.getCoordinates(t),o=n&&l(n.xAxis),a=n&&l(n.yAxis);var r;o&&a&&(t=o.value,r=a.value,s[1].x=t,s[2].x=t,s[2].y=r,s[3].y=r,i.update({shapes:[{points:s}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),e=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:i.axis.index,yAxis:t.axis.index,x:i.value,y:t.value}}]},e.annotationsOptions,e.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),i(t,"Extensions/Annotations/NavigationBindings.js",[t["Core/Chart/ChartNavigationComposition.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Extensions/Annotations/NavigationBindingsDefaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i,e,n,s,o,a){let r=i["setOptions"],h=e["format"],{composed:l,doc:c,win:p}=n,{getAssignedAxis:d,getFieldType:g}=o,{addEvent:u,attr:m,defined:y,fireEvent:v,isArray:f,isFunction:x,isNumber:b,isObject:k,merge:A,objectEach:C,pick:w,pushUnique:N}=a;function T(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function O(){this.navigationBindings&&this.navigationBindings.destroy()}function S(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new W(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function L(){let t=this.navigationBindings,a="highcharts-disabled-btn";if(this&&t){let o=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(o=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let i=this.navigationBindings.container[0];C(t.boundClassNames,(s,t)=>{var n=i.querySelectorAll("."+t);if(n)for(let e=0;e{I(t)}),u(i,"destroy",O),u(i,"load",S),u(i,"render",L),u(W,"closePopup",B),u(W,"deselectButton",E),r(s))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=c.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){t=this.chart.pointer?.getCoordinates(t);return[t&&d(t.xAxis),t&&d(t.yAxis)]}initEvents(){let s=this,i=s.chart,t=s.container,e=s.options;s.boundClassNames={},C(e.bindings||{},t=>{s.boundClassNames[t.className]=t}),[].forEach.call(t,e=>{s.eventsToUnbind.push(u(e,"click",t=>{let i=s.getButtonEvents(e,t);i&&!i.button.classList.contains("highcharts-disabled-btn")&&s.bindingsButtonClick(i.button,i.events,t)}))}),C(e.events||{},(t,i)=>{x(t)&&s.eventsToUnbind.push(u(s,i,t,{passive:!1}))}),s.eventsToUnbind.push(u(i.container,"click",function(t){!i.cancelClick&&i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&s.bindingsChartClick(this,t)})),s.eventsToUnbind.push(u(i.container,n.isTouchDevice?"touchmove":"mousemove",function(t){s.bindingsContainerMouseMove(this,t)},n.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,e){let s=this.chart,n=s.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),v(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,v(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),n.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,n=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=p.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,n=null;if(e.closest)n=e.closest.call(t,i);else do{if(s.call(t,i))return t}while(null!==(t=t.parentElement||t.parentNode)&&1===t.nodeType);return n}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):v(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(v(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(v(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,e){return C(t,(n,t)=>{let i=parseFloat(n),o=t.split("."),a=o.length-1;if("undefined"!==(n=!b(i)||n.match(/px|em/g)||t.match(/format/g)?n:i)){let s=e;o.forEach((i,e)=>{if("__proto__"!==i&&"constructor"!==i){let t=w(o[e+1],"");a===e?s[i]=n:(s[i]||(s[i]=t.match(/\d/g)?[]:{}),s=s[i])}})}}),e}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(a){let i=a.options,s=W.annotationsEditable,r=s.nestedOptions,n=w(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),l=W.annotationsNonEditable[i.langKey]||[],o={langKey:i.langKey,type:n};function c(t,s,e,n,i){let o;e&&y(t)&&-1===l.indexOf(s)&&(0<=(e.indexOf&&e.indexOf(s))||e[s]||!0===e)&&(f(t)?(n[s]=[],t.forEach((t,e)=>{k(t)?(n[s][e]={},C(t,(t,i)=>{c(t,i,r[s],n[s][e],s)})):c(t,0,r[s],n[s],s)})):k(t)?(o={},f(n)?(n.push(o),o[s]={},o=o[s]):n[s]=o,C(t,(t,i)=>{c(t,i,0===s?e:r[s],o,s)})):"format"===s?n[s]=[h(t,a.labels[0].points[0]).toString(),"text"]:f(n)?n.push([t,g(i,t)]):n[s]=[t,g(s,t)])}return C(i,(t,e)=>{"typeOptions"===e?(o[e]={},C(i[e],(t,i)=>{c(t,i,r,o[e],i)})):c(t,e,s[n],o,e)}),o}getClickedClassNames(t,i){let e=i.target,s=[],n;for(;e&&e.tagName&&((n=m(e,"class"))&&(s=s.concat(n.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e,s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=A(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return W.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},W.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},W}),i(t,"Stock/StockTools/StockToolsUtilities.js",[t["Core/Defaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,i,l,e){let c=t["getOptions"],{getAssignedAxis:r,getFieldType:h}=i,{defined:p,fireEvent:d,isNumber:g,uniqueKey:u}=e,m=["apo","ad","aroon","aroonoscillator","atr","ao","cci","chaikin","cmf","cmo","disparityindex","dmi","dpo","linearRegressionAngle","linearRegressionIntercept","linearRegressionSlope","klinger","macd","mfi","momentum","natr","obv","ppo","roc","rsi","slowstochastic","stochastic","trix","williamsr"],y=["ad","cmf","klinger","mfi","obv","vbp","vwap"];function v(e,t){let i=t.pointer?.getCoordinates(e),s,n,o=Number.MAX_VALUE,a;if(t.navigationBindings&&i&&(s=r(i.xAxis),n=r(i.yAxis)),s&&n){let i=s.value,t=n.value;return n.axis.series.forEach(t=>{t.points&&(t=t.searchPoint(e,!0))&&o>Math.abs(t.x-i)&&(o=Math.abs(t.x-i),a=t)}),a&&a.x&&a.y?{x:a.x,y:a.y,below:tt.lastVisiblePrice||t.lastPrice)},manageIndicators:function(t){let i,e,s,n,o=this.chart,a={linkedTo:t.linkedTo,type:t.type};var r;"edit"===t.actionType?(this.fieldsToOptions(t.fields,a),(n=o.get(t.seriesId))&&n.update(a,!1)):"remove"===t.actionType?(n=o.get(t.seriesId))&&(i=n.yAxis,n.linkedSeries&&n.linkedSeries.forEach(t=>{t.remove(!1)}),n.remove(!1),0<=m.indexOf(n.type))&&(r={height:i.options.height,top:i.options.top},i.remove(!1),this.resizeYAxes(r)):(a.id=u(),this.fieldsToOptions(t.fields,a),e=o.get(a.linkedTo),s=c().plotOptions,void 0!==e&&e instanceof l&&"sum"===e.getDGApproximation()&&!p(s&&s[a.type]&&s.dataGrouping&&s.dataGrouping.approximation)&&(a.dataGrouping={approximation:"sum"}),0<=m.indexOf(t.type)?(i=o.addAxis({id:u(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),a.yAxis=i.options.id,this.resizeYAxes()):a.yAxis=o.get(t.linkedTo).options.yAxis,0<=y.indexOf(t.type)&&(a.params.volumeSeriesID=o.series.filter(function(t){return"column"===t.options.type})[0].options.id),o.addSeries(a,!1)),d(this,"deselectButton",{button:this.selectedButtonElement}),o.redraw()},shallowArraysEqual:function(i,e){if(!p(i)||!p(e)||i.length!==e.length)return!1;for(let t=0;t{o<=i&&(t.x=s.toValue(e[s.horiz?"chartX":"chartY"]),t.y=n.toValue(e[n.horiz?"chartX":"chartY"]))}),t.update({typeOptions:{points:i.points}}))}},updateRectSize:function(t,i){let e=i.chart,s=i.options.typeOptions,n=g(s.xAxis)&&e.xAxis[s.xAxis],o=g(s.yAxis)&&e.yAxis[s.yAxis];var a;n&&o&&(a=n.toValue(t[n.horiz?"chartX":"chartY"]),t=o.toValue(t[o.horiz?"chartX":"chartY"]),a=a-s.point.x,t=s.point.y-t,i.update({typeOptions:{background:{width:e.inverted?t:a,height:e.inverted?a:t}}}))}}}),i(t,"Stock/StockTools/StockToolsBindings.js",[t["Core/Globals.js"],t["Stock/StockTools/StockToolsUtilities.js"],t["Core/Utilities.js"]],function(a,t,i){let{addFlagFromForm:e,attractToPoint:n,isNotNavigatorYAxis:r,isPriceIndicatorEnabled:o,manageIndicators:s,updateHeight:l,updateNthPoint:c,updateRectSize:h}=t,{fireEvent:p,merge:d}=i;return{segment:{className:"highcharts-segment",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.segment.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.arrowSegment.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},ray:{className:"highcharts-ray",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.ray.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.arrowRay.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.infinityLine.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.arrowInfinityLine.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(t){var i,[t,e]=this.getCoords(t);t&&e&&(i=this.chart.options.navigation,t=d({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.horizontalLine.annotationsOptions),this.chart.addAnnotation(t))}},verticalLine:{className:"highcharts-vertical-line",start:function(t){var i,[t,e]=this.getCoords(t);t&&e&&(i=this.chart.options.navigation,t=d({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.verticalLine.annotationsOptions),this.chart.addAnnotation(t))}},crooked3:{className:"highcharts-crooked3",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"crooked3",type:"crookedLine",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e}]}},s.annotationsOptions,s.bindings.crooked3.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2)]},crooked5:{className:"highcharts-crooked5",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e}]}},s.annotationsOptions,s.bindings.crooked5.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2),c(3),c(4)]},elliott3:{className:"highcharts-elliott3",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e}]},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.elliott3.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2),c(3)]},elliott5:{className:"highcharts-elliott5",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e}]},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.elliott5.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2),c(3),c(4),c(5)]},measureX:{className:"highcharts-measure-x",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:t.axis.index,yAxis:n.axis.index,point:{x:i,y:e},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.measureX.annotationsOptions),this.chart.addAnnotation(t)},steps:[h]},measureY:{className:"highcharts-measure-y",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"measure",type:"measure",typeOptions:{selectType:"y",xAxis:t.axis.index,yAxis:n.axis.index,point:{x:i,y:e},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.measureY.annotationsOptions),this.chart.addAnnotation(t)},steps:[h]},measureXY:{className:"highcharts-measure-xy",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:t.axis.index,yAxis:n.axis.index,point:{x:i,y:e},background:{width:0,height:0,strokeWidth:10},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.measureXY.annotationsOptions),this.chart.addAnnotation(t)},steps:[h]},fibonacci:{className:"highcharts-fibonacci",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e}]},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.fibonacci.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),l]},parallelChannel:{className:"highcharts-parallel-channel",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"parallelChannel",type:"tunnel",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e}]}},s.annotationsOptions,s.bindings.parallelChannel.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),l]},pitchfork:{className:"highcharts-pitchfork",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:t.value,y:n.value,controlPoint:{style:{fill:"#f21313"}}},{x:i,y:e},{x:i,y:e}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},s.annotationsOptions,s.bindings.pitchfork.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(s){s=n(s,this.chart);if(s){this.verticalCounter=this.verticalCounter||0;let t=this.chart.options.navigation,i=d({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:s.x,y:s.y,xAxis:s.xAxis,yAxis:s.yAxis},label:{offset:s.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalCounter.annotationsOptions),e=this.chart.addAnnotation(i);this.verticalCounter++,e.options.events.click.call(e,{})}}},timeCycles:{className:"highcharts-time-cycles",start:function(s){s=n(s,this.chart);if(s){let t=this.chart.options.navigation,i=d({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:s.xAxis,yAxis:s.yAxis,points:[{x:s.x},{x:s.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},t.annotationsOptions,t.bindings.timeCycles.annotationsOptions),e=this.chart.addAnnotation(i);return e.options.events.click.call(e,{}),e}},steps:[c(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(s){s=n(s,this.chart);if(s){let t=this.chart.options.navigation,i=d({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:s.x,y:s.y,xAxis:s.xAxis,yAxis:s.yAxis},label:{offset:s.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalLabel.annotationsOptions),e=this.chart.addAnnotation(i);e.options.events.click.call(e,{})}}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(s){s=n(s,this.chart);if(s){let t=this.chart.options.navigation,i=d({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:s.x,y:s.y,xAxis:s.xAxis,yAxis:s.yAxis},label:{offset:s.below?40:-40,format:" "},connector:{fill:"none",stroke:s.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalArrow.annotationsOptions),e=this.chart.addAnnotation(i);e.options.events.click.call(e,{})}}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,e=d({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value}]}},i.annotationsOptions,i.bindings.fibonacciTimeZones.annotationsOptions),this.chart.addAnnotation(e)},steps:[function(t,i){var e=i.options.typeOptions.points,e=e&&e[0].x,[t,s]=this.getCoords(t);t&&s&&i.update({typeOptions:{xAxis:t.axis.index,yAxis:s.axis.index,points:[{x:e},{x:t.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:e("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:e("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:e("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:e("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(t){this.chart.update({chart:{zooming:{type:"x"}}}),p(this,"deselectButton",{button:t})}},zoomY:{className:"highcharts-zoom-y",init:function(t){this.chart.update({chart:{zooming:{type:"y"}}}),p(this,"deselectButton",{button:t})}},zoomXY:{className:"highcharts-zoom-xy",init:function(t){this.chart.update({chart:{zooming:{type:"xy"}}}),p(this,"deselectButton",{button:t})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(t){this.chart.series[0].update({type:"line",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(t){this.chart.series[0].update({type:"ohlc"}),p(this,"deselectButton",{button:t})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(t){this.chart.series[0].update({type:"candlestick"}),p(this,"deselectButton",{button:t})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(t){this.chart.series[0].update({type:"heikinashi"}),p(this,"deselectButton",{button:t})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(t){this.chart.series[0].update({type:"hlc",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(t){this.chart.series[0].update({type:"hollowcandlestick"}),p(this,"deselectButton",{button:t})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(t){this.chart.fullscreen&&this.chart.fullscreen.toggle(),p(this,"deselectButton",{button:t})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(t){let i=this.chart,e=i.series,s=i.stockTools,n=o(i.series);s&&s.guiEnabled&&(e.forEach(function(t){t.update({lastPrice:{enabled:!n},lastVisiblePrice:{enabled:!n,label:{enabled:!0}}},!1)}),i.redraw()),p(this,"deselectButton",{button:t})}},indicators:{className:"highcharts-indicators",init:function(){let i=this;p(i,"showPopup",{formType:"indicators",options:{},onSubmit:function(t){s.call(i,t)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(t){let i=this.chart,e=i.stockTools,s=e.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations,(i.annotations||[]).forEach(function(t){t.setVisibility(!this.toggledAnnotations)},this),e&&e.guiEnabled&&(this.toggledAnnotations?t.firstChild.style["background-image"]='url("'+s+'annotations-hidden.svg")':t.firstChild.style["background-image"]='url("'+s+'annotations-visible.svg")'),p(this,"deselectButton",{button:t})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(t){let i=this.chart,e=[],s=[],n=[],o=[];i.annotations.forEach(function(t,i){e[i]=t.userOptions}),i.series.forEach(function(t){t.is("sma")?s.push(t.userOptions):"flags"===t.type&&n.push(t.userOptions)}),i.yAxis.forEach(function(t){r(t)&&o.push(t.options)}),a.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:e,indicators:s,flags:n,yAxes:o})),p(this,"deselectButton",{button:t})}}}}),i(t,"Stock/StockTools/StockToolsDefaults.js",[],function(){return{lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick",typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"Add",saveButton:"Save",editButton:"Edit",removeButton:"Remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators",clearFilter:"✕ clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation",periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor",increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index",deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"],pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"],sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"],chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"],disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"],obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"],rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:["indicators","separator","simpleShapes","lines","crookedLines","measure","advanced","toggleAnnotations","separator","verticalLabels","flags","separator","zoomChange","fullScreen","typeChange","separator","currentPriceIndicator","saveChart"],definitions:{separator:{elementType:"span",symbol:"separator.svg"},simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:["segment","arrowSegment","ray","arrowRay","line","arrowInfinityLine","horizontalLine","verticalLine"],segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter","verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY","measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:["typeOHLC","typeLine","typeCandlestick","typeHollowCandlestick","typeHLC","typeHeikinAshi"],typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}},visible:!0}}}}),i(t,"Stock/StockTools/StockTools.js",[t["Core/Defaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Stock/StockTools/StockToolsBindings.js"],t["Stock/StockTools/StockToolsDefaults.js"],t["Stock/StockTools/StockToolsUtilities.js"],t["Core/Utilities.js"]],function(t,i,e,s,n,o){let a=t["setOptions"],r=i["getAssignedAxis"],{isNotNavigatorYAxis:l,isPriceIndicatorEnabled:c}=n,{correctFloat:d,defined:g,isNumber:u,pick:h}=o;function p(n,o,a,t){let r=0,l,c,h;function p(t){return g(t)&&!u(t)&&t.match("%")}return t&&(h=d(parseFloat(t.top)/100),c=d(parseFloat(t.height)/100)),{positions:n.map((t,i)=>{let e=d(p(t.options.height)?parseFloat(t.options.height)/100:t.height/o),s=d(p(t.options.top)?parseFloat(t.options.top)/100:(t.top-t.chart.plotTop)/o);return r=c?(s>h&&(s-=c),Math.max(r,(s||0)+(e||0))):(u(e)||(e=n[i-1].series.every(t=>t.is("sma"))?l:a/100),u(s)||(s=r),l=e,d(Math.max(r,(s||0)+(e||0)))),{height:100*e,top:100*s}}),allAxesHeight:r}}function m(s){let n=[];return s.forEach(function(t,i){var e=s[i+1];n[i]=e?{enabled:!0,controlledAxis:{next:[h(e.options.id,e.index)]}}:{enabled:!1}}),n}function y(e,s,n,o){return e.forEach(function(t,i){i=e[i-1];t.top=i?d(i.height+i.top):0,n&&(t.height=d(t.height+o*s))}),e}function v(t){let i=this.chart,e=i.yAxis.filter(l),s=i.plotHeight,{positions:n,allAxesHeight:o}=this.getYAxisPositions(e,s,20,t),a=this.getYAxisResizers(e);!t&&o<=d(1)?n[n.length-1]={height:20,top:d(100*o-20)}:n.forEach(function(t){t.height=t.height/(100*o)*100,t.top=t.top/(100*o)*100}),n.forEach(function(t,i){e[i].update({height:t.height+"%",top:t.top+"%",resize:a[i],offset:0},!1)})}return{compose:function(t){let i=t.prototype;i.utils?.manageIndicators||(i.getYAxisPositions=p,i.getYAxisResizers=m,i.recalculateYAxisPositions=y,i.resizeYAxes=v,i.utils=i.utils||{},i.utils.indicatorsWithAxes=n.indicatorsWithAxes,i.utils.indicatorsWithVolume=n.indicatorsWithVolume,i.utils.getAssignedAxis=r,i.utils.isPriceIndicatorEnabled=c,i.utils.manageIndicators=n.manageIndicators,a(s),a({navigation:{bindings:e}}))}}}),i(t,"Stock/StockTools/StockToolbar.js",[t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Stock/StockTools/StockToolsUtilities.js"]],function(t,i,e){let{addEvent:c,createElement:h,css:p,defined:s,fireEvent:n,getStyle:d,isArray:a,merge:o,pick:g}=t,r=e["shallowArraysEqual"];class u{constructor(t,i,e){this.width=0,this.isDirty=!1,this.chart=e,this.options=t,this.lang=i,this.iconsURL=this.getIconsURL(),this.guiEnabled=t.enabled,this.visible=g(t.visible,!0),this.guiClassName=t.className,this.toolbarClassName=t.toolbarClassName,this.eventsToUnbind=[],this.guiEnabled&&(this.createContainer(),this.createButtons(),this.showHideNavigation()),n(this,"afterInit")}createButtons(){let e=this.lang,t=this.options,s=this.toolbar,i=t.buttons,n=t.definitions,o=s.childNodes;(this.buttonList=i).forEach(t=>{let i=this.addButton(s,n,t,e);this.eventsToUnbind.push(c(i.buttonWrapper,"click",()=>this.eraseActiveButtons(o,i.buttonWrapper))),a(n[t].items)&&this.addSubmenu(i,n[t])})}addSubmenu(t,i){let e=t.submenuArrow,s=t.buttonWrapper,n=d(s,"width"),o=this.wrapper,a=this.listWrapper,r=this.toolbar.childNodes,l=this.submenu=h("ul",{className:"highcharts-submenu-wrapper"},void 0,s);this.addSubmenuItems(s,i),this.eventsToUnbind.push(c(e,"click",t=>{if(t.stopPropagation(),this.eraseActiveButtons(r,s),0<=s.className.indexOf("highcharts-current"))a.style.width=a.startWidth+"px",s.classList.remove("highcharts-current"),l.style.display="none";else{l.style.display="block";let t=l.offsetHeight-s.offsetHeight-3;l.offsetHeight+s.offsetTop>o.offsetHeight&&s.offsetTop>t||(t=0),p(l,{top:-t+"px",left:n+3+"px"}),s.className+=" highcharts-current",a.startWidth=o.offsetWidth,a.style.width=a.startWidth+d(a,"padding-left")+l.offsetWidth+3+"px"}}))}addSubmenuItems(i,e){let s,n=this,o=this.submenu,a=this.lang,r=this.listWrapper;e.items.forEach(t=>{s=this.addButton(o,e,t,a),this.eventsToUnbind.push(c(s.mainButton,"click",function(){n.switchSymbol(this,i,!0),r.style.width=r.startWidth+"px",o.style.display="none"}))});var t=o.querySelectorAll("li > .highcharts-menu-item-btn")[0];this.switchSymbol(t,!1)}eraseActiveButtons(t,i,e){[].forEach.call(t,t=>{t!==i&&(t.classList.remove("highcharts-current"),t.classList.remove("highcharts-active"),0<(e=t.querySelectorAll(".highcharts-submenu-wrapper")).length&&(e[0].style.display="none"))})}addButton(t,i,e,s={}){let n=i[e],o=n.items,a=u.prototype.classMapping,r=n.className||"",l=h("li",{className:g(a[e],"")+" "+r,title:s[e]||e},void 0,t),c=h(n.elementType||"button",{className:"highcharts-menu-item-btn"},void 0,l);if(o&&o.length){let t=h("button",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,l);return t.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)",{buttonWrapper:l,mainButton:c,submenuArrow:t}}return c.style.backgroundImage="url("+this.iconsURL+n.symbol+")",{buttonWrapper:l,mainButton:c}}addNavigation(){let t=this.wrapper;this.arrowWrapper=h("div",{className:"highcharts-arrow-wrapper"}),this.arrowUp=h("div",{className:"highcharts-arrow-up"},void 0,this.arrowWrapper),this.arrowUp.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",this.arrowDown=h("div",{className:"highcharts-arrow-down"},void 0,this.arrowWrapper),this.arrowDown.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",t.insertBefore(this.arrowWrapper,t.childNodes[0]),this.scrollButtons()}scrollButtons(){let t=this.wrapper,i=this.toolbar,e=.1*t.offsetHeight,s=0;this.eventsToUnbind.push(c(this.arrowUp,"click",()=>{0{t.offsetHeight+s<=i.offsetHeight+e&&(s+=e,i.style.marginTop=-s+"px")}))}createContainer(){let t,i,e=this.chart,s=this.options,n=e.container,o=e.options.navigation,a=o?.bindingsClassName,r=this,l=this.wrapper=h("div",{className:"highcharts-stocktools-wrapper "+s.className+" "+a});n.appendChild(l),this.showHideBtn=h("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,l),this.eventsToUnbind.push(c(this.showHideBtn,"click",()=>{this.update({gui:{visible:!r.visible}})})),["mousedown","mousemove","click","touchstart"].forEach(t=>{c(l,t,t=>t.stopPropagation())}),c(l,"mouseover",t=>e.pointer?.onContainerMouseLeave(t)),this.toolbar=i=h("ul",{className:"highcharts-stocktools-toolbar "+s.toolbarClassName}),this.listWrapper=t=h("div",{className:"highcharts-menu-wrapper"}),l.insertBefore(t,l.childNodes[0]),t.insertBefore(i,t.childNodes[0]),this.showHideToolbar(),this.addNavigation()}showHideNavigation(){this.visible&&this.toolbar.offsetHeight>this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")}showHideToolbar(){let t=this.wrapper,i=this.listWrapper,e=this.submenu,s=this.showHideBtn,n=this.visible;s.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",n?(t.style.height="100%",i.classList.remove("highcharts-hide"),s.classList.remove("highcharts-arrow-right"),s.style.top=d(i,"padding-top")+"px",s.style.left=t.offsetWidth+d(i,"padding-left")+"px"):(e&&(e.style.display="none"),s.style.left="0px",this.visible=!1,i.classList.add("highcharts-hide"),s.classList.add("highcharts-arrow-right"),t.style.height=s.offsetHeight+"px")}switchSymbol(t,i){let e=t.parentNode,s=e.className,n=e.parentNode.parentNode;-1{t!==i&&t.classList.remove("highcharts-active")})}update(t,i){this.isDirty=!!t.gui.definitions,o(!0,this.chart.options.stockTools,t),o(!0,this.options,t.gui),this.visible=g(this.options.visible&&this.options.enabled,!0),this.chart.navigationBindings&&this.chart.navigationBindings.update(),this.chart.isDirtyBox=!0,g(i,!0)&&this.chart.redraw()}destroy(){let t=this.wrapper,i=t&&t.parentNode;this.eventsToUnbind.forEach(t=>t()),i&&i.removeChild(t)}redraw(){this.options.enabled!==this.guiEnabled?this.handleGuiEnabledChange():this.guiEnabled&&(this.updateClassNames(),this.updateButtons(),this.updateVisibility(),this.showHideNavigation(),this.showHideToolbar())}handleGuiEnabledChange(){!1===this.options.enabled&&(this.destroy(),this.visible=!1),!0===this.options.enabled&&(this.createContainer(),this.createButtons()),this.guiEnabled=this.options.enabled}updateClassNames(){this.options.className!==this.guiClassName&&(this.guiClassName&&this.wrapper.classList.remove(this.guiClassName),this.options.className&&this.wrapper.classList.add(this.options.className),this.guiClassName=this.options.className),this.options.toolbarClassName!==this.toolbarClassName&&(this.toolbarClassName&&this.toolbar.classList.remove(this.toolbarClassName),this.options.toolbarClassName&&this.toolbar.classList.add(this.options.toolbarClassName),this.toolbarClassName=this.options.toolbarClassName)}updateButtons(){r(this.options.buttons,this.buttonList)&&!this.isDirty||(this.toolbar.innerHTML=i.emptyHTML,this.createButtons())}updateVisibility(){s(this.options.visible)&&(this.visible=this.options.visible)}getIconsURL(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||"https://code.highcharts.com/11.4.7/gfx/stock-icons/"}}return u.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",fibonacciTimeZones:"highcharts-fibonacci-time-zones",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",timeCycles:"highcharts-time-cycles",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeHLC:"highcharts-series-type-hlc",typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"},u}),i(t,"Stock/StockTools/StockToolsGui.js",[t["Core/Defaults.js"],t["Stock/StockTools/StockToolsDefaults.js"],t["Stock/StockTools/StockToolbar.js"],t["Core/Utilities.js"]],function(t,s,n,i){let o=t["setOptions"],{addEvent:a,getStyle:r,merge:l,pick:c}=i;function h(t){var i=this.options,e=i.lang,i=l(i.stockTools&&i.stockTools.gui,t&&t.gui),t=e&&e.stockTools&&e.stockTools.gui;this.stockTools=new n(i,t,this),this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}function p(){this.setStockTools()}function d(){if(this.stockTools){this.stockTools.redraw();var i=this;if(i.stockTools?.guiEnabled){var e,s=i.options.chart,n=i.stockTools.listWrapper,n=n&&(n.startWidth+r(n,"padding-left")+r(n,"padding-right")||n.offsetWidth);let t=!1;(i.stockTools.width=n){t.call(this.chart,i,e)})}}i.Additions=e}return t}),i(t,"Extensions/Annotations/NavigationBindingsDefaults.js",[t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i){let l=t["getAssignedAxis"],{isNumber:a,merge:o}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),e=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:i.value,y:t.value,xAxis:i.axis.index,yAxis:t.axis.index},r:5}]},e.annotationsOptions,e.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;var s,n,o=i.options.shapes,o=o&&o[0]&&o[0].point||{};a(o.xAxis)&&a(o.yAxis)&&(s=this.chart.inverted,n=this.chart.xAxis[o.xAxis].toPixels(o.x),o=this.chart.yAxis[o.yAxis].toPixels(o.y),e=Math.max(Math.sqrt(Math.pow(s?o-t.chartX:n-t.chartX,2)+Math.pow(s?n-t.chartY:o-t.chartY,2)),5)),i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),e=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:i.axis.index,yAxis:t.axis.index,points:[{x:i.value,y:t.value},{x:i.value,y:t.value}],ry:1}]},e.annotationsOptions,e.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),n=e.getAbsolutePosition(e.points[1]),o=e.getDistanceFromLine(s,n,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i,e,s,t=this.chart.pointer?.getCoordinates(t),n=t&&l(t.xAxis),t=t&&l(t.yAxis);if(n&&t)return i=n.value,e=t.value,n=n.axis.index,t=t.axis.index,s=this.chart.options.navigation,this.chart.addAnnotation(o({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:n,yAxis:t,x:i,y:e},{xAxis:n,yAxis:t,x:i,y:e},{xAxis:n,yAxis:t,x:i,y:e},{xAxis:n,yAxis:t,x:i,y:e},{command:"Z"}]}]},s.annotationsOptions,s.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,s=e&&e[0]&&e[0].points||[],n=this.chart.pointer?.getCoordinates(t),o=n&&l(n.xAxis),a=n&&l(n.yAxis);var r;o&&a&&(t=o.value,r=a.value,s[1].x=t,s[2].x=t,s[2].y=r,s[3].y=r,i.update({shapes:[{points:s}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){var t=this.chart.pointer?.getCoordinates(t),i=t&&l(t.xAxis),t=t&&l(t.yAxis),e=this.chart.options.navigation;if(i&&t)return this.chart.addAnnotation(o({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:i.axis.index,yAxis:t.axis.index,x:i.value,y:t.value}}]},e.annotationsOptions,e.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),i(t,"Extensions/Annotations/NavigationBindings.js",[t["Core/Chart/ChartNavigationComposition.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Extensions/Annotations/NavigationBindingsDefaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Utilities.js"]],function(t,i,e,n,s,o,a){let r=i["setOptions"],h=e["format"],{composed:l,doc:c,win:p}=n,{getAssignedAxis:d,getFieldType:g}=o,{addEvent:u,attr:m,defined:y,fireEvent:v,isArray:f,isFunction:x,isNumber:b,isObject:k,merge:A,objectEach:C,pick:w,pushUnique:N}=a;function T(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function O(){this.navigationBindings&&this.navigationBindings.destroy()}function S(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new W(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function L(){let t=this.navigationBindings,a="highcharts-disabled-btn";if(this&&t){let o=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(o=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let i=this.navigationBindings.container[0];C(t.boundClassNames,(s,t)=>{var n=i.querySelectorAll("."+t);if(n)for(let e=0;e{I(t)}),u(i,"destroy",O),u(i,"load",S),u(i,"render",L),u(W,"closePopup",B),u(W,"deselectButton",E),r(s))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=c.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){t=this.chart.pointer?.getCoordinates(t);return[t&&d(t.xAxis),t&&d(t.yAxis)]}initEvents(){let s=this,i=s.chart,t=s.container,e=s.options;s.boundClassNames={},C(e.bindings||{},t=>{s.boundClassNames[t.className]=t}),[].forEach.call(t,e=>{s.eventsToUnbind.push(u(e,"click",t=>{let i=s.getButtonEvents(e,t);i&&!i.button.classList.contains("highcharts-disabled-btn")&&s.bindingsButtonClick(i.button,i.events,t)}))}),C(e.events||{},(t,i)=>{x(t)&&s.eventsToUnbind.push(u(s,i,t,{passive:!1}))}),s.eventsToUnbind.push(u(i.container,"click",function(t){!i.cancelClick&&i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop,{visiblePlotOnly:!0})&&s.bindingsChartClick(this,t)})),s.eventsToUnbind.push(u(i.container,n.isTouchDevice?"touchmove":"mousemove",function(t){s.bindingsContainerMouseMove(this,t)},n.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,e){let s=this.chart,n=s.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),v(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,v(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),n.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,n=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=p.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,n=null;if(e.closest)n=e.closest.call(t,i);else do{if(s.call(t,i))return t}while(null!==(t=t.parentElement||t.parentNode)&&1===t.nodeType);return n}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):v(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(v(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(v(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,e){return C(t,(n,t)=>{let i=parseFloat(n),o=t.split("."),a=o.length-1;if("undefined"!==(n=!b(i)||n.match(/px|em/g)||t.match(/format/g)?n:i)){let s=e;o.forEach((i,e)=>{if("__proto__"!==i&&"constructor"!==i){let t=w(o[e+1],"");a===e?s[i]=n:(s[i]||(s[i]=t.match(/\d/g)?[]:{}),s=s[i])}})}}),e}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(a){let i=a.options,s=W.annotationsEditable,r=s.nestedOptions,n=w(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),l=W.annotationsNonEditable[i.langKey]||[],o={langKey:i.langKey,type:n};function c(t,s,e,n,i){let o;e&&y(t)&&-1===l.indexOf(s)&&(0<=(e.indexOf&&e.indexOf(s))||e[s]||!0===e)&&(f(t)?(n[s]=[],t.forEach((t,e)=>{k(t)?(n[s][e]={},C(t,(t,i)=>{c(t,i,r[s],n[s][e],s)})):c(t,0,r[s],n[s],s)})):k(t)?(o={},f(n)?(n.push(o),o[s]={},o=o[s]):n[s]=o,C(t,(t,i)=>{c(t,i,0===s?e:r[s],o,s)})):"format"===s?n[s]=[h(t,a.labels[0].points[0]).toString(),"text"]:f(n)?n.push([t,g(i,t)]):n[s]=[t,g(s,t)])}return C(i,(t,e)=>{"typeOptions"===e?(o[e]={},C(i[e],(t,i)=>{c(t,i,r,o[e],i)})):c(t,e,s[n],o,e)}),o}getClickedClassNames(t,i){let e=i.target,s=[],n;for(;e&&e.tagName&&((n=m(e,"class"))&&(s=s.concat(n.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e,s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=A(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return W.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},W.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},W}),i(t,"Stock/StockTools/StockToolsUtilities.js",[t["Core/Defaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,i,l,e){let c=t["getOptions"],{getAssignedAxis:r,getFieldType:h}=i,{defined:p,fireEvent:d,isNumber:g,uniqueKey:u}=e,m=["apo","ad","aroon","aroonoscillator","atr","ao","cci","chaikin","cmf","cmo","disparityindex","dmi","dpo","linearRegressionAngle","linearRegressionIntercept","linearRegressionSlope","klinger","macd","mfi","momentum","natr","obv","ppo","roc","rsi","slowstochastic","stochastic","trix","williamsr"],y=["ad","cmf","klinger","mfi","obv","vbp","vwap"];function v(e,t){let i=t.pointer?.getCoordinates(e),s,n,o=Number.MAX_VALUE,a;if(t.navigationBindings&&i&&(s=r(i.xAxis),n=r(i.yAxis)),s&&n){let i=s.value,t=n.value;return n.axis.series.forEach(t=>{t.points&&(t=t.searchPoint(e,!0))&&o>Math.abs(t.x-i)&&(o=Math.abs(t.x-i),a=t)}),a&&a.x&&a.y?{x:a.x,y:a.y,below:tt.lastVisiblePrice||t.lastPrice)},manageIndicators:function(t){let i,e,s,n,o=this.chart,a={linkedTo:t.linkedTo,type:t.type};var r;"edit"===t.actionType?(this.fieldsToOptions(t.fields,a),(n=o.get(t.seriesId))&&n.update(a,!1)):"remove"===t.actionType?(n=o.get(t.seriesId))&&(i=n.yAxis,n.linkedSeries&&n.linkedSeries.forEach(t=>{t.remove(!1)}),n.remove(!1),0<=m.indexOf(n.type))&&(r={height:i.options.height,top:i.options.top},i.remove(!1),this.resizeYAxes(r)):(a.id=u(),this.fieldsToOptions(t.fields,a),e=o.get(a.linkedTo),s=c().plotOptions,void 0!==e&&e instanceof l&&"sum"===e.getDGApproximation()&&!p(s&&s[a.type]&&s.dataGrouping&&s.dataGrouping.approximation)&&(a.dataGrouping={approximation:"sum"}),0<=m.indexOf(t.type)?(i=o.addAxis({id:u(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),a.yAxis=i.options.id,this.resizeYAxes()):a.yAxis=o.get(t.linkedTo).options.yAxis,0<=y.indexOf(t.type)&&(a.params.volumeSeriesID=o.series.filter(function(t){return"column"===t.options.type})[0].options.id),o.addSeries(a,!1)),d(this,"deselectButton",{button:this.selectedButtonElement}),o.redraw()},shallowArraysEqual:function(i,e){if(!p(i)||!p(e)||i.length!==e.length)return!1;for(let t=0;t{o<=i&&(t.x=s.toValue(e[s.horiz?"chartX":"chartY"]),t.y=n.toValue(e[n.horiz?"chartX":"chartY"]))}),t.update({typeOptions:{points:i.points}}))}},updateRectSize:function(t,i){let e=i.chart,s=i.options.typeOptions,n=g(s.xAxis)&&e.xAxis[s.xAxis],o=g(s.yAxis)&&e.yAxis[s.yAxis];var a;n&&o&&(a=n.toValue(t[n.horiz?"chartX":"chartY"]),t=o.toValue(t[o.horiz?"chartX":"chartY"]),a=a-s.point.x,t=s.point.y-t,i.update({typeOptions:{background:{width:e.inverted?t:a,height:e.inverted?a:t}}}))}}}),i(t,"Stock/StockTools/StockToolsBindings.js",[t["Core/Globals.js"],t["Stock/StockTools/StockToolsUtilities.js"],t["Core/Utilities.js"]],function(a,t,i){let{addFlagFromForm:e,attractToPoint:n,isNotNavigatorYAxis:r,isPriceIndicatorEnabled:o,manageIndicators:s,updateHeight:l,updateNthPoint:c,updateRectSize:h}=t,{fireEvent:p,merge:d}=i;return{segment:{className:"highcharts-segment",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.segment.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.arrowSegment.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},ray:{className:"highcharts-ray",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.ray.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.arrowRay.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.infinityLine.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,t=d({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value},{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.arrowInfinityLine.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(t){var i,[t,e]=this.getCoords(t);t&&e&&(i=this.chart.options.navigation,t=d({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.horizontalLine.annotationsOptions),this.chart.addAnnotation(t))}},verticalLine:{className:"highcharts-vertical-line",start:function(t){var i,[t,e]=this.getCoords(t);t&&e&&(i=this.chart.options.navigation,t=d({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value,y:e.value}]}},i.annotationsOptions,i.bindings.verticalLine.annotationsOptions),this.chart.addAnnotation(t))}},crooked3:{className:"highcharts-crooked3",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"crooked3",type:"crookedLine",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e}]}},s.annotationsOptions,s.bindings.crooked3.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2)]},crooked5:{className:"highcharts-crooked5",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e}]}},s.annotationsOptions,s.bindings.crooked5.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2),c(3),c(4)]},elliott3:{className:"highcharts-elliott3",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e}]},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.elliott3.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2),c(3)]},elliott5:{className:"highcharts-elliott5",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e},{x:i,y:e}]},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.elliott5.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2),c(3),c(4),c(5)]},measureX:{className:"highcharts-measure-x",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:t.axis.index,yAxis:n.axis.index,point:{x:i,y:e},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.measureX.annotationsOptions),this.chart.addAnnotation(t)},steps:[h]},measureY:{className:"highcharts-measure-y",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"measure",type:"measure",typeOptions:{selectType:"y",xAxis:t.axis.index,yAxis:n.axis.index,point:{x:i,y:e},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.measureY.annotationsOptions),this.chart.addAnnotation(t)},steps:[h]},measureXY:{className:"highcharts-measure-xy",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:t.axis.index,yAxis:n.axis.index,point:{x:i,y:e},background:{width:0,height:0,strokeWidth:10},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.measureXY.annotationsOptions),this.chart.addAnnotation(t)},steps:[h]},fibonacci:{className:"highcharts-fibonacci",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e}]},labelOptions:{style:{color:"#666666"}}},s.annotationsOptions,s.bindings.fibonacci.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),l]},parallelChannel:{className:"highcharts-parallel-channel",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"parallelChannel",type:"tunnel",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:i,y:e},{x:i,y:e}]}},s.annotationsOptions,s.bindings.parallelChannel.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),l]},pitchfork:{className:"highcharts-pitchfork",start:function(t){var i,e,s,[t,n]=this.getCoords(t);if(t&&n)return i=t.value,e=n.value,s=this.chart.options.navigation,t=d({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:t.axis.index,yAxis:n.axis.index,points:[{x:t.value,y:n.value,controlPoint:{style:{fill:"#f21313"}}},{x:i,y:e},{x:i,y:e}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},s.annotationsOptions,s.bindings.pitchfork.annotationsOptions),this.chart.addAnnotation(t)},steps:[c(1),c(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(s){s=n(s,this.chart);if(s){this.verticalCounter=this.verticalCounter||0;let t=this.chart.options.navigation,i=d({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:s.x,y:s.y,xAxis:s.xAxis,yAxis:s.yAxis},label:{offset:s.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalCounter.annotationsOptions),e=this.chart.addAnnotation(i);this.verticalCounter++,e.options.events.click.call(e,{})}}},timeCycles:{className:"highcharts-time-cycles",start:function(s){s=n(s,this.chart);if(s){let t=this.chart.options.navigation,i=d({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:s.xAxis,yAxis:s.yAxis,points:[{x:s.x},{x:s.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},t.annotationsOptions,t.bindings.timeCycles.annotationsOptions),e=this.chart.addAnnotation(i);return e.options.events.click.call(e,{}),e}},steps:[c(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(s){s=n(s,this.chart);if(s){let t=this.chart.options.navigation,i=d({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:s.x,y:s.y,xAxis:s.xAxis,yAxis:s.yAxis},label:{offset:s.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalLabel.annotationsOptions),e=this.chart.addAnnotation(i);e.options.events.click.call(e,{})}}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(s){s=n(s,this.chart);if(s){let t=this.chart.options.navigation,i=d({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:s.x,y:s.y,xAxis:s.xAxis,yAxis:s.yAxis},label:{offset:s.below?40:-40,format:" "},connector:{fill:"none",stroke:s.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalArrow.annotationsOptions),e=this.chart.addAnnotation(i);e.options.events.click.call(e,{})}}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones",start:function(t){var i,[t,e]=this.getCoords(t);if(t&&e)return i=this.chart.options.navigation,e=d({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:t.axis.index,yAxis:e.axis.index,points:[{x:t.value}]}},i.annotationsOptions,i.bindings.fibonacciTimeZones.annotationsOptions),this.chart.addAnnotation(e)},steps:[function(t,i){var e=i.options.typeOptions.points,e=e&&e[0].x,[t,s]=this.getCoords(t);t&&s&&i.update({typeOptions:{xAxis:t.axis.index,yAxis:s.axis.index,points:[{x:e},{x:t.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:e("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:e("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:e("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:e("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(t){this.chart.update({chart:{zooming:{type:"x"}}}),p(this,"deselectButton",{button:t})}},zoomY:{className:"highcharts-zoom-y",init:function(t){this.chart.update({chart:{zooming:{type:"y"}}}),p(this,"deselectButton",{button:t})}},zoomXY:{className:"highcharts-zoom-xy",init:function(t){this.chart.update({chart:{zooming:{type:"xy"}}}),p(this,"deselectButton",{button:t})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(t){this.chart.series[0].update({type:"line",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(t){this.chart.series[0].update({type:"ohlc"}),p(this,"deselectButton",{button:t})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(t){this.chart.series[0].update({type:"candlestick"}),p(this,"deselectButton",{button:t})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(t){this.chart.series[0].update({type:"heikinashi"}),p(this,"deselectButton",{button:t})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(t){this.chart.series[0].update({type:"hlc",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(t){this.chart.series[0].update({type:"hollowcandlestick"}),p(this,"deselectButton",{button:t})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(t){this.chart.fullscreen&&this.chart.fullscreen.toggle(),p(this,"deselectButton",{button:t})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(t){let i=this.chart,e=i.series,s=i.stockTools,n=o(i.series);s&&s.guiEnabled&&(e.forEach(function(t){t.update({lastPrice:{enabled:!n},lastVisiblePrice:{enabled:!n,label:{enabled:!0}}},!1)}),i.redraw()),p(this,"deselectButton",{button:t})}},indicators:{className:"highcharts-indicators",init:function(){let i=this;p(i,"showPopup",{formType:"indicators",options:{},onSubmit:function(t){s.call(i,t)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(t){let i=this.chart,e=i.stockTools,s=e.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations,(i.annotations||[]).forEach(function(t){t.setVisibility(!this.toggledAnnotations)},this),e&&e.guiEnabled&&(this.toggledAnnotations?t.firstChild.style["background-image"]='url("'+s+'annotations-hidden.svg")':t.firstChild.style["background-image"]='url("'+s+'annotations-visible.svg")'),p(this,"deselectButton",{button:t})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(t){let i=this.chart,e=[],s=[],n=[],o=[];i.annotations.forEach(function(t,i){e[i]=t.userOptions}),i.series.forEach(function(t){t.is("sma")?s.push(t.userOptions):"flags"===t.type&&n.push(t.userOptions)}),i.yAxis.forEach(function(t){r(t)&&o.push(t.options)}),a.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:e,indicators:s,flags:n,yAxes:o})),p(this,"deselectButton",{button:t})}}}}),i(t,"Stock/StockTools/StockToolsDefaults.js",[],function(){return{lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick",typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"Add",saveButton:"Save",editButton:"Edit",removeButton:"Remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators",clearFilter:"✕ clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation",periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor",increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index",deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"],pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"],sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"],chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"],disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"],obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"],rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:["indicators","separator","simpleShapes","lines","crookedLines","measure","advanced","toggleAnnotations","separator","verticalLabels","flags","separator","zoomChange","fullScreen","typeChange","separator","currentPriceIndicator","saveChart"],definitions:{separator:{elementType:"span",symbol:"separator.svg"},simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:["segment","arrowSegment","ray","arrowRay","line","arrowInfinityLine","horizontalLine","verticalLine"],segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter","verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY","measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:["typeOHLC","typeLine","typeCandlestick","typeHollowCandlestick","typeHLC","typeHeikinAshi"],typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}},visible:!0}}}}),i(t,"Stock/StockTools/StockTools.js",[t["Core/Defaults.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"],t["Stock/StockTools/StockToolsBindings.js"],t["Stock/StockTools/StockToolsDefaults.js"],t["Stock/StockTools/StockToolsUtilities.js"],t["Core/Utilities.js"]],function(t,i,e,s,n,o){let a=t["setOptions"],r=i["getAssignedAxis"],{isNotNavigatorYAxis:l,isPriceIndicatorEnabled:c}=n,{correctFloat:d,defined:g,isNumber:u,pick:h}=o;function p(n,o,a,t){let r=0,l,c,h;function p(t){return g(t)&&!u(t)&&t.match("%")}return t&&(h=d(parseFloat(t.top)/100),c=d(parseFloat(t.height)/100)),{positions:n.map((t,i)=>{let e=d(p(t.options.height)?parseFloat(t.options.height)/100:t.height/o),s=d(p(t.options.top)?parseFloat(t.options.top)/100:(t.top-t.chart.plotTop)/o);return r=c?(s>h&&(s-=c),Math.max(r,(s||0)+(e||0))):(u(e)||(e=n[i-1].series.every(t=>t.is("sma"))?l:a/100),u(s)||(s=r),l=e,d(Math.max(r,(s||0)+(e||0)))),{height:100*e,top:100*s}}),allAxesHeight:r}}function m(s){let n=[];return s.forEach(function(t,i){var e=s[i+1];n[i]=e?{enabled:!0,controlledAxis:{next:[h(e.options.id,e.index)]}}:{enabled:!1}}),n}function y(e,s,n,o){return e.forEach(function(t,i){i=e[i-1];t.top=i?d(i.height+i.top):0,n&&(t.height=d(t.height+o*s))}),e}function v(t){let i=this.chart,e=i.yAxis.filter(l),s=i.plotHeight,{positions:n,allAxesHeight:o}=this.getYAxisPositions(e,s,20,t),a=this.getYAxisResizers(e);!t&&o<=d(1)?n[n.length-1]={height:20,top:d(100*o-20)}:n.forEach(function(t){t.height=t.height/(100*o)*100,t.top=t.top/(100*o)*100}),n.forEach(function(t,i){e[i].update({height:t.height+"%",top:t.top+"%",resize:a[i],offset:0},!1)})}return{compose:function(t){let i=t.prototype;i.utils?.manageIndicators||(i.getYAxisPositions=p,i.getYAxisResizers=m,i.recalculateYAxisPositions=y,i.resizeYAxes=v,i.utils=i.utils||{},i.utils.indicatorsWithAxes=n.indicatorsWithAxes,i.utils.indicatorsWithVolume=n.indicatorsWithVolume,i.utils.getAssignedAxis=r,i.utils.isPriceIndicatorEnabled=c,i.utils.manageIndicators=n.manageIndicators,a(s),a({navigation:{bindings:e}}))}}}),i(t,"Stock/StockTools/StockToolbar.js",[t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Stock/StockTools/StockToolsUtilities.js"]],function(t,i,e){let{addEvent:c,createElement:h,css:p,defined:s,fireEvent:n,getStyle:d,isArray:a,merge:o,pick:g}=t,r=e["shallowArraysEqual"];class u{constructor(t,i,e){this.width=0,this.isDirty=!1,this.chart=e,this.options=t,this.lang=i,this.iconsURL=this.getIconsURL(),this.guiEnabled=t.enabled,this.visible=g(t.visible,!0),this.guiClassName=t.className,this.toolbarClassName=t.toolbarClassName,this.eventsToUnbind=[],this.guiEnabled&&(this.createContainer(),this.createButtons(),this.showHideNavigation()),n(this,"afterInit")}createButtons(){let e=this.lang,t=this.options,s=this.toolbar,i=t.buttons,n=t.definitions,o=s.childNodes;(this.buttonList=i).forEach(t=>{let i=this.addButton(s,n,t,e);this.eventsToUnbind.push(c(i.buttonWrapper,"click",()=>this.eraseActiveButtons(o,i.buttonWrapper))),a(n[t].items)&&this.addSubmenu(i,n[t])})}addSubmenu(t,i){let e=t.submenuArrow,s=t.buttonWrapper,n=d(s,"width"),o=this.wrapper,a=this.listWrapper,r=this.toolbar.childNodes,l=this.submenu=h("ul",{className:"highcharts-submenu-wrapper"},void 0,s);this.addSubmenuItems(s,i),this.eventsToUnbind.push(c(e,"click",t=>{if(t.stopPropagation(),this.eraseActiveButtons(r,s),0<=s.className.indexOf("highcharts-current"))a.style.width=a.startWidth+"px",s.classList.remove("highcharts-current"),l.style.display="none";else{l.style.display="block";let t=l.offsetHeight-s.offsetHeight-3;l.offsetHeight+s.offsetTop>o.offsetHeight&&s.offsetTop>t||(t=0),p(l,{top:-t+"px",left:n+3+"px"}),s.className+=" highcharts-current",a.startWidth=o.offsetWidth,a.style.width=a.startWidth+d(a,"padding-left")+l.offsetWidth+3+"px"}}))}addSubmenuItems(i,e){let s,n=this,o=this.submenu,a=this.lang,r=this.listWrapper;e.items.forEach(t=>{s=this.addButton(o,e,t,a),this.eventsToUnbind.push(c(s.mainButton,"click",function(){n.switchSymbol(this,i,!0),r.style.width=r.startWidth+"px",o.style.display="none"}))});var t=o.querySelectorAll("li > .highcharts-menu-item-btn")[0];this.switchSymbol(t,!1)}eraseActiveButtons(t,i,e){[].forEach.call(t,t=>{t!==i&&(t.classList.remove("highcharts-current"),t.classList.remove("highcharts-active"),0<(e=t.querySelectorAll(".highcharts-submenu-wrapper")).length&&(e[0].style.display="none"))})}addButton(t,i,e,s={}){let n=i[e],o=n.items,a=u.prototype.classMapping,r=n.className||"",l=h("li",{className:g(a[e],"")+" "+r,title:s[e]||e},void 0,t),c=h(n.elementType||"button",{className:"highcharts-menu-item-btn"},void 0,l);if(o&&o.length){let t=h("button",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,l);return t.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)",{buttonWrapper:l,mainButton:c,submenuArrow:t}}return c.style.backgroundImage="url("+this.iconsURL+n.symbol+")",{buttonWrapper:l,mainButton:c}}addNavigation(){let t=this.wrapper;this.arrowWrapper=h("div",{className:"highcharts-arrow-wrapper"}),this.arrowUp=h("div",{className:"highcharts-arrow-up"},void 0,this.arrowWrapper),this.arrowUp.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",this.arrowDown=h("div",{className:"highcharts-arrow-down"},void 0,this.arrowWrapper),this.arrowDown.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",t.insertBefore(this.arrowWrapper,t.childNodes[0]),this.scrollButtons()}scrollButtons(){let t=this.wrapper,i=this.toolbar,e=.1*t.offsetHeight,s=0;this.eventsToUnbind.push(c(this.arrowUp,"click",()=>{0{t.offsetHeight+s<=i.offsetHeight+e&&(s+=e,i.style.marginTop=-s+"px")}))}createContainer(){let t,i,e=this.chart,s=this.options,n=e.container,o=e.options.navigation,a=o?.bindingsClassName,r=this,l=this.wrapper=h("div",{className:"highcharts-stocktools-wrapper "+s.className+" "+a});n.appendChild(l),this.showHideBtn=h("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,l),this.eventsToUnbind.push(c(this.showHideBtn,"click",()=>{this.update({gui:{visible:!r.visible}})})),["mousedown","mousemove","click","touchstart"].forEach(t=>{c(l,t,t=>t.stopPropagation())}),c(l,"mouseover",t=>e.pointer?.onContainerMouseLeave(t)),this.toolbar=i=h("ul",{className:"highcharts-stocktools-toolbar "+s.toolbarClassName}),this.listWrapper=t=h("div",{className:"highcharts-menu-wrapper"}),l.insertBefore(t,l.childNodes[0]),t.insertBefore(i,t.childNodes[0]),this.showHideToolbar(),this.addNavigation()}showHideNavigation(){this.visible&&this.toolbar.offsetHeight>this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")}showHideToolbar(){let t=this.wrapper,i=this.listWrapper,e=this.submenu,s=this.showHideBtn,n=this.visible;s.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",n?(t.style.height="100%",i.classList.remove("highcharts-hide"),s.classList.remove("highcharts-arrow-right"),s.style.top=d(i,"padding-top")+"px",s.style.left=t.offsetWidth+d(i,"padding-left")+"px"):(e&&(e.style.display="none"),s.style.left="0px",this.visible=!1,i.classList.add("highcharts-hide"),s.classList.add("highcharts-arrow-right"),t.style.height=s.offsetHeight+"px")}switchSymbol(t,i){let e=t.parentNode,s=e.className,n=e.parentNode.parentNode;-1{t!==i&&t.classList.remove("highcharts-active")})}update(t,i){this.isDirty=!!t.gui.definitions,o(!0,this.chart.options.stockTools,t),o(!0,this.options,t.gui),this.visible=g(this.options.visible&&this.options.enabled,!0),this.chart.navigationBindings&&this.chart.navigationBindings.update(),this.chart.isDirtyBox=!0,g(i,!0)&&this.chart.redraw()}destroy(){let t=this.wrapper,i=t&&t.parentNode;this.eventsToUnbind.forEach(t=>t()),i&&i.removeChild(t)}redraw(){this.options.enabled!==this.guiEnabled?this.handleGuiEnabledChange():this.guiEnabled&&(this.updateClassNames(),this.updateButtons(),this.updateVisibility(),this.showHideNavigation(),this.showHideToolbar())}handleGuiEnabledChange(){!1===this.options.enabled&&(this.destroy(),this.visible=!1),!0===this.options.enabled&&(this.createContainer(),this.createButtons()),this.guiEnabled=this.options.enabled}updateClassNames(){this.options.className!==this.guiClassName&&(this.guiClassName&&this.wrapper.classList.remove(this.guiClassName),this.options.className&&this.wrapper.classList.add(this.options.className),this.guiClassName=this.options.className),this.options.toolbarClassName!==this.toolbarClassName&&(this.toolbarClassName&&this.toolbar.classList.remove(this.toolbarClassName),this.options.toolbarClassName&&this.toolbar.classList.add(this.options.toolbarClassName),this.toolbarClassName=this.options.toolbarClassName)}updateButtons(){r(this.options.buttons,this.buttonList)&&!this.isDirty||(this.toolbar.innerHTML=i.emptyHTML,this.createButtons())}updateVisibility(){s(this.options.visible)&&(this.visible=this.options.visible)}getIconsURL(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||"https://code.highcharts.com/11.4.8/gfx/stock-icons/"}}return u.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",fibonacciTimeZones:"highcharts-fibonacci-time-zones",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",timeCycles:"highcharts-time-cycles",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeHLC:"highcharts-series-type-hlc",typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"},u}),i(t,"Stock/StockTools/StockToolsGui.js",[t["Core/Defaults.js"],t["Stock/StockTools/StockToolsDefaults.js"],t["Stock/StockTools/StockToolbar.js"],t["Core/Utilities.js"]],function(t,s,n,i){let o=t["setOptions"],{addEvent:a,getStyle:r,merge:l,pick:c}=i;function h(t){var i=this.options,e=i.lang,i=l(i.stockTools&&i.stockTools.gui,t&&t.gui),t=e&&e.stockTools&&e.stockTools.gui;this.stockTools=new n(i,t,this),this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}function p(){this.setStockTools()}function d(){if(this.stockTools){this.stockTools.redraw();var i=this;if(i.stockTools?.guiEnabled){var e,s=i.options.chart,n=i.stockTools.listWrapper,n=n&&(n.startWidth+r(n,"padding-left")+r(n,"padding-right")||n.offsetWidth);let t=!1;(i.stockTools.width=n){delete t.change}):this.dataModify.initCompare(t)}function y(){if(this.xAxis&&this.processedYData&&this.dataModify){let t=this.processedXData,e=this.processedYData,i=e.length,s=!0===this.options.compareStart?0:1,o=-1,r;for(this.pointArrayMap&&(o=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),r=0;r=(this.xAxis.min||0)){this.dataModify.compareValue=a;break}}}}function M(t,e){this.setModifier("compare",t,e)}function S(t,e){t=g(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},g(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function A(t,e){this.setModifier("cumulative",t,e)}(e=o=o||{}).compose=function(t,e,i){let s=e.prototype,o=i.prototype,r=t.prototype;return r.setCompare||(r.setCompare=b,r.setCumulative=S,a(t,"afterInit",m),a(t,"afterGetExtremes",v),a(t,"afterProcessData",y)),s.setCompare||(s.setCompare=M,s.setModifier=x,s.setCumulative=A,o.tooltipFormatter=f),t};class k{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let i=1/0,s=-1/0;return t.reduce((t,e)=>{e=t+e;return i=Math.min(i,e,t),s=Math.max(s,e,t),e}),[i,s]}initCompare(s){this.modifyValue=function(e,i){var t=this.compareValue;if(void 0===(e=null===e?0:e)||void 0===t)return 0;if("value"===s?e-=t:e=e/t*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}}initCumulative(){this.modifyValue=function(s,o){if(void 0===(s=null===s?0:s)||void 0===o)return 0;{var r=0=this.series.xAxis.min;return t&&(t.cumulativeSum=!e||i?s:void 0),s}}}}e.Additions=k}return o}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let o,i=t["isTouchDevice"],{addEvent:r,merge:a,pick:n}=s,l=[];function h(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,o=this.navigator;var r,a;o&&(t=s&&s.options,e=o.xAxis,i=o.yAxis,{scrollbarHeight:r,scrollButtonSize:a}=o,this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize()))}function p(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new o(this),n(t.redraw,!0)&&this.redraw(t.animation))}function c(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new o(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function x(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(l,e)){let t=e.prototype;o=i,t.callbacks.push(g),r(e,"afterAddSeries",h),r(e,"afterSetChartSize",d),r(e,"afterUpdate",p),r(e,"beforeRender",c),r(e,"beforeShowResetZoom",u),r(e,"update",x)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:l,defined:p,isNumber:h,pick:c}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function o(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,l=i.zooming.type;var h;this.isXAxis&&(o?.enabled||n?.enabled)&&("y"===l&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===l||d&&"xy"===a)&&this.options.range&&(h=r.previousZoom,p(t.min)?r.previousZoom=[this.min,this.max]:h&&(t.min=h[0],t.max=h[1],r.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class r{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=c(i,o.translate(t,!0,!o.horiz)),n=c(s,o.translate(e,!0,!o.horiz));return p(i)||(a=l(a+r)),p(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=c(i,o.translate(t,!0,!o.horiz)),n=c(s,o.translate(e,!0,!o.horiz));return p(i)||(a=l(a+r)),p(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,o={}){var i=o.width?o.width/2:i,r=n(o.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:r})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i,a,n){let l=t["setOptions"],h=e["composed"],d=i["getRendererType"],p=a["setFixedRange"],{addEvent:c,extend:u,pushUnique:g}=n;function x(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(h,"Navigator")&&(t.prototype.setFixedRange=p,u(d().prototype.symbols,r),c(i,"afterUpdate",x),l({navigator:o}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let o=t["composed"],{addEvent:r,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function p(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function l(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function h(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),r(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:o,scrollMin:r,scrollMax:a}=p(n),a=a-r;d(s)&&d(o)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=r+a*this.to,r+a*this.from):(e=r+a*(1-this.from),r+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function c(){let t,e,i,{scrollMin:s,scrollMax:o}=p(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,l=this.options.margin||0;var h;r&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(n[1]+=l),1):(this.opposite&&(n[0]+=a),h=r.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:l):this.opposite?0:l,r.position(h,this.top,this.width,this.height),this.opposite&&(n[0]+=l),0),n[t]+=r.size+(r.options.margin||0),isNaN(s)||isNaN(o)||!d(this.min)||!d(this.max)||this.min===this.max?r.setRange(0,1):(e=(this.min-s)/(o-s),i=(this.max-s)/(o-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,i):r.setRange(1-i,1-e)))}t.compose=function(t,e){n(o,"Axis.Scrollbar")&&(i=e,r(t,"afterGetOffset",l),r(t,"afterInit",h),r(t,"afterRender",c))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["defaultOptions"],{addEvent:l,correctFloat:d,crisp:a,defined:p,destroyObjectProperties:n,fireEvent:h,merge:c,pick:u,removeEvent:g}=o;class x{static compose(t){i.compose(t,x)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,o=this.scrollbarButtons,r=this.options,a=this.size,n=s.g().add(this.group);if(o.push(n),r.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:r.buttonBorderRadius},t.strokeWidth())),s.path(x.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(o[i]));this.chart.styledMode||e.attr({fill:r.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=c(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,a?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-l,translateY:a?s-h:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,r),y:-a(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(x.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var o,r=this.options,a=r.vertical,n=r.minWidth,l=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";p(l)&&(o=l*Math.min(e,1),i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=d(o-i),ss||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,c(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,l=a.chart,e=l.inverted,h=l.renderer,d={cursor:e?"ns-resize":"ew-resize"},p=a.navigatorGroup??(a.navigatorGroup=h.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=h.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(p));l.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=h.path().addClass("highcharts-navigator-outline").add(p)),l.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:o,width:r}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]?i!==a.handles[t].symbolName&&(e=c[i].call(c,-r/2-1,0,r,o),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]=h.symbol(i,-r/2-1,0,r,o,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(p)),l.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(o+r)/2}),l.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-r/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(M(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),k(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var o;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{E(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(v(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,o=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:o,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,p=o.xAxis[0].minRange,c=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,x,f,m=this.scrollbarHeight,v,b;if(!this.hasDragged||k(i)){if(this.isDirty&&this.renderElements(),t=A(t-a/2),e=A(e+a/2),!D(t)||!D(e)){if(!h)return;i=0,s=w(r.width,n.width)}this.left=w(r.left,o.plotLeft+u+(d?o.plotWidth:0));var y=this.size=v=w(r.len,(d?o.plotHeight:o.plotWidth)-2*u),t=(g=d?m:v+2*u,i=w(i,r.toPixels(t,!0)),s=w(s,r.toPixels(e,!0)),D(i)&&Math.abs(i)!==1/0||(i=0,s=g),r.toValue(i,!0)),e=r.toValue(s,!0),M=((M=Math.abs(A(e-t)))c&&(this.grabbedLeft?i=r.toPixels(e-c-a,!0):this.grabbedRight&&(s=r.toPixels(t+c+a,!0))),this.zoomedMax=S(Math.max(i,s),0,y),this.zoomedMin=S(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,y),this.range=this.zoomedMax-this.zoomedMin,y=Math.round(this.zoomedMax),Math.round(this.zoomedMin));l&&(this.navigatorGroup.attr({visibility:"inherit"}),b=h&&!this.hasDragged?"animate":"attr",this.drawMasks(M,y,d,b),this.drawOutline(M,y,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(M,0,d,b),this.drawHandle(y,1,d,b))),this.scrollbar&&(d?(f=this.top-u,x=this.left-m+(l||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),m=v+2*u):(f=this.top+(l?this.height:-m),x=this.left-u),this.scrollbar.position(x,f,g,m),this.scrollbar.setRange(this.zoomedMin/(v||1),this.zoomedMax/(v||1))),this.rendered=!0,this.isDirty=!1,C(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],o,r;e.mouseMoveHandler=o=function(t){e.onMouseMove(t)},e.mouseUpHandler=r=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(v(t.renderTo,"mousemove",o),v(i.ownerDocument,"mouseup",r),v(t.renderTo,"touchmove",o),v(i.ownerDocument,"touchend",r)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(v(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let o=this,r=[];return["shades","handles"].forEach(function(i){o[i].forEach(function(t,e){r.push(v(t.element,s,function(t){o[i+"Mousedown"](t,e)}))})}),r}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,l=t.chartX,h,d,p,c;i.inverted&&(l=t.chartY,n=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=a,this.dragOffset=l-o):(c=l-n-a/2,0===e?c=Math.max(0,c):2===e&&c+a>=r&&(c=r-a,this.reversedExtremes?(c-=a,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),c!==o&&(this.fixedWidth=a,k((p=s.navigatorAxis.toFixedRange(c,c+a,d,h)).min)&&C(this,"setRange",{min:Math.min(p.min,p.max),max:Math.max(p.min,p.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,l;t.touches&&0===t.touches[0].pageX||(l=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-n)):e.grabbedCenter&&(e.hasDragged=!0,ls+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&w(e.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a,n=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,p=n.inverted,c=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),k((a=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&C(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&D(this.zoomedMin)&&D(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,p,c),this.outline&&this.drawOutline(i,e,p,c),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,p,c),this.drawHandle(e,1,p,c)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){E(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&E(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},o=s.enabled,r=i&&e.height||0,a=o&&s.height||0,l=s.buttonsEnabled&&a||0,h=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=o,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=h.baseSeries,p=n.xAxis.length,c=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,h.navigatorEnabled?(g=this.getXAxisOffsets(),h.xAxis=new x(n,M({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:p,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:r}:{offsets:g,height:r}),"xAxis"),h.yAxis=new x(n,M(e.yAxis,{alignTicks:!1,offset:0,index:c,isInternal:!0,reversed:w(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||e.series.data?h.updateNavigatorSeries(!1):0===n.series.length&&(h.unbindRedraw=v(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,o){let r=this,a=r.chart,n=r.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},h=r.series=(r.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(E(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,p,c=r.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=b({color:t.color,visible:t.visible},y(c)?g.navigator.series:c);var s;e&&!1===r.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(p=M(d,l,i,u)).pointRange=w(i.pointRange,u.pointRange,g.plotOptions[p.type||"line"].pointRange),s=u.data||i.data,r.hasNavigatorData=r.hasNavigatorData||!!s,p.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(p,o):(t.navigatorSeries=a.initSeries(p),a.setSortedData(),t.navigatorSeries.baseSeries=t,h.push(t.navigatorSeries)))}),(!c.data||n&&n.length)&&!y(c)||(r.hasNavigatorData=!1,(c=O(c)).forEach((t,e)=>{l.name="Navigator "+(h.length+1),(p=M(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},l,t)).data=t.data,p.data&&(r.hasNavigatorData=!0,h.push(a.initSeries(p)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(v(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(v(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(v(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(v(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(v(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),k(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,p=w(this.ordinal?.convertOverscroll(this.options.overscroll),0),c=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(h&&(t=(e=a)+l),d&&(t=n+p,h||(e=Math.max(a,t-l,i.getBaseSeriesMin(c&&c.xData?c.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&D(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=w(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!D(i)||!D(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,c,u,e){var i;let{addEvent:o,correctFloat:h,css:b,defined:y,error:M,isNumber:s,pick:S,timeUnits:A,isString:r}=e;{var a=i=i||{};function n(t,e,h,i,s=[],o=0,r){let d={},p=this.options.tickPixelInterval,a=this.chart.time,n=[],l,c,u,g,x,f=0,m=[],v=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var b=s.length;for(l=0;lh,s[l]5*o||x){if(s[l]>v){for(c=a.getTimeTicks(t,s[f],s[l],i);c.length&&c[0]<=v;)c.shift();c.length&&(v=c[c.length-1]),n.push(m.length),m=m.concat(c)}f=l+1}if(x)break}if(c){if(g=c.info,r&&g.unitRange<=A.hour){for(f=1,l=m.length-1;ft-e),(a=i[Math.floor(i.length/2)])<.6*p&&(a=null),l=m[t-1]>h?t-1:t,r=void 0;l--;)n=Math.abs(r-(o=e[l])),r&&n<.8*p&&(null===a||n<.8*a)?(d[m[l]]&&!d[m[l+1]]?(s=l+1,r=o):s=l,m.splice(s,1)):r=o}return m}function l(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,o=e.getExtendedPositions();if(o&&o.length){var r,a,n=h((t-i)*s+this.minPixelPadding),n=h(e.getIndexOfPoint(n,o)),l=h(n%1);if(0<=n&&n<=o.length-1)return r=o[Math.floor(n)],a=o[Math.ceil(n)],o[Math.floor(n)]+l*(a-r)}return t}function p(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function x(){var{eventArgs:t,options:e}=this;this.isXAxis&&y(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&y(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function f(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function m(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function v(t){let x=this.xAxis[0],f=x.ordinal.convertOverscroll(x.options.overscroll),m=t.originalEvent.chartX,e=this.options.chart.panning,v=!1;if(e&&"y"!==e.type&&x.options.ordinal&&x.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=x.getExtremes(),o=s.dataMin,r=s.dataMax,a=s.min,n=s.max,l=this.hoverPoints,h=x.closestPointRange||x.ordinal&&x.ordinal.overscrollPointsRange,d=Math.round((i-m)/(x.translationSlope*(x.ordinal.slope||h))),p=x.ordinal.getExtendedPositions(),c={ordinal:{positions:p,extendedOrdinalPositions:p}},u=x.index2val,g=x.val2lin;if(a<=o&&d<0||r<=n+f&&0(e=c.ordinal.positions)[e.length-1]&&e.push(r),this.setFixedRange(n-a),(t=x.navigatorAxis.toFixedRange(void 0,void 0,u.apply(c,[g.apply(c,[a,!0])+d]),u.apply(c,[g.apply(c,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(r,n)+f&&x.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=m,b(this.container,{cursor:"move"})):v=!0}else v=!0;v||e&&/y/.test(e.type)?f&&(x.max=x.dataMax+f):t.preventDefault()}function k(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function C(t,e){let i,s=this.ordinal,o=s.positions,r=s.slope,a;if(!o)return t;var n=o.length;if(o[0]<=t&&o[n-1]>=t)i=p(o,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,l=(r=r||(a[n-1]-a[0])/n,p(a,o[0]));if(t>=a[0]&&t<=a[n-1])i=p(a,t)-l;else{if(!e)return t;i=th||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===n?x=g[1]-g[0]:1===n?(x=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+x]):x=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=x,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),p=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=c=(o-s)/(p-d),e.offset=s-d*c):(e.overscrollPointsRange=S(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{var e=t.points?.[0];y(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,o=e.x)}),i=i??s.minPixelPadding;var r=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=h((t-i)/r);return D.findIndexOf(e,o,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],o=t.dataMax;if(y(i))for(;o<=t.dataMax+e;)s.push(o+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return S(i.originalOrdinalRange,y(s.dataMax)&&y(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var o;return r(t)?(o=parseInt(t,10),/%$/.test(t)?e(o/100):/px/.test(t)?e((o=Math.min(o,.9*s.len)/s.len)/(1-o)):0):t}}a.Additions=D}return i}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let r,o=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:l,extend:h,isNumber:d,merge:p,pick:c,pushUnique:u}=i,g=[];function x(){function t(t,e){let i="year"===r?"FullYear":"Month",s=new a.Date(t),o=a.get(i,s);return a.set(i,s,o+e),o===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,r=s.type,o=this.max,a=this.chart.time;d(s)?(e=o-s,i=s):s&&(e=o+t(o,-(s.count||1)),this.chart&&this.chart.setFixedRange(o-e));var n=c(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,c(this.dataMax,Number.MAX_VALUE))),d(o)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function f(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new r(this))}function m(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function v(){let s,o=this.rangeSelector;if(o){let t=this.xAxis[0].getExtremes(),e=this.legend,i=o&&o.options.verticalAlign;d(t.min)&&o.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=p(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=o.getHeight(),e.group.placed=!1,e.align(s))}}function b(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function y(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function M(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;e&&e.enabled&&!l(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new r(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o&&(t=e&&e.verticalAlign||o.options&&o.options.verticalAlign,o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(r=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=x,n(i,"afterGetContainer",f),n(i,"beforeRender",m),n(i,"destroy",b),n(i,"getMargins",y),n(i,"redraw",v),n(i,"update",M),t.callbacks.push(v),h(o,{rangeSelector:s.rangeSelector}),h(o.lang,s.lang)}}}}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(v,t,f,i,s,e,D){let w=t["defaultOptions"],{addEvent:b,createElement:m,css:E,defined:y,destroyObjectProperties:o,discardElement:r,extend:M,fireEvent:S,isNumber:O,merge:A,objectEach:a,pad:n,pick:k,pInt:l,splat:C}=e;class h{static compose(t,e){i.compose(t,e,h)}constructor(t){this.buttonOptions=h.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,l=r.dataMin,h=r.dataMax,d,p=o&&Math.round(Math.min(o.max,k(h,o.max))),c,u=s._range,g,x,f,m=!0;if(null!==l&&null!==h){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,v.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(x={range:s,max:p,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(x),O(x.newMax)&&(p=x.newMax),m=!1):u=s;else if(u)p=Math.min((d=Math.max(p-u,l))+u,h),m=!1;else if("ytd"===a){if(!o)return void(this.deferredYTDClick=t);void 0!==h&&void 0!==l||(l=Number.MAX_VALUE,h=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(l=Math.min(t[0],l),h=Math.max(t[t.length-1],h))}),e=!1),d=g=(f=this.getYTDExtremes(h,l,i.time.useUTC)).min,p=f.max}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,p=h);if(m&&s._offsetMin&&y(d)&&(d+=s._offsetMin),s._offsetMax&&y(p)&&(p+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)o.setExtremes(d,p,k(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{c=C(i.options.xAxis)[0];let e=b(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});b(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=c.range,t.options.min=c.min,e()})}S(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&S(t,"blur"),e&&e.blur&&S(e,"blur")}let i=this,s=e.options.rangeSelector,o=s.buttons||i.defaultButtons.slice(),r=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(b(e.container,"mousedown",t)),this.eventsToUnbind.push(b(e,"resize",t)),o.forEach(i.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(b(e,"load",function(){e.xAxis&&e.xAxis[0]&&b(e.xAxis[0],"setExtremes",function(t){O(this.max)&&O(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let c=this,t=this.chart,s=this.dropdown,o=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),x=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,f=e.dataMin,m=e.dataMax,i=c.getYTDExtremes(m,f,t.time.useUTC),v=i.min,b=i.max,y=c.selected,M=c.options.allButtonsEnabled,S=Array(c.buttonOptions.length).fill(0),A=O(y),r=c.buttons,k=!1,C=null;c.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,o=t.count||1,r=t._offsetMax-t._offsetMin,a=e===y,n=i>m-f,l=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*o-r&&g-36e5<=864e5*{month:31,year:366}[s]*o+r?d=!0:"ytd"===s?(d=b-v+r===g,h=!a):"all"===s&&(d=u.max-u.min>=m-f);var t=!M&&!(k&&"all"===s)&&(n||l||x),p=k&&"all"===s||!h&&d||a&&c.frozenStates;t?S[e]=3:!p||A&&e!==y||(C=e)}),null!==C?(S[C]=2,c.setSelected(C)):(c.setSelected(),o&&(o.setState(0),o.attr({text:(w.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?l=void 0:la&&(l=a)),void 0!==l&&s.setExtremes(p?l:s.min,p?s.max:l,void 0,void 0,{trigger:"rangeSelectorInput"}))}let l=a[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",c=o.label(l,0).addClass("highcharts-range-label").attr({padding:l?2:0,height:l?r.inputBoxHeight:0}).add(i),u=o.label("",0).addClass("highcharts-range-input").attr({padding:2,width:r.inputBoxWidth,height:r.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(h.styledMode||u.attr({stroke:r.inputBoxBorderColor,"stroke-width":1}),u.add(i),m("input",{name:e,className:"highcharts-range-selector"},void 0,t)),x=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(r.inputDateFormat||"%e %b %Y")),h.styledMode||(c.css(A(s,r.labelStyle)),u.css(A({color:"#333333"},s,r.inputStyle)),E(g,M({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},r.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===f.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{x||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{x=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{x=!1},{dateBox:u,input:g,label:c}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get("FullYear",o),a=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),n=o.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=k(s.chart.style?.zIndex,0)+1;var n;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=m("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(y(t.dataMin)&&y(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=w.lang,r=e.renderer,a=A(i.buttonTheme),n=a&&a.states,l=a.width||28,h=(delete a.width,delete a.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group),this.dropdown=m("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),o=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=r.button("",0,0,()=>{},A(a,{"stroke-width":k(a["stroke-width"],0),width:"auto",paddingLeft:k(i.buttonTheme.paddingLeft,o?.padding,8),paddingRight:k(i.buttonTheme.paddingRight,o?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),b(h,"touchstart",()=>{h.style.fontSize="16px"}),f.isMS?"mouseover":"mouseenter"),p=f.isMS?"mouseout":"mouseleave";b(h,d,()=>{S(this.dropdownLabel.element,d)}),b(h,p,()=>{S(this.dropdownLabel.element,p)}),b(h,"change",()=>{S(this.buttons[h.selectedIndex-1].element,"click")}),this.zoomText=r.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=k(a["stroke-width"],0)),m("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,h),this.buttonOptions.forEach((s,o)=>{m("option",{textContent:s.title||s.text},void 0,h),t[o]=r.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(o),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:l}).add(this.buttonGroup),s.title&&t[o].attr("title",s.title)})}alignElements(){let{buttonGroup:l,buttons:h,chart:d,group:p,inputGroup:c,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:x,inputPosition:f,verticalAlign:m}=u,v=(t,e)=>i&&this.titleCollision(d)&&"top"===m&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,b=d.plotLeft;if(p&&x&&f){let t=x.x-d.spacing[3];if(l){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),h.forEach((t,e)=>{i+=t.width||0,e!==h.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}b-=d.spacing[3];var y=v(l,x);this.alignButtonGroup(y),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),p.placed=l.placed=d.hasLoaded}let e=0,i=(c&&(e=v(c,f),"left"===f.align?t=b:"right"===f.align&&(t=-Math.max(d.axisOffset[1],-e)),c.align({y:f.y,width:c.getBBox().width,align:f.align,x:f.x+t-2},!0,d.spacingBox),c.placed=d.hasLoaded),this.handleCollision(e),p.align({verticalAlign:m},!0,d.spacingBox),p.alignAttr.translateY),s=p.getBBox().height+20,o=0;"bottom"===m&&(y=d.legend&&d.legend.options,o=i-(s=s+(y&&"bottom"===y.verticalAlign&&y.enabled&&!y.floating?d.legend.legendHeight+k(y.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===m?(u.floating&&(o=0),d.titleOffset&&d.titleOffset[0]&&(o=d.titleOffset[0]),o+=d.margin[0]-d.spacing[0]||0):"middle"===m&&(f.y===x.y?o=i:(f.y||x.y)&&(f.y<0||x.y<0?o-=Math.min(f.y,x.y):o=i-s)),p.translate(u.x,u.y+Math.floor(o));let{minInput:r,maxInput:a,dropdown:n}=this;u.inputEnabled&&r&&a&&(r.style.marginTop=p.translateY+"px",a.style.marginTop=p.translateY+"px"),n&&(n.style.marginTop=p.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,r=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-a:"center"===r.align&&(n-=a/2),o&&o.align({y:r.y,width:k(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,o=t.hasLoaded?"animate":"attr",r=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[o]({x:k(a+r.x,a)}),n+=r.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!r)&&(e=a.alignAttr.translateX+a.alignOptions.x-o+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=r.alignAttr.translateX+r.getBBox().x)+t&&s{a&&r&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-o?0:-o),translateY:a.alignAttr.translateY+r.getBBox().height+10})};if(r){if("always"===e)return this.collapseButtons(),void(s(i())&&h());"never"===e&&this.expandButtons()}a&&r?l.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&h()):h():"responsive"===e&&this.expandButtons():r&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var o,r;t&&s&&({translateX:r=0,translateY:o=0}=t,r=e.plotLeft+r,i.attr({x:r,y:o}).show(),E(s,{left:r+"px",top:o+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),E(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;var l=Math.min(a,r);return(a<0&&r<0||0t()),i.eventsToUnbind=void 0),o(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof window.HTMLElement&&r(t)),t!==h.prototype[e]&&(i[e]=null)},this)}}return M(h.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),h}),e(t,"Core/Chart/StockChart.js",[t["Core/Chart/Chart.js"],t["Core/Templating.js"],t["Core/Defaults.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,i,n,l,h,s,o){let D=e["format"],d=i["getOptions"],r=s["setFixedRange"],{addEvent:a,clamp:S,crisp:p,defined:A,extend:w,find:k,isNumber:E,isString:C,merge:c,pick:O,splat:u}=o;function g(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!(!e.categories&&"category"!==e.type),title:{text:"Values"!==i.title?.text?i.title?.text:null}}:{}}function x(t,i){if("xAxis"!==t)return{};{let t=O(i.navigator&&i.navigator.enabled,n.enabled,!0),e={type:"datetime",categories:void 0};return t&&(e.startOnTick=!1,e.endOnTick=!1),e}}class f extends t{init(e,t){let i=d(),s=e.xAxis,o=e.yAxis,r=O(e.navigator&&e.navigator.enabled,n.enabled,!0),a=(e.xAxis=e.yAxis=void 0,c({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:r},scrollbar:{enabled:O(h.enabled,!0)},rangeSelector:{enabled:O(l.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:O(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},e,{isStock:!0}));e.xAxis=s,e.yAxis=o,a.xAxis=u(e.xAxis||{}).map(t=>c(g("xAxis",t,i.xAxis),t,x("xAxis",e))),a.yAxis=u(e.yAxis||{}).map(t=>c(g("yAxis",t,i.yAxis),t)),super.init(a,t)}createAxis(t,e){return e.axis=c(g(t,e.axis,d()[t]),e.axis,x(t,this.userOptions)),super.createAxis(t,e)}}return a(t,"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(c(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),(G=f=f||{}).compose=function(t,e,i,s){let o=i.prototype;o.forceCropping||(a(e,"afterDrawCrosshair",m),a(e,"afterHideCrosshair",v),a(e,"autoLabelAlign",b),a(e,"destroy",y),a(e,"getPlotLinePath",M),t.prototype.setFixedRange=r,o.forceCropping=P,a(i,"setOptions",B),s.prototype.crispPolyLine=T)},G.stockChart=function(t,e,i){return new G(t,e,i)},f;function m(k){if(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&E(this.min)&&E(this.max)){let t=this.chart,e=this.logarithmic,i=this.crosshair.label,s=this.horiz,o=this.opposite,r=this.left,a=this.top,n=this.width,l="inside"===this.options.tickPosition,h=!1!==this.crosshair.snap,d=k.e||this.cross&&this.cross.e,p=k.point,c=this.crossLabel,u,g,x=i.format,f="",m,v=0,b=this.min,y=this.max;e&&(b=e.lin2log(this.min),y=e.lin2log(this.max));k=s?"center":o?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";c||(c=this.crossLabel=t.renderer.label("",0,void 0,i.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(p&&p.series?p.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:i.align||k,padding:O(i.padding,8),r:O(i.borderRadius,3),zIndex:2}).add(this.labelGroup),t.styledMode||c.attr({fill:i.backgroundColor||p&&p.series&&p.series.color||"#666666",stroke:i.borderColor||"","stroke-width":i.borderWidth||0}).css(w({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},i.style||{}))),g=s?(u=h?(p.plotX||0)+r:d.chartX,a+(o?0:this.height)):(u=r+this.offset+(o?n:0),h?(p.plotY||0)+a:d.chartY),x||i.formatter||(this.dateTime&&(f="%b %d, %Y"),x="{value"+(f?":"+f:"")+"}");let M=h?this.isXAxis?p.x:p.y:this.toValue(s?d.chartX:d.chartY),S=p&&p.series?p.series.isPointInside(p):E(M)&&M>b&&M=m.right&&(v=-(C+k.width-m.right)),c.attr({x:u+v,y:g,anchorX:s?u:this.opposite?0:t.chartWidth,anchorY:s?this.opposite?t.chartHeight:0:g+k.height/2})}}function v(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function b(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;var r;e.options.isStock&&"yAxis"===this.coll&&(r=i.top+","+i.height,!s[r]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[r]=this,t.align="right",t.preventDefault()))}function y(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function M(t){let i=this,s=(i.isLinked&&!i.series&&i.linkedParent?i.linkedParent:i).series,o=i.chart,e=o.renderer,r=i.left,a=i.top,n=[],l=t.translatedValue,h=t.value,d=t.force,p,c,u,g,x=[],f,m;if(o.options.isStock&&!1!==t.acrossPanes&&"xAxis"===i.coll||"yAxis"===i.coll){for(var v of(t.preventDefault(),x=(()=>{let e="xAxis"===i.coll?"yAxis":"xAxis",t=i.options[e];return E(t)?[o[e][t]]:C(t)?[o.get(t)]:s.map(t=>t[e])})(),i.isXAxis?o.yAxis:o.xAxis)){var b;v.options.isInternal||(b=v.isXAxis?"yAxis":"xAxis",i===(A(v.options[b])?o[b][v.options[b]]:o[b][0])&&x.push(v))}for(let e of(f=x.length?[]:[(i.isXAxis?o.yAxis:o.xAxis)[0]],x))-1!==f.indexOf(e)||k(f,t=>t.pos===e.pos&&t.len===e.len)||f.push(e);if(E(m=O(l,i.translate(h||0,void 0,void 0,t.old))))if(i.horiz)for(var y of f){let t;g=(c=y.pos)+y.len,p=u=Math.round(m+i.transB),"pass"!==d&&(pr+i.width)&&(d?p=u=S(p,r,r+i.width):t=!0),t||n.push(["M",p,c],["L",u,g])}else for(var M of f){let t;u=(p=M.pos)+M.len,c=g=Math.round(a+i.height-m),"pass"!==d&&(ca+i.height)&&(d?c=g=S(c,a,a+i.height):t=!0),t||n.push(["M",p,c],["L",u,g])}t.path=0 {series.name}
    High: {point.high}
    Low: {point.low}
    Close: {point.close}
    '},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),e(t,"Series/HLC/HLCSeries.js",[t["Series/HLC/HLCPoint.js"],t["Series/HLC/HLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let o=i.seriesTypes["column"],{crisp:n,extend:r,merge:a}=s;class l extends o{extendStem(t,e,i){let s=t[0],o=t[1];"number"==typeof s[2]&&(s[2]=Math.max(i+e,s[2])),"number"==typeof o[2]&&(o[2]=Math.min(i-e,o[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,o=n(t.plotX||0,i),r=Math.round(t.shapeArgs.width/2),a=[["M",o,Math.round(t.yBottom)],["L",o,Math.round(t.plotHigh)]];return null!==t.close&&(e=n(t.plotClose,i),a.push(["M",o,e],["L",o+r,e]),s.extendStem(a,i/2,e)),a}drawSinglePoint(t){let e=t.series,i=e.chart,s,o=t.graphic;void 0!==t.plotY&&(o||(t.graphic=o=i.renderer.path().add(e.group)),i.styledMode||o.attr(e.pointAttribs(t,t.selected&&"select")),s=e.getPointPath(t,o),o[o?"animate":"attr"]({d:s}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let o=this,r=o.yAxis,t=this.pointArrayMap&&this.pointArrayMap.slice()||[],a=t.map(t=>"plot"+(t.charAt(0).toUpperCase()+t.slice(1)));a.push("yBottom"),t.push("low"),super.translate.apply(o),o.points.forEach(function(s){t.forEach(function(t,e){let i=s[t];null!==i&&(o.dataModify&&(i=o.dataModify.modifyValue(i)),s[a[e]]=r.toPixels(i,!0))}),s.tooltipPos[1]=s.plotHigh+r.pos-o.chart.plotTop})}}return l.defaultOptions=a(o.defaultOptions,e),r(l.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",l),l}),e(t,"Series/OHLC/OHLCPoint.js",[t["Core/Series/SeriesRegistry.js"]],function(t){var t=t["seriesTypes"]["hlc"];class e extends t.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
    Open: {point.open}
    High: {point.high}
    Low: {point.low}
    Close: {point.close}
    '}}}),e(t,"Series/OHLC/OHLCSeries.js",[t["Core/Globals.js"],t["Series/OHLC/OHLCPoint.js"],t["Series/OHLC/OHLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["composed"],a=s.seriesTypes["hlc"],{addEvent:n,crisp:l,extend:h,merge:d,pushUnique:p}=o;function c(t){let e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function u(t){t=t.options;t.useOhlcData&&"highcharts-navigator-series"!==t.id&&h(this,{pointValKey:g.prototype.pointValKey,pointArrayMap:g.prototype.pointArrayMap,toYData:g.prototype.toYData})}class g extends a{static compose(t){p(r,"OHLCSeries")&&(n(t,"afterSetOptions",c),n(t,"init",u))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),o=l(t.plotX||0,s),r=Math.round(t.shapeArgs.width/2);return null!==t.open&&(e=l(t.plotOpen,s),i.push(["M",o,e],["L",o-r,e]),super.extendStem(i,s/2,e)),i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.opent.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);x--&&o[p];)if(m=n[x],(c=o[p]).y=m.y,m.x<=c.x&&void 0!==m[g]){if(c.x<=v&&(c.plotY=m[g],m.xMath.pow(1-t,3)*i[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*r[e]+t*t*t*s[e],a=0,n=1,l;for(let t=0;t<100;t++){var S=(a+n)/2,A=e(S,0);if(null===A)break;if(Math.abs(A-c.plotX)<.25){l=S;break}A{let i;t.plotX+=f,void 0!==t.plotY&&!l||(0<=t.plotX&&t.plotX<=h.len?l?(t.plotY=h.translate(t.x,0,1,0,1),t.plotX=C(t.y)?d.translate(t.y,0,0,0,1):0):t.plotY=(h.opposite?0:s.yAxis.len)+h.offset:t.shapeArgs={}),(u=o[e-1])&&u.plotX===t.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),i=u.stackIndex+1),t.stackIndex=i}),this.onSeries=r}}),e(t,"Series/Flags/FlagsSeries.js",[t["Series/Flags/FlagsPoint.js"],t["Series/Flags/FlagsSeriesDefaults.js"],t["Series/Flags/FlagsSymbols.js"],t["Core/Globals.js"],t["Series/OnSeriesComposition.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r,a,S,n){let l=s["noop"],A=r["distribute"],{series:h,seriesTypes:{column:d}}=a,{addEvent:p,defined:k,extend:c,isNumber:C,merge:D,objectEach:w,wrap:E}=n;class u extends d{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,a,n,l,h,d,p=this.points,c=this.chart,u=c.renderer,g=c.inverted,x=this.options,f=x.y,m=this.yAxis,v={},b=[],y=C(x.borderRadius)?x.borderRadius:0;for(s=p.length;s--;)o=p[s],h=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,a=o.stackIndex,i=o.options.shape||x.shape,void 0!==(e=o.plotY)&&(e=o.plotY+f-(void 0!==a&&a*x.stackDistance)),o.anchorX=a?void 0:o.plotX,n=a?void 0:o.plotY,d="flag"!==i,r=o.graphic,void 0!==e&&0<=t&&!h?((r=r&&o.hasNewShapeType()?r.destroy():r)||(r=o.graphic=u.label("",0,void 0,i,void 0,void 0,x.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:d?"center":"left",width:x.width,height:x.height,"text-align":x.textAlign,r:y}),c.styledMode||r.attr(this.pointAttribs(o)).css(D(x.style,o.style)).shadow(x.shadow),0e.to||r>e.from&&ae.from&&ae.from&&a>e.to&&ar&&i>=this.basePointRange&&(r=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>r&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][n]=new l(o,o.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",h),s(e,"afterInit",r),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=c,t.gappedPath=f,s(i,"afterGeneratePoints",d),s(i,"afterRender",p)}return e};class m{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,o=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=o:s=s);r++)(o.to=t)break;if(m.isInBreak(o,t)){s-=t-o.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)h-=a;for(;hthis.chart.plotSizeX/i||o&&r.forced)&&(s=!0));return s?i:0}function d(){this.series.forEach(function(t){t.hasProcessed=!1})}function p(e,t){let i;if(t=n(t,!0),e=e||{forced:!1,units:null},this instanceof s)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:e},!1);else this.chart.options.series.forEach(function(t){t.dataGrouping="boolean"==typeof e?e:r(e,t.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),t&&this.chart.redraw()}return{compose:function(t){var e=(s=t).prototype;e.applyGrouping||(i(t,"afterSetScale",d),i(t,"postProcessData",l),o(e,{applyGrouping:l,getGroupPixelWidth:h,setDataGrouping:p}))}}}),e(t,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[t["Extensions/DataGrouping/ApproximationRegistry.js"],t["Extensions/DataGrouping/DataGroupingDefaults.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Defaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(w,B,P,n,t,e){let{prototype:T}=t["series"],{addEvent:i,defined:G,error:j,extend:s,isNumber:R,merge:E,pick:o}=e,r=T.generatePoints;function a(f){let m,v,b=this.chart,y=this.options.dataGrouping,t=!1!==this.allowDG&&y&&o(y.enabled,b.options.isStock),M=this.reserveSpace(),e=this.currentDataGrouping,S,A,i=!1;t&&!this.requireSorting&&(this.requireSorting=i=!0);f=0==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!f)||!t;if(i&&(this.requireSorting=!1),!f){this.destroyGroupedData();let d=y.groupAll?this.xData:this.processedXData,p=y.groupAll?this.yData:this.processedYData,c=b.plotSizeX,u=this.xAxis,g=u.options.ordinal,x=this.groupPixelWidth;if(x&&d&&d.length&&c){v=!0,this.isDirty=!0,this.points=null;let t=u.getExtremes(),e=t.min,i=t.max,s=g&&u.ordinal&&u.ordinal.getGroupIntervalFactor(e,i,this)||1,o=x*(i-e)/c*s,r=u.getTimeTicks(P.Additions.prototype.normalizeTimeTickInterval(o,y.units||B.units),Math.min(e,d[0]),Math.max(i,d[d.length-1]),u.options.startOfWeek,d,this.closestPointRange),a=T.groupData.apply(this,[d,p,r,y.approximation]),n=a.groupedXData,l=a.groupedYData,h=0;for(y&&y.smoothed&&n.length&&(y.firstAnchor="firstPoint",y.anchor="middle",y.lastAnchor="lastPoint",j(32,!1,b,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),m=1;m=k[0]){let t;r++;var D=f.groupMap[0].start,E=f.groupMap[0].length;R(D)&&R(E)&&(t=D+(E-1)),k[0]={start:k[0],middle:k[0]+.5*w,end:k[0]+w,firstPoint:f.xData[0],lastPoint:t&&f.xData[t]}[i]}if(0=C-w&&(o--,D=f.groupMap[f.groupMap.length-1].start,k[t]={start:k[t],middle:k[t]+.5*w,end:k[t]+w,firstPoint:D&&f.xData[D],lastPoint:f.xData[f.xData.length-1]}[s]),e&&"start"!==e)for(var O=w*{middle:.5,end:1}[e];o>=r;)k[o]+=O,o--}M&&(G((E=n)[0])&&R(u.min)&&R(u.dataMin)&&E[0]u.max&&((!G(u.options.max)&&R(u.dataMax)&&u.max>=u.dataMax||u.max===u.dataMax)&&(u.max=Math.max(E[E.length-1],u.max)),u.dataMax=Math.max(E[E.length-1],u.dataMax))),y.groupAll&&(this.allGroupedData=l,n=(A=this.cropData(n,l,u.min,u.max)).xData,l=A.yData,this.cropStart=A.start),this.processedXData=n,this.processedYData=l}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=v,this.preventGraphAnimation=(e&&e.totalRange)!==(S&&S.totalRange)}}function l(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function h(){r.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function d(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function p(e,i,s,t){let o=this,r=o.data,a=o.options&&o.options.data,n=[],l=[],h=[],d=e.length,p=!!i,c=[],u=o.pointArrayMap,g=u&&u.length,x=["x"].concat(u||["y"]),f=this.options.dataGrouping&&this.options.dataGrouping.groupAll,m,v,b,y=0,M=0,S="function"==typeof t?t:t&&w[t]?w[t]:w[o.getDGApproximation&&o.getDGApproximation()||"average"];if(g){let t=u.length;for(;t--;)c.push([])}else c.push([]);var A=g||1;for(let t=0;t<=d;t++)if(!(e[t]=s[y+1]||t===d;){m=s[y],o.dataGroupInfo={start:f?M:o.cropStart+M,length:c[0].length,groupStart:m},b=S.apply(o,c),o.pointClass&&!G(o.dataGroupInfo.options)&&(o.dataGroupInfo.options=E(o.pointClass.prototype.optionsToObject.call({series:o},o.options.data[o.cropStart+M])),x.forEach(function(t){delete o.dataGroupInfo.options[t]})),void 0!==b&&(n.push(m),l.push(b),h.push(o.dataGroupInfo)),M=t;for(let t=0;t{var e=t.axis.getExtremes(),i=e.min,e=e.max,s=a(t.axis.minPointOffset,0);return r(i)&&r(e)&&t.value>=i-s&&t.value<=e+s&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=n[t],s=typeof e;return{string:"text",number:"number",boolean:"checkbox"}[s=o(i)?i:s]}}}),e(t,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[t["Core/Utilities.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(t,e){let h,{addEvent:i,isObject:s,pick:d,defined:p,merge:o}=t,l=e["getAssignedAxis"],r=[],a={enabled:!0,sensitivity:1.1};function n(){t=this.zooming.mouseWheel,s(t)||(t={enabled:t??!0});let n=o(a,t);var t;n.enabled&&i(this.container,"wheel",t=>{t=this.pointer?.normalize(t)||t;let e=this["pointer"],i=e&&!e.inClass(t.target,"highcharts-no-mousewheel");var s,o,r,a;this.isInsidePlot(t.chartX-this.plotLeft,t.chartY-this.plotTop)&&i&&(s=n.sensitivity||1.1,o=t.detail||(t.deltaY||0)/120,r=l(e.getCoordinates(t).xAxis),a=l(e.getCoordinates(t).yAxis),function(t,e,i,s,o,r,a){let n=d(a.type,t.zooming.type,""),l=[];"x"===n?l=i:"y"===n?l=s:"xy"===n&&(l=t.axes);a=t.transform({axes:l,to:{x:o-5,y:r-5,width:10,height:10},from:{x:o-5*e,y:r-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return a&&(p(h)&&clearTimeout(h),h=setTimeout(()=>{t.pointer?.drop()},400)),a}(this,Math.pow(s,o),r?[r.axis]:this.xAxis,a?[a.axis]:this.yAxis,t.chartX,t.chartY,n)&&t.preventDefault?.())})}return{compose:function(t){-1===r.indexOf(t)&&(r.push(t),i(t,"afterGetContainer",n))}}}),e(t,"masters/modules/mouse-wheel-zoom.src.js",[t["Core/Globals.js"],t["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(t,e){return t.MouseWheelZoom=t.MouseWheelZoom||e,t.MouseWheelZoom.compose(t.Chart),t}),e(t,"masters/modules/stock.src.js",[t["Core/Globals.js"],t["Series/DataModifyComposition.js"],t["Stock/Navigator/Navigator.js"],t["Core/Axis/OrdinalAxis.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Core/Chart/StockChart.js"],t["Series/OHLC/OHLCSeries.js"],t["Series/Flags/FlagsSeries.js"]],function(t,e,i,s,o,r,a,n,l){return t.Navigator=t.Navigator||i,t.OrdinalAxis=t.OrdinalAxis||s,t.RangeSelector=t.RangeSelector||o,t.Scrollbar=t.Scrollbar||r,t.stockChart=t.stockChart||a.stockChart,t.StockChart=t.StockChart||t.stockChart,t.extend(t.StockChart,a),e.compose(t.Series,t.Axis,t.Point),l.compose(t.Renderer),n.compose(t.Series),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.OrdinalAxis.compose(t.Axis,t.Series,t.Chart),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t.StockChart.compose(t.Chart,t.Axis,t.Series,t.SVGRenderer),t})}); \ No newline at end of file +!function(e){"object"==typeof module&&module.exports?module.exports=e.default=e:"function"==typeof define&&define.amd?define("highcharts/modules/stock",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var t=o?o._modules:{};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}e(t,"Series/DataModifyComposition.js",[t["Core/Axis/Axis.js"],t["Core/Series/Point.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,e,i,s){var o;let r=e.prototype["tooltipFormatter"],{addEvent:a,arrayMax:n,arrayMin:l,correctFloat:h,defined:d,isArray:p,isNumber:c,isString:u,pick:g}=s;{function x(e,i,t){this.isXAxis||(this.series.forEach(function(t){"compare"===e&&"boolean"!=typeof i?t.setCompare(i,!1):"cumulative"!==e||u(i)||t.setCumulative(i,!1)}),g(t,!0)&&this.chart.redraw())}function f(e){function t(t){e=e.replace("{point."+t+"}",(0{delete t.change}):this.dataModify.initCompare(t)}function y(){if(this.xAxis&&this.processedYData&&this.dataModify){let t=this.processedXData,e=this.processedYData,i=e.length,s=!0===this.options.compareStart?0:1,o=-1,r;for(this.pointArrayMap&&(o=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),r=0;r=(this.xAxis.min||0)){this.dataModify.compareValue=a;break}}}}function M(t,e){this.setModifier("compare",t,e)}function S(t,e){t=g(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},g(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function A(t,e){this.setModifier("cumulative",t,e)}(e=o=o||{}).compose=function(t,e,i){let s=e.prototype,o=i.prototype,r=t.prototype;return r.setCompare||(r.setCompare=b,r.setCumulative=S,a(t,"afterInit",m),a(t,"afterGetExtremes",v),a(t,"afterProcessData",y)),s.setCompare||(s.setCompare=M,s.setModifier=x,s.setCumulative=A,o.tooltipFormatter=f),t};class k{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let i=1/0,s=-1/0;return t.reduce((t,e)=>{e=t+e;return i=Math.min(i,e,t),s=Math.max(s,e,t),e}),[i,s]}initCompare(s){this.modifyValue=function(e,i){var t=this.compareValue;if(void 0===(e=null===e?0:e)||void 0===t)return 0;if("value"===s?e-=t:e=e/t*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}}initCumulative(){this.modifyValue=function(s,o){if(void 0===(s=null===s?0:s)||void 0===o)return 0;{var r=0=this.series.xAxis.min;return t&&(t.cumulativeSum=!e||i?s:void 0),s}}}}e.Additions=k}return o}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let o,i=t["isTouchDevice"],{addEvent:r,merge:a,pick:n}=s,l=[];function h(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,o=this.navigator;var r,a;o&&(t=s&&s.options,e=o.xAxis,i=o.yAxis,{scrollbarHeight:r,scrollButtonSize:a}=o,this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize()))}function p(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new o(this),n(t.redraw,!0)&&this.redraw(t.animation))}function c(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new o(this))}function u(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function g(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function x(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(l,e)){let t=e.prototype;o=i,t.callbacks.push(g),r(e,"afterAddSeries",h),r(e,"afterSetChartSize",d),r(e,"afterUpdate",p),r(e,"beforeRender",c),r(e,"beforeShowResetZoom",u),r(e,"update",x)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:l,defined:p,isNumber:h,pick:c}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new r(this))}function o(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,l=i.zooming.type;var h;this.isXAxis&&(o?.enabled||n?.enabled)&&("y"===l&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===l||d&&"xy"===a)&&this.options.range&&(h=r.previousZoom,p(t.min)?r.previousZoom=[this.min,this.max]:h&&(t.min=h[0],t.max=h[1],r.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class r{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=c(i,o.translate(t,!0,!o.horiz)),n=c(s,o.translate(e,!0,!o.horiz));return p(i)||(a=l(a+r)),p(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",o))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=c(i,o.translate(t,!0,!o.horiz)),n=c(s,o.translate(e,!0,!o.horiz));return p(i)||(a=l(a+r)),p(s)||(n=l(n-r)),{min:a=h(a)&&h(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,o={}){var i=o.width?o.width/2:i,r=n(o.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:r})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,o,r,i,a,n){let l=t["setOptions"],h=e["composed"],d=i["getRendererType"],p=a["setFixedRange"],{addEvent:c,extend:u,pushUnique:g}=n;function x(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),g(h,"Navigator")&&(t.prototype.setFixedRange=p,u(d().prototype.symbols,r),c(i,"afterUpdate",x),l({navigator:o}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let o=t["composed"],{addEvent:r,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function p(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function l(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function h(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),r(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:o,scrollMin:r,scrollMax:a}=p(n),a=a-r;d(s)&&d(o)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=r+a*this.to,r+a*this.from):(e=r+a*(1-this.from),r+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function c(){let t,e,i,{scrollMin:s,scrollMax:o}=p(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,l=this.options.margin||0;var h;r&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(n[1]+=l),1):(this.opposite&&(n[0]+=a),h=r.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:l):this.opposite?0:l,r.position(h,this.top,this.width,this.height),this.opposite&&(n[0]+=l),0),n[t]+=r.size+(r.options.margin||0),isNaN(s)||isNaN(o)||!d(this.min)||!d(this.max)||this.dataMin===this.dataMax?r.setRange(0,1):this.min===this.max?(h=this.pointRange/(this.dataMax+1),e=h*this.min,i=h*(this.max+1),r.setRange(e,i)):(e=(this.min-s)/(o-s),i=(this.max-s)/(o-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,i):r.setRange(1-i,1-e)))}t.compose=function(t,e){n(o,"Axis.Scrollbar")&&(i=e,r(t,"afterGetOffset",l),r(t,"afterInit",h),r(t,"afterRender",c))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["defaultOptions"],{addEvent:l,correctFloat:d,crisp:a,defined:p,destroyObjectProperties:n,fireEvent:h,merge:c,pick:u,removeEvent:g}=o;class x{static compose(t){i.compose(t,x)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,o=this.scrollbarButtons,r=this.options,a=this.size,n=s.g().add(this.group);if(o.push(n),r.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:r.buttonBorderRadius},t.strokeWidth())),s.path(x.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],r.vertical)).addClass("highcharts-scrollbar-arrow").add(o[i]));this.chart.styledMode||e.attr({fill:r.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=c(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,a?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-l,translateY:a?s-h:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,r),y:-a(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(x.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var o,r=this.options,a=r.vertical,n=r.minWidth,l=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";p(l)&&(o=l*Math.min(e,1),i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=d(o-i),ss||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),h(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,c(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,l=a.chart,e=l.inverted,h=l.renderer,d={cursor:e?"ns-resize":"ew-resize"},p=a.navigatorGroup??(a.navigatorGroup=h.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=h.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(p));l.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=h.path().addClass("highcharts-navigator-outline").add(p)),l.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:o,width:r}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]&&a.handles[t].symbolUrl===i?a.handles[t].isImg||a.handles[t].symbolName===i||(e=c[i].call(c,-r/2-1,0,r,o),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]?.destroy(),a.handles[t]=h.symbol(i,-r/2-1,0,r,o,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(p),a.addMouseEvents()),l.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-r/2),rotationOriginY:(o+r)/2}),l.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-r/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(M(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),k(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var o;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{E(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(v(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,o=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:o,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,p=o.xAxis[0].minRange,c=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,x,f,m=this.scrollbarHeight,v,b;if(!this.hasDragged||k(i)){if(this.isDirty&&this.renderElements(),t=A(t-a/2),e=A(e+a/2),!D(t)||!D(e)){if(!h)return;i=0,s=w(r.width,n.width)}this.left=w(r.left,o.plotLeft+u+(d?o.plotWidth:0));var y=this.size=v=w(r.len,(d?o.plotHeight:o.plotWidth)-2*u),t=(g=d?m:v+2*u,i=w(i,r.toPixels(t,!0)),s=w(s,r.toPixels(e,!0)),D(i)&&Math.abs(i)!==1/0||(i=0,s=g),r.toValue(i,!0)),e=r.toValue(s,!0),M=((M=Math.abs(A(e-t)))c&&(this.grabbedLeft?i=r.toPixels(e-c-a,!0):this.grabbedRight&&(s=r.toPixels(t+c+a,!0))),this.zoomedMax=S(Math.max(i,s),0,y),this.zoomedMin=S(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,y),this.range=this.zoomedMax-this.zoomedMin,y=Math.round(this.zoomedMax),Math.round(this.zoomedMin));l&&(this.navigatorGroup.attr({visibility:"inherit"}),b=h&&!this.hasDragged?"animate":"attr",this.drawMasks(M,y,d,b),this.drawOutline(M,y,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(M,0,d,b),this.drawHandle(y,1,d,b))),this.scrollbar&&(d?(f=this.top-u,x=this.left-m+(l||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),m=v+2*u):(f=this.top+(l?this.height:-m),x=this.left-u),this.scrollbar.position(x,f,g,m),this.scrollbar.setRange(this.zoomedMin/(v||1),this.zoomedMax/(v||1))),this.rendered=!0,this.isDirty=!1,C(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],o,r;e.mouseMoveHandler=o=function(t){e.onMouseMove(t)},e.mouseUpHandler=r=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(v(t.renderTo,"mousemove",o),v(i.ownerDocument,"mouseup",r),v(t.renderTo,"touchmove",o),v(i.ownerDocument,"touchend",r)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(v(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let o=this,r=[];return["shades","handles"].forEach(function(i){o[i].forEach(function(t,e){r.push(v(t.element,s,function(t){o[i+"Mousedown"](t,e)}))})}),r}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,l=t.chartX,h,d,p,c;i.inverted&&(l=t.chartY,n=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=a,this.dragOffset=l-o):(c=l-n-a/2,0===e?c=Math.max(0,c):2===e&&c+a>=r&&(c=r-a,this.reversedExtremes?(c-=a,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),c!==o&&(this.fixedWidth=a,k((p=s.navigatorAxis.toFixedRange(c,c+a,d,h)).min)&&C(this,"setRange",{min:Math.min(p.min,p.max),max:Math.max(p.min,p.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,l;t.touches&&0===t.touches[0].pageX||(l=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-n)):e.grabbedCenter&&(e.hasDragged=!0,ls+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&w(e.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a,n=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,p=n.inverted,c=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),k((a=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&C(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&D(this.zoomedMin)&&D(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,p,c),this.outline&&this.drawOutline(i,e,p,c),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,p,c),this.drawHandle(e,1,p,c)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){E(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&E(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},o=s.enabled,r=i&&e.height||0,a=o&&s.height||0,l=s.buttonsEnabled&&a||0,h=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=o,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=h.baseSeries,p=n.xAxis.length,c=n.yAxis.length,u=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var g;if(n.isDirtyBox=!0,h.navigatorEnabled?(g=this.getXAxisOffsets(),h.xAxis=new x(n,M({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:p,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:g,width:r}:{offsets:g,height:r}),"xAxis"),h.yAxis=new x(n,M(e.yAxis,{alignTicks:!1,offset:0,index:c,isInternal:!0,reversed:w(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:r}:{height:r}),"yAxis"),d||e.series.data?h.updateNavigatorSeries(!1):0===n.series.length&&(h.unbindRedraw=v(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,o){let r=this,a=r.chart,n=r.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},h=r.series=(r.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(E(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,p,c=r.navigatorOptions.series,u;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=b({color:t.color,visible:t.visible},y(c)?g.navigator.series:c);var s;e&&!1===r.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+n.length,u=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(p=M(d,l,i,u)).pointRange=w(i.pointRange,u.pointRange,g.plotOptions[p.type||"line"].pointRange),s=u.data||i.data,r.hasNavigatorData=r.hasNavigatorData||!!s,p.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(p,o):(t.navigatorSeries=a.initSeries(p),a.setSortedData(),t.navigatorSeries.baseSeries=t,h.push(t.navigatorSeries)))}),(!c.data||n&&n.length)&&!y(c)||(r.hasNavigatorData=!1,(c=O(c)).forEach((t,e)=>{l.name="Navigator "+(h.length+1),(p=M(g.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},l,t)).data=t.data,p.data&&(r.hasNavigatorData=!0,h.push(a.initSeries(p)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(v(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(v(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(v(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(v(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(v(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),k(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,p=w(this.ordinal?.convertOverscroll(this.options.overscroll),0),c=i.series&&i.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(h&&(t=(e=a)+l),d&&(t=n+p,h||(e=Math.max(a,t-l,i.getBaseSeriesMin(c&&c.xData?c.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&D(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=w(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!D(i)||!D(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Core/Axis/OrdinalAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,c,u,e){var i;let{addEvent:o,correctFloat:h,css:b,defined:y,error:M,isNumber:s,pick:S,timeUnits:A,isString:r}=e;{var a=i=i||{};function n(t,e,h,i,s=[],o=0,r){let d={},p=this.options.tickPixelInterval,a=this.chart.time,n=[],l,c,u,g,x,f=0,m=[],v=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!s||s.length<3||void 0===e)return a.getTimeTicks.apply(a,arguments);var b=s.length;for(l=0;lh,s[l]5*o||x){if(s[l]>v){for(c=a.getTimeTicks(t,s[f],s[l],i);c.length&&c[0]<=v;)c.shift();c.length&&(v=c[c.length-1]),n.push(m.length),m=m.concat(c)}f=l+1}if(x)break}if(c){if(g=c.info,r&&g.unitRange<=A.hour){for(f=1,l=m.length-1;ft-e),(a=i[Math.floor(i.length/2)])<.6*p&&(a=null),l=m[t-1]>h?t-1:t,r=void 0;l--;)n=Math.abs(r-(o=e[l])),r&&n<.8*p&&(null===a||n<.8*a)?(d[m[l]]&&!d[m[l+1]]?(s=l+1,r=o):s=l,m.splice(s,1)):r=o}return m}function l(t){var e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i]?e[i]+(s?s*(e[i+1]-e[i]):0):t}function d(t){let e=this.ordinal,i=(this.old||this).min,s=(this.old||this).transA,o=e.getExtendedPositions();if(o&&o.length){var r,a,n=h((t-i)*s+this.minPixelPadding),n=h(e.getIndexOfPoint(n,o)),l=h(n%1);if(0<=n&&n<=o.length-1)return r=o[Math.floor(n)],a=o[Math.ceil(n)],o[Math.floor(n)]+l*(a-r)}return t}function p(t,e){var i=a.Additions.findIndexOf(t,e,!0);return t[i]===e?i:i+(e-t[i])/(t[i+1]-t[i])}function g(){this.ordinal||(this.ordinal=new a.Additions(this))}function x(){var{eventArgs:t,options:e}=this;this.isXAxis&&y(e.overscroll)&&0!==e.overscroll&&s(this.max)&&s(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&("pan"!==t?.trigger||this.isInternal)&&"navigator"!==t?.trigger)&&(e=this.ordinal.convertOverscroll(e.overscroll),this.max+=e,!this.isInternal&&y(this.userMin)&&"mousewheel"!==t?.trigger&&(this.min+=e))}function f(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function m(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function v(t){let x=this.xAxis[0],f=x.ordinal.convertOverscroll(x.options.overscroll),m=t.originalEvent.chartX,e=this.options.chart.panning,v=!1;if(e&&"y"!==e.type&&x.options.ordinal&&x.series.length&&(!t.touches||t.touches.length<=1)){let t,e,i=this.mouseDownX,s=x.getExtremes(),o=s.dataMin,r=s.dataMax,a=s.min,n=s.max,l=this.hoverPoints,h=x.closestPointRange||x.ordinal&&x.ordinal.overscrollPointsRange,d=Math.round((i-m)/(x.translationSlope*(x.ordinal.slope||h))),p=x.ordinal.getExtendedPositions(),c={ordinal:{positions:p,extendedOrdinalPositions:p}},u=x.index2val,g=x.val2lin;if(a<=o&&d<0||r<=n+f&&0(e=c.ordinal.positions)[e.length-1]&&e.push(r),this.setFixedRange(n-a),(t=x.navigatorAxis.toFixedRange(void 0,void 0,u.apply(c,[g.apply(c,[a,!0])+d]),u.apply(c,[g.apply(c,[n,!0])+d]))).min>=Math.min(s.dataMin,a)&&t.max<=Math.max(r,n)+f&&x.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=m,b(this.container,{cursor:"move"})):v=!0}else v=!0;v||e&&/y/.test(e.type)?f&&(x.max=x.dataMax+f):t.preventDefault()}function k(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function C(t,e){let i,s=this.ordinal,o=s.positions,r=s.slope,a;if(!o)return t;var n=o.length;if(o[0]<=t&&o[n-1]>=t)i=p(o,t);else{if(!(a=s.getExtendedPositions&&s.getExtendedPositions())||!a.length)return t;var n=a.length,l=(r=r||(a[n-1]-a[0])/n,p(a,o[0]));if(t>=a[0]&&t<=a[n-1])i=p(a,t)-l;else{if(!e)return t;i=th||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===n?x=g[1]-g[0]:1===n?(x=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+x]):x=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=x,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),p=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=c=(o-s)/(p-d),e.offset=s-d*c):(e.overscrollPointsRange=S(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{var e=t.points?.[0];y(e?.plotX)&&(e.plotXt.x>=e&&t.x<=i)}(t)&&(i=e.plotX,o=e.x)}),i=i??s.minPixelPadding;var r=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),t=h((t-i)/r);return D.findIndexOf(e,o,!0)+t}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],o=t.dataMax;if(y(i))for(;o<=t.dataMax+e;)s.push(o+=i);return s}postProcessTickInterval(t){var e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){function e(t){return S(i.originalOrdinalRange,y(s.dataMax)&&y(s.dataMin)?s.dataMax-s.dataMin:0)*t}let i=this,s=i.axis;var o;return r(t)?(o=parseInt(t,10),/%$/.test(t)?e(o/100):/px/.test(t)?e((o=Math.min(o,.9*s.len)/s.len)/(1-o)):0):t}}a.Additions=D}return i}),e(t,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),e(t,"Stock/RangeSelector/RangeSelectorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Core/Utilities.js"]],function(t,e,s,i){let r,o=t["defaultOptions"],a=e["composed"],{addEvent:n,defined:l,extend:h,isNumber:d,merge:p,pick:c,pushUnique:u}=i,g=[];function x(){function t(t,e){let i="year"===r?"FullYear":"Month",s=new a.Date(t),o=a.get(i,s);return a.set(i,s,o+e),o===a.get(i,s)&&a.set("Date",s,0),s.getTime()-t}let e,i,s=this.range,r=s.type,o=this.max,a=this.chart.time;d(s)?(e=o-s,i=s):s&&(e=o+t(o,-(s.count||1)),this.chart&&this.chart.setFixedRange(o-e));var n=c(this.dataMin,Number.MIN_VALUE);return(e=d(e)?e:n)<=n&&(e=n,void 0===i&&(i=t(e,s.count)),this.newMax=Math.min(e+i,c(this.dataMax,Number.MAX_VALUE))),d(o)?!d(s)&&s&&s._offsetMin&&(e+=s._offsetMin):e=void 0,e}function f(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new r(this))}function m(){let t=this.rangeSelector;var e;t&&(d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick),e=t.options.verticalAlign,t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)))}function v(){let s,o=this.rangeSelector;if(o){let t=this.xAxis[0].getExtremes(),e=this.legend,i=o&&o.options.verticalAlign;d(t.min)&&o.render(t.min,t.max),e.display&&"top"===i&&i===e.options.verticalAlign&&(s=p(this.spacingBox),"vertical"===e.options.layout?s.y=this.plotTop:s.y+=o.getHeight(),e.group.placed=!1,e.align(s))}}function b(){for(let e=0,t=g.length;et()),void g.splice(e,1)}}function y(){let t=this.rangeSelector;var e;t&&(e=t.getHeight(),this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e))}function M(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;e&&e.enabled&&!l(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new r(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o&&(t=e&&e.verticalAlign||o.options&&o.options.verticalAlign,o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin===i&&this.extraTopMargin===s||(this.isDirtyBox=!0))}return{compose:function(e,i,t){if(r=t,u(a,"RangeSelector")){let t=i.prototype;e.prototype.minFromRange=x,n(i,"afterGetContainer",f),n(i,"beforeRender",m),n(i,"destroy",b),n(i,"getMargins",y),n(i,"redraw",v),n(i,"update",M),t.callbacks.push(v),h(o,{rangeSelector:s.rangeSelector}),h(o.lang,s.lang)}}}}),e(t,"Stock/RangeSelector/RangeSelector.js",[t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Stock/RangeSelector/RangeSelectorComposition.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"],t["Core/Axis/OrdinalAxis.js"]],function(v,t,f,i,s,e,D){let w=t["defaultOptions"],{addEvent:b,createElement:m,css:E,defined:y,destroyObjectProperties:o,discardElement:r,extend:M,fireEvent:S,isNumber:O,merge:A,objectEach:a,pad:n,pick:k,pInt:l,splat:C}=e;class h{static compose(t,e){i.compose(t,e,h)}constructor(t){this.buttonOptions=h.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,l=r.dataMin,h=r.dataMax,d,p=o&&Math.round(Math.min(o.max,k(h,o.max))),c,u=s._range,g,x,f,m=!0;if(null!==l&&null!==h){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,v.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(x={range:s,max:p,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(x),O(x.newMax)&&(p=x.newMax),m=!1):u=s;else if(u)p=Math.min((d=Math.max(p-u,l))+u,h),m=!1;else if("ytd"===a){if(!o)return void(this.deferredYTDClick=t);void 0!==h&&void 0!==l||(l=Number.MAX_VALUE,h=Number.MIN_VALUE,i.series.forEach(t=>{t=t.xData;t&&(l=Math.min(t[0],l),h=Math.max(t[t.length-1],h))}),e=!1),d=g=(f=this.getYTDExtremes(h,l,i.time.useUTC)).min,p=f.max}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,p=h);if(m&&s._offsetMin&&y(d)&&(d+=s._offsetMin),s._offsetMax&&y(p)&&(p+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)o.setExtremes(d,p,k(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range);else{c=C(i.options.xAxis)[0];let e=b(i,"afterGetAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});b(i,"load",function(){let t=i.xAxis[0];i.setFixedRange(s._range),t.options.range=c.range,t.options.min=c.min,e()})}S(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(e){function t(){var t=i.minInput,e=i.maxInput;t&&t.blur&&S(t,"blur"),e&&e.blur&&S(e,"blur")}let i=this,s=e.options.rangeSelector,o=s.buttons||i.defaultButtons.slice(),r=s.selected;i.chart=e,i.options=s,i.buttons=[],i.buttonOptions=o,this.eventsToUnbind=[],this.eventsToUnbind.push(b(e.container,"mousedown",t)),this.eventsToUnbind.push(b(e,"resize",t)),o.forEach(i.computeButtonRange),void 0!==r&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(b(e,"load",function(){e.xAxis&&e.xAxis[0]&&b(e.xAxis[0],"setExtremes",function(t){O(this.max)&&O(this.min)&&this.max-this.min!==e.fixedRange&&"rangeSelectorButton"!==t.trigger&&"updatedData"!==t.trigger&&i.forcedDataGrouping&&!i.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let c=this,t=this.chart,s=this.dropdown,o=this.dropdownLabel,u=t.xAxis[0],g=Math.round(u.max-u.min),x=!u.hasVisibleSeries,e=t.scroller&&t.scroller.getUnionExtremes()||u,f=e.dataMin,m=e.dataMax,i=c.getYTDExtremes(m,f,t.time.useUTC),v=i.min,b=i.max,y=c.selected,M=c.options.allButtonsEnabled,S=Array(c.buttonOptions.length).fill(0),A=O(y),r=c.buttons,k=!1,C=null;c.buttonOptions.forEach((t,e)=>{let i=t._range,s=t.type,o=t.count||1,r=t._offsetMax-t._offsetMin,a=e===y,n=i>m-f,l=ii&&(d=!0)):("month"===s||"year"===s)&&g+36e5>=864e5*{month:28,year:365}[s]*o-r&&g-36e5<=864e5*{month:31,year:366}[s]*o+r?d=!0:"ytd"===s?(d=b-v+r===g,h=!a):"all"===s&&(d=u.max-u.min>=m-f);var t=!M&&!(k&&"all"===s)&&(n||l||x),p=k&&"all"===s||!h&&d||a&&c.frozenStates;t?S[e]=3:!p||A&&e!==y||(C=e)}),null!==C?(S[C]=2,c.setSelected(C)):(c.setSelected(),o&&(o.setState(0),o.attr({text:(w.lang.rangeSelectorZoom||"")+" ▾"})));for(let i=0;iNumber(e.getAttribute("data-hc-time"))?l=void 0:la&&(l=a)),void 0!==l&&s.setExtremes(p?l:s.min,p?s.max:l,void 0,void 0,{trigger:"rangeSelectorInput"}))}let l=a[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",c=o.label(l,0).addClass("highcharts-range-label").attr({padding:l?2:0,height:l?r.inputBoxHeight:0}).add(i),u=o.label("",0).addClass("highcharts-range-input").attr({padding:2,width:r.inputBoxWidth,height:r.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(e),d[e+"Input"].focus()}),g=(h.styledMode||u.attr({stroke:r.inputBoxBorderColor,"stroke-width":1}),u.add(i),m("input",{name:e,className:"highcharts-range-selector"},void 0,t)),x=(g.setAttribute("type",function(e){if(-1!==e.indexOf("%L"))return"text";var t=["a","A","d","e","w","b","B","m","o","y","Y"].some(t=>-1!==e.indexOf("%"+t)),i=["H","k","I","l","M","S"].some(t=>-1!==e.indexOf("%"+t));return t&&i?"datetime-local":t?"date":i?"time":"text"}(r.inputDateFormat||"%e %b %Y")),h.styledMode||(c.css(A(s,r.labelStyle)),u.css(A({color:"#333333"},s,r.inputStyle)),E(g,M({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:s.fontSize,fontFamily:s.fontFamily,top:"-9999em"},r.inputStyle))),g.onfocus=()=>{d.showInput(e)},!(g.onblur=()=>{g===f.doc.activeElement&&n(e),d.hideInput(e),d.setInputValue(e),g.blur()}));return g.onchange=()=>{x||(n(e),d.hideInput(e),g.blur())},g.onkeypress=t=>{13===t.keyCode&&n(e)},g.onkeydown=t=>{x=!0,"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"Tab"!==t.key||n(e)},g.onkeyup=()=>{x=!1},{dateBox:u,input:g,label:c}}getPosition(){var t=this.chart,e=t.options.rangeSelector,t="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:t+e.buttonPosition.y,inputTop:t+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get("FullYear",o),a=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),n=o.getTime();return{max:Math.min(t||n,n),min:a}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=k(s.chart.style?.zIndex,0)+1;var n;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=m("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)&&(this.inputGroup=e.g("input-group").add(this.group),n=this.drawInput("min"),this.minDateBox=n.dateBox,this.minLabel=n.label,this.minInput=n.input,n=this.drawInput("max"),this.maxDateBox=n.dateBox,this.maxLabel=n.label,this.maxInput=n.input)}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue("min",t),this.setInputValue("max",e);t=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(y(t.dataMin)&&y(t.dataMax)&&(e=i.xAxis[0].minRange||0,this.setInputExtremes("min",t.dataMin,Math.min(t.dataMax,this.getInputValue("max"))-e),this.setInputExtremes("max",Math.max(t.dataMin,this.getInputValue("min"))+e,t.dataMax)),this.inputGroup){let i=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(t=>{var e;t&&(e=t.getBBox()["width"],e&&(t.attr({x:i}),i+=e+s.inputSpacing))})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,s=w.lang,r=e.renderer,a=A(i.buttonTheme),n=a&&a.states,l=a.width||28,h=(delete a.width,delete a.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group),this.dropdown=m("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div)),o=e.userOptions.rangeSelector?.buttonTheme,d=(this.dropdownLabel=r.button("",0,0,()=>{},A(a,{"stroke-width":k(a["stroke-width"],0),width:"auto",paddingLeft:k(i.buttonTheme.paddingLeft,o?.padding,8),paddingRight:k(i.buttonTheme.paddingRight,o?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),b(h,"touchstart",()=>{h.style.fontSize="16px"}),f.isMS?"mouseover":"mouseenter"),p=f.isMS?"mouseout":"mouseleave";b(h,d,()=>{S(this.dropdownLabel.element,d)}),b(h,p,()=>{S(this.dropdownLabel.element,p)}),b(h,"change",()=>{S(this.buttons[h.selectedIndex-1].element,"click")}),this.zoomText=r.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),a["stroke-width"]=k(a["stroke-width"],0)),m("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,h),this.buttonOptions.forEach((s,o)=>{m("option",{textContent:s.title||s.text},void 0,h),t[o]=r.button(s.text,0,0,t=>{let e,i=s.events&&s.events.click;!1!==(e=i?i.call(s,t):e)&&this.clickButton(o),this.isActive=!0},a,n&&n.hover,n&&n.select,n&&n.disabled).attr({"text-align":"center",width:l}).add(this.buttonGroup),s.title&&t[o].attr("title",s.title)})}alignElements(){let{buttonGroup:l,buttons:h,chart:d,group:p,inputGroup:c,options:u,zoomText:g}=this,t=d.options,i=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,{buttonPosition:x,inputPosition:f,verticalAlign:m}=u,v=(t,e)=>i&&this.titleCollision(d)&&"top"===m&&"right"===e.align&&e.y-t.getBBox().height-12<(i.y||0)+(i.height||0)+d.spacing[0]?-40:0,b=d.plotLeft;if(p&&x&&f){let t=x.x-d.spacing[3];if(l){if(this.positionButtons(),!this.initialButtonGroupWidth){let i=0;g&&(i+=g.getBBox().width+5),h.forEach((t,e)=>{i+=t.width||0,e!==h.length-1&&(i+=u.buttonSpacing)}),this.initialButtonGroupWidth=i}b-=d.spacing[3];var y=v(l,x);this.alignButtonGroup(y),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),p.placed=l.placed=d.hasLoaded}let e=0,i=(c&&(e=v(c,f),"left"===f.align?t=b:"right"===f.align&&(t=-Math.max(d.axisOffset[1],-e)),c.align({y:f.y,width:c.getBBox().width,align:f.align,x:f.x+t-2},!0,d.spacingBox),c.placed=d.hasLoaded),this.handleCollision(e),p.align({verticalAlign:m},!0,d.spacingBox),p.alignAttr.translateY),s=p.getBBox().height+20,o=0;"bottom"===m&&(y=d.legend&&d.legend.options,o=i-(s=s+(y&&"bottom"===y.verticalAlign&&y.enabled&&!y.floating?d.legend.legendHeight+k(y.margin,10):0)-20)-(u.floating?0:u.y)-(d.titleOffset?d.titleOffset[2]:0)-10),"top"===m?(u.floating&&(o=0),d.titleOffset&&d.titleOffset[0]&&(o=d.titleOffset[0]),o+=d.margin[0]-d.spacing[0]||0):"middle"===m&&(f.y===x.y?o=i:(f.y||x.y)&&(f.y<0||x.y<0?o-=Math.min(f.y,x.y):o=i-s)),p.translate(u.x,u.y+Math.floor(o));let{minInput:r,maxInput:a,dropdown:n}=this;u.inputEnabled&&r&&a&&(r.style.marginTop=p.translateY+"px",a.style.marginTop=p.translateY+"px"),n&&(n.style.marginTop=p.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,r=s["buttonPosition"],a=i.plotLeft-i.spacing[3],n=r.x-i.spacing[3];"right"===r.align?n+=t-a:"center"===r.align&&(n-=a/2),o&&o.align({y:r.y,width:k(e,this.initialButtonGroupWidth),align:r.align,x:n},!0,i.spacingBox)}positionButtons(){let{buttons:i,chart:t,options:s,zoomText:e}=this,o=t.hasLoaded?"animate":"attr",r=s["buttonPosition"],a=t.plotLeft,n=a;e&&"hidden"!==e.visibility&&(e[o]({x:k(a+r.x,a)}),n+=r.x+e.getBBox().width+5);for(let t=0,e=this.buttonOptions.length;t{let e=0;return this.buttons.forEach(t=>{t=t.getBBox();t.width>e&&(e=t.width)}),e},s=t=>{var e,i,s;return!(!a?.alignOptions||!r)&&(e=a.alignAttr.translateX+a.alignOptions.x-o+a.getBBox().x+2,i=a.alignOptions.width||0,e<(s=r.alignAttr.translateX+r.getBBox().x)+t&&s{a&&r&&a.attr({translateX:a.alignAttr.translateX+(t.axisOffset[1]>=-o?0:-o),translateY:a.alignAttr.translateY+r.getBBox().height+10})};if(r){if("always"===e)return this.collapseButtons(),void(s(i())&&h());"never"===e&&this.expandButtons()}a&&r?l.align===n.align||s(this.initialButtonGroupWidth+20)?"responsive"===e?(this.collapseButtons(),s(i())&&h()):h():"responsive"===e&&this.expandButtons():r&&"responsive"===e&&(this.initialButtonGroupWidth>t.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>{t.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>{t.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;var o,r;t&&s&&({translateX:r=0,translateY:o=0}=t,r=e.plotLeft+r,i.attr({x:r,y:o}).show(),E(s,{left:r+"px",top:o+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){var t=this["dropdown"];t&&(this.dropdownLabel.hide(),E(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;var l=Math.min(a,r);return(a<0&&r<0||0t()),i.eventsToUnbind=void 0),o(i.buttons),t&&(t.onfocus=t.onblur=t.onchange=null),e&&(e.onfocus=e.onblur=e.onchange=null),a(i,function(t,e){t&&"chart"!==e&&(t instanceof s?t.destroy():t instanceof window.HTMLElement&&r(t)),t!==h.prototype[e]&&(i[e]=null)},this)}}return M(h.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),h}),e(t,"Core/Chart/StockChart.js",[t["Core/Chart/Chart.js"],t["Core/Templating.js"],t["Core/Defaults.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/RangeSelector/RangeSelectorDefaults.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,i,n,l,h,s,o){let D=e["format"],d=i["getOptions"],r=s["setFixedRange"],{addEvent:a,clamp:S,crisp:p,defined:A,extend:w,find:k,isNumber:E,isString:C,merge:c,pick:O,splat:u}=o;function g(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!(!e.categories&&"category"!==e.type),title:{text:"Values"!==i.title?.text?i.title?.text:null}}:{}}function x(t,i){if("xAxis"!==t)return{};{let t=O(i.navigator&&i.navigator.enabled,n.enabled,!0),e={type:"datetime",categories:void 0};return t&&(e.startOnTick=!1,e.endOnTick=!1),e}}class f extends t{init(e,t){let i=d(),s=e.xAxis,o=e.yAxis,r=O(e.navigator&&e.navigator.enabled,n.enabled,!0),a=(e.xAxis=e.yAxis=void 0,c({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:r},scrollbar:{enabled:O(h.enabled,!0)},rangeSelector:{enabled:O(l.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:O(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},e,{isStock:!0}));e.xAxis=s,e.yAxis=o,a.xAxis=u(e.xAxis||{}).map(t=>c(g("xAxis",t,i.xAxis),t,x("xAxis",e))),a.yAxis=u(e.yAxis||{}).map(t=>c(g("yAxis",t,i.yAxis),t)),super.init(a,t)}createAxis(t,e){return e.axis=c(g(t,e.axis,d()[t]),e.axis,x(t,this.userOptions)),super.createAxis(t,e)}}return a(t,"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(c(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),(G=f=f||{}).compose=function(t,e,i,s){let o=i.prototype;o.forceCropping||(a(e,"afterDrawCrosshair",m),a(e,"afterHideCrosshair",v),a(e,"autoLabelAlign",b),a(e,"destroy",y),a(e,"getPlotLinePath",M),t.prototype.setFixedRange=r,o.forceCropping=P,a(i,"setOptions",B),s.prototype.crispPolyLine=T)},G.stockChart=function(t,e,i){return new G(t,e,i)},f;function m(k){if(this.crosshair&&this.crosshair.label&&this.crosshair.label.enabled&&this.cross&&E(this.min)&&E(this.max)){let t=this.chart,e=this.logarithmic,i=this.crosshair.label,s=this.horiz,o=this.opposite,r=this.left,a=this.top,n=this.width,l="inside"===this.options.tickPosition,h=!1!==this.crosshair.snap,d=k.e||this.cross&&this.cross.e,p=k.point,c=this.crossLabel,u,g,x=i.format,f="",m,v=0,b=this.min,y=this.max;e&&(b=e.lin2log(this.min),y=e.lin2log(this.max));k=s?"center":o?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";c||(c=this.crossLabel=t.renderer.label("",0,void 0,i.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(p&&p.series?p.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:i.align||k,padding:O(i.padding,8),r:O(i.borderRadius,3),zIndex:2}).add(this.labelGroup),t.styledMode||c.attr({fill:i.backgroundColor||p&&p.series&&p.series.color||"#666666",stroke:i.borderColor||"","stroke-width":i.borderWidth||0}).css(w({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},i.style||{}))),g=s?(u=h?(p.plotX||0)+r:d.chartX,a+(o?0:this.height)):(u=r+this.offset+(o?n:0),h?(p.plotY||0)+a:d.chartY),x||i.formatter||(this.dateTime&&(f="%b %d, %Y"),x="{value"+(f?":"+f:"")+"}");let M=h?this.isXAxis?p.x:p.y:this.toValue(s?d.chartX:d.chartY),S=p&&p.series?p.series.isPointInside(p):E(M)&&M>b&&M=m.right&&(v=-(C+k.width-m.right)),c.attr({x:u+v,y:g,anchorX:s?u:this.opposite?0:t.chartWidth,anchorY:s?this.opposite?t.chartHeight:0:g+k.height/2})}}function v(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function b(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;var r;e.options.isStock&&"yAxis"===this.coll&&(r=i.top+","+i.height,!s[r]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[r]=this,t.align="right",t.preventDefault()))}function y(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function M(t){let i=this,s=(i.isLinked&&!i.series&&i.linkedParent?i.linkedParent:i).series,o=i.chart,e=o.renderer,r=i.left,a=i.top,n=[],l=t.translatedValue,h=t.value,d=t.force,p,c,u,g,x=[],f,m;if(o.options.isStock&&!1!==t.acrossPanes&&"xAxis"===i.coll||"yAxis"===i.coll){for(var v of(t.preventDefault(),x=(()=>{let e="xAxis"===i.coll?"yAxis":"xAxis",t=i.options[e];return E(t)?[o[e][t]]:C(t)?[o.get(t)]:s.map(t=>t[e])})(),i.isXAxis?o.yAxis:o.xAxis)){var b;v.options.isInternal||(b=v.isXAxis?"yAxis":"xAxis",i===(A(v.options[b])?o[b][v.options[b]]:o[b][0])&&x.push(v))}for(let e of(f=x.length?[]:[(i.isXAxis?o.yAxis:o.xAxis)[0]],x))-1!==f.indexOf(e)||k(f,t=>t.pos===e.pos&&t.len===e.len)||f.push(e);if(E(m=O(l,i.translate(h||0,void 0,void 0,t.old))))if(i.horiz)for(var y of f){let t;g=(c=y.pos)+y.len,p=u=Math.round(m+i.transB),"pass"!==d&&(pr+i.width)&&(d?p=u=S(p,r,r+i.width):t=!0),t||n.push(["M",p,c],["L",u,g])}else for(var M of f){let t;u=(p=M.pos)+M.len,c=g=Math.round(a+i.height-m),"pass"!==d&&(ca+i.height)&&(d?c=g=S(c,a,a+i.height):t=!0),t||n.push(["M",p,c],["L",u,g])}t.path=0 {series.name}
    High: {point.high}
    Low: {point.low}
    Close: {point.close}
    '},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),e(t,"Series/HLC/HLCSeries.js",[t["Series/HLC/HLCPoint.js"],t["Series/HLC/HLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s){let o=i.seriesTypes["column"],{crisp:n,extend:r,merge:a}=s;class l extends o{extendStem(t,e,i){let s=t[0],o=t[1];"number"==typeof s[2]&&(s[2]=Math.max(i+e,s[2])),"number"==typeof o[2]&&(o[2]=Math.min(i-e,o[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,o=n(t.plotX||0,i),r=Math.round(t.shapeArgs.width/2),a=[["M",o,Math.round(t.yBottom)],["L",o,Math.round(t.plotHigh)]];return null!==t.close&&(e=n(t.plotClose,i),a.push(["M",o,e],["L",o+r,e]),s.extendStem(a,i/2,e)),a}drawSinglePoint(t){let e=t.series,i=e.chart,s,o=t.graphic;void 0!==t.plotY&&(o||(t.graphic=o=i.renderer.path().add(e.group)),i.styledMode||o.attr(e.pointAttribs(t,t.selected&&"select")),s=e.getPointPath(t,o),o[o?"animate":"attr"]({d:s}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let o=this,r=o.yAxis,t=this.pointArrayMap&&this.pointArrayMap.slice()||[],a=t.map(t=>"plot"+(t.charAt(0).toUpperCase()+t.slice(1)));a.push("yBottom"),t.push("low"),super.translate.apply(o),o.points.forEach(function(s){t.forEach(function(t,e){let i=s[t];null!==i&&(o.dataModify&&(i=o.dataModify.modifyValue(i)),s[a[e]]=r.toPixels(i,!0))}),s.tooltipPos[1]=s.plotHigh+r.pos-o.chart.plotTop})}}return l.defaultOptions=a(o.defaultOptions,e),r(l.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",l),l}),e(t,"Series/OHLC/OHLCPoint.js",[t["Core/Series/SeriesRegistry.js"]],function(t){var t=t["seriesTypes"]["hlc"];class e extends t.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
    Open: {point.open}
    High: {point.high}
    Low: {point.low}
    Close: {point.close}
    '}}}),e(t,"Series/OHLC/OHLCSeries.js",[t["Core/Globals.js"],t["Series/OHLC/OHLCPoint.js"],t["Series/OHLC/OHLCSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i,s,o){let r=t["composed"],a=s.seriesTypes["hlc"],{addEvent:n,crisp:l,extend:h,merge:d,pushUnique:p}=o;function c(t){let e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function u(t){t=t.options;t.useOhlcData&&"highcharts-navigator-series"!==t.id&&h(this,{pointValKey:g.prototype.pointValKey,pointArrayMap:g.prototype.pointArrayMap,toYData:g.prototype.toYData})}class g extends a{static compose(t){p(r,"OHLCSeries")&&(n(t,"afterSetOptions",c),n(t,"init",u))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),o=l(t.plotX||0,s),r=Math.round(t.shapeArgs.width/2);return null!==t.open&&(e=l(t.plotOpen,s),i.push(["M",o,e],["L",o-r,e]),super.extendStem(i,s/2,e)),i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.opent.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);x--&&o[p];)if(m=n[x],(c=o[p]).y=m.y,m.x<=c.x&&void 0!==m[g]){if(c.x<=v&&(c.plotY=m[g],m.xMath.pow(1-t,3)*i[e]+3*(1-t)*(1-t)*t*o[e]+3*(1-t)*t*t*r[e]+t*t*t*s[e],a=0,n=1,l;for(let t=0;t<100;t++){var S=(a+n)/2,A=e(S,0);if(null===A)break;if(Math.abs(A-c.plotX)<.25){l=S;break}A{let i;t.plotX+=f,void 0!==t.plotY&&!l||(0<=t.plotX&&t.plotX<=h.len?l?(t.plotY=h.translate(t.x,0,1,0,1),t.plotX=C(t.y)?d.translate(t.y,0,0,0,1):0):t.plotY=(h.opposite?0:s.yAxis.len)+h.offset:t.shapeArgs={}),(u=o[e-1])&&u.plotX===t.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),i=u.stackIndex+1),t.stackIndex=i}),this.onSeries=r}}),e(t,"Series/Flags/FlagsSeries.js",[t["Series/Flags/FlagsPoint.js"],t["Series/Flags/FlagsSeriesDefaults.js"],t["Series/Flags/FlagsSymbols.js"],t["Core/Globals.js"],t["Series/OnSeriesComposition.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,o,r,a,S,n){let l=s["noop"],A=r["distribute"],{series:h,seriesTypes:{column:d}}=a,{addEvent:p,defined:k,extend:c,isNumber:C,merge:D,objectEach:w,wrap:E}=n;class u extends d{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,a,n,l,h,d,p=this.points,c=this.chart,u=c.renderer,g=c.inverted,x=this.options,f=x.y,m=this.yAxis,v={},b=[],y=C(x.borderRadius)?x.borderRadius:0;for(s=p.length;s--;)o=p[s],h=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,a=o.stackIndex,i=o.options.shape||x.shape,void 0!==(e=o.plotY)&&(e=o.plotY+f-(void 0!==a&&a*x.stackDistance)),o.anchorX=a?void 0:o.plotX,n=a?void 0:o.plotY,d="flag"!==i,r=o.graphic,void 0!==e&&0<=t&&!h?((r=r&&o.hasNewShapeType()?r.destroy():r)||(r=o.graphic=u.label("",0,void 0,i,void 0,void 0,x.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:d?"center":"left",width:x.width,height:x.height,"text-align":x.textAlign,r:y}),c.styledMode||r.attr(this.pointAttribs(o)).css(D(x.style,o.style)).shadow(x.shadow),0e.to||r>e.from&&ae.from&&ae.from&&a>e.to&&ar&&i>=this.basePointRange&&(r=i);a--;){var n;e&&!1!==e.visible||(e=s[a+1]),t=s[a],!1!==e.visible&&!1!==t.visible&&(e.x-t.x>r&&(n=(t.x+e.x)/2,s.splice(a+1,0,{isNull:!0,x:n}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][n]=new l(o,o.options.stackLabels,!1,n,this.stack)).total=0)),e=t)}}return this.getGraphPath(s)}(t=e=e||{}).compose=function(e,i){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",h),s(e,"afterInit",r),s(e,"afterSetTickPositions",n),s(e,"afterSetOptions",a);let t=i.prototype;t.drawBreaks=c,t.gappedPath=f,s(i,"afterGeneratePoints",d),s(i,"afterRender",p)}return e};class m{static isInBreak(t,e){var i=t.repeat||1/0,s=t.from,o=t.to-t.from,s=s<=e?(e-s)%i:i-(s-e)%i;return t.inclusive?s<=o:s=s);r++)(o.to=t)break;if(m.isInBreak(o,t)){s-=t-o.from;break}}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(e,t){return i(t,function(t){return t.fromn;)h-=a;for(;hthis.chart.plotSizeX/i||o&&r.forced)&&(s=!0));return s?i:0}function d(){this.series.forEach(function(t){t.hasProcessed=!1})}function p(e,t){let i;if(t=n(t,!0),e=e||{forced:!1,units:null},this instanceof s)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:e},!1);else this.chart.options.series.forEach(function(t){t.dataGrouping="boolean"==typeof e?e:r(e,t.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),t&&this.chart.redraw()}return{compose:function(t){var e=(s=t).prototype;e.applyGrouping||(i(t,"afterSetScale",d),i(t,"postProcessData",l),o(e,{applyGrouping:l,getGroupPixelWidth:h,setDataGrouping:p}))}}}),e(t,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[t["Extensions/DataGrouping/ApproximationRegistry.js"],t["Extensions/DataGrouping/DataGroupingDefaults.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Defaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(w,B,P,n,t,e){let{prototype:T}=t["series"],{addEvent:i,defined:G,error:j,extend:s,isNumber:R,merge:E,pick:o}=e,r=T.generatePoints;function a(f){let m,v,b=this.chart,y=this.options.dataGrouping,t=!1!==this.allowDG&&y&&o(y.enabled,b.options.isStock),M=this.reserveSpace(),e=this.currentDataGrouping,S,A,i=!1;t&&!this.requireSorting&&(this.requireSorting=i=!0);f=0==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!f)||!t;if(i&&(this.requireSorting=!1),!f){this.destroyGroupedData();let d=y.groupAll?this.xData:this.processedXData,p=y.groupAll?this.yData:this.processedYData,c=b.plotSizeX,u=this.xAxis,g=u.options.ordinal,x=this.groupPixelWidth;if(x&&d&&d.length&&c){v=!0,this.isDirty=!0,this.points=null;let t=u.getExtremes(),e=t.min,i=t.max,s=g&&u.ordinal&&u.ordinal.getGroupIntervalFactor(e,i,this)||1,o=x*(i-e)/c*s,r=u.getTimeTicks(P.Additions.prototype.normalizeTimeTickInterval(o,y.units||B.units),Math.min(e,d[0]),Math.max(i,d[d.length-1]),u.options.startOfWeek,d,this.closestPointRange),a=T.groupData.apply(this,[d,p,r,y.approximation]),n=a.groupedXData,l=a.groupedYData,h=0;for(y&&y.smoothed&&n.length&&(y.firstAnchor="firstPoint",y.anchor="middle",y.lastAnchor="lastPoint",j(32,!1,b,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),m=1;m=k[0]){let t;r++;var D=f.groupMap[0].start,E=f.groupMap[0].length;R(D)&&R(E)&&(t=D+(E-1)),k[0]={start:k[0],middle:k[0]+.5*w,end:k[0]+w,firstPoint:f.xData[0],lastPoint:t&&f.xData[t]}[i]}if(0=C-w&&(o--,D=f.groupMap[f.groupMap.length-1].start,k[t]={start:k[t],middle:k[t]+.5*w,end:k[t]+w,firstPoint:D&&f.xData[D],lastPoint:f.xData[f.xData.length-1]}[s]),e&&"start"!==e)for(var O=w*{middle:.5,end:1}[e];o>=r;)k[o]+=O,o--}M&&(G((E=n)[0])&&R(u.min)&&R(u.dataMin)&&E[0]u.max&&((!G(u.options.max)&&R(u.dataMax)&&u.max>=u.dataMax||u.max===u.dataMax)&&(u.max=Math.max(E[E.length-1],u.max)),u.dataMax=Math.max(E[E.length-1],u.dataMax))),y.groupAll&&(this.allGroupedData=l,n=(A=this.cropData(n,l,u.min,u.max)).xData,l=A.yData,this.cropStart=A.start),this.processedXData=n,this.processedYData=l}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=v,this.preventGraphAnimation=(e&&e.totalRange)!==(S&&S.totalRange)}}function l(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function h(){r.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function d(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function p(e,i,s,t){let o=this,r=o.data,a=o.options&&o.options.data,n=[],l=[],h=[],d=e.length,p=!!i,c=[],u=o.pointArrayMap,g=u&&u.length,x=["x"].concat(u||["y"]),f=this.options.dataGrouping&&this.options.dataGrouping.groupAll,m,v,b,y=0,M=0,S="function"==typeof t?t:t&&w[t]?w[t]:w[o.getDGApproximation&&o.getDGApproximation()||"average"];if(g){let t=u.length;for(;t--;)c.push([])}else c.push([]);var A=g||1;for(let t=0;t<=d;t++)if(!(e[t]=s[y+1]||t===d;){m=s[y],o.dataGroupInfo={start:f?M:o.cropStart+M,length:c[0].length,groupStart:m},b=S.apply(o,c),o.pointClass&&!G(o.dataGroupInfo.options)&&(o.dataGroupInfo.options=E(o.pointClass.prototype.optionsToObject.call({series:o},o.options.data[o.cropStart+M])),x.forEach(function(t){delete o.dataGroupInfo.options[t]})),void 0!==b&&(n.push(m),l.push(b),h.push(o.dataGroupInfo)),M=t;for(let t=0;t{var e=t.axis.getExtremes(),i=e.min,e=e.max,s=a(t.axis.minPointOffset,0);return r(i)&&r(e)&&t.value>=i-s&&t.value<=e+s&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=n[t],s=typeof e;return{string:"text",number:"number",boolean:"checkbox"}[s=o(i)?i:s]}}}),e(t,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[t["Core/Utilities.js"],t["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(t,e){let h,{addEvent:i,isObject:s,pick:d,defined:p,merge:o}=t,l=e["getAssignedAxis"],r=[],a={enabled:!0,sensitivity:1.1};function n(){t=this.zooming.mouseWheel,s(t)||(t={enabled:t??!0});let n=o(a,t);var t;n.enabled&&i(this.container,"wheel",t=>{t=this.pointer?.normalize(t)||t;let e=this["pointer"],i=e&&!e.inClass(t.target,"highcharts-no-mousewheel");var s,o,r,a;this.isInsidePlot(t.chartX-this.plotLeft,t.chartY-this.plotTop)&&i&&(s=n.sensitivity||1.1,o=t.detail||(t.deltaY||0)/120,r=l(e.getCoordinates(t).xAxis),a=l(e.getCoordinates(t).yAxis),function(t,e,i,s,o,r,a){let n=d(a.type,t.zooming.type,""),l=[];"x"===n?l=i:"y"===n?l=s:"xy"===n&&(l=t.axes);a=t.transform({axes:l,to:{x:o-5,y:r-5,width:10,height:10},from:{x:o-5*e,y:r-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return a&&(p(h)&&clearTimeout(h),h=setTimeout(()=>{t.pointer?.drop()},400)),a}(this,Math.pow(s,o),r?[r.axis]:this.xAxis,a?[a.axis]:this.yAxis,t.chartX,t.chartY,n)&&t.preventDefault?.())})}return{compose:function(t){-1===r.indexOf(t)&&(r.push(t),i(t,"afterGetContainer",n))}}}),e(t,"masters/modules/mouse-wheel-zoom.src.js",[t["Core/Globals.js"],t["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(t,e){return t.MouseWheelZoom=t.MouseWheelZoom||e,t.MouseWheelZoom.compose(t.Chart),t}),e(t,"masters/modules/stock.src.js",[t["Core/Globals.js"],t["Series/DataModifyComposition.js"],t["Stock/Navigator/Navigator.js"],t["Core/Axis/OrdinalAxis.js"],t["Stock/RangeSelector/RangeSelector.js"],t["Stock/Scrollbar/Scrollbar.js"],t["Core/Chart/StockChart.js"],t["Series/OHLC/OHLCSeries.js"],t["Series/Flags/FlagsSeries.js"]],function(t,e,i,s,o,r,a,n,l){return t.Navigator=t.Navigator||i,t.OrdinalAxis=t.OrdinalAxis||s,t.RangeSelector=t.RangeSelector||o,t.Scrollbar=t.Scrollbar||r,t.stockChart=t.stockChart||a.stockChart,t.StockChart=t.StockChart||t.stockChart,t.extend(t.StockChart,a),e.compose(t.Series,t.Axis,t.Point),l.compose(t.Renderer),n.compose(t.Series),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.OrdinalAxis.compose(t.Axis,t.Series,t.Chart),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t.StockChart.compose(t.Chart,t.Axis,t.Series,t.SVGRenderer),t})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/treegraph.min.js b/assets/js/external/highcharts/modules/treegraph.min.js index 000bad2..37a0e3a 100644 --- a/assets/js/external/highcharts/modules/treegraph.min.js +++ b/assets/js/external/highcharts/modules/treegraph.min.js @@ -1 +1 @@ -!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/treegraph",["highcharts","highcharts/modules/treemap"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var e=o?o._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Series/PathUtilities.js",[],function(){function h(t,i){let s=[];for(let e=0;e"",style:{textOverflow:"none"}},nodeDistance:30,nodeWidth:void 0}}),t(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,t){let m=e["deg2rad"],{addEvent:i,merge:s,uniqueKey:h,defined:d,extend:p}=t;function o(o,e){e=s(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let r=this.renderer.url,a=this.text||this,t=a.textPath,{attributes:n,enabled:l}=e;return o=o||t&&t.path,t&&t.undo(),o&&l?(e=i(a,"afterModifyTree",i=>{if(o&&l){let e=o.attr("id"),t=(e||o.attr("id",e=h()),{x:0,y:0});d(n.dx)&&(t.dx=n.dx,delete n.dx),d(n.dy)&&(t.dy=n.dy,delete n.dy),a.attr(t),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());var s=i.nodes.slice(0);i.nodes.length=0,i.nodes[0]={tagName:"textPath",attributes:p(n,{"text-anchor":n.textAnchor,href:r+"#"+e}),children:s}}}),a.textPath={path:o,undo:e}):(a.attr({dx:0,dy:0}),delete a.textPath),this.added&&(a.textCache="",this.renderer.buildText(a)),this}function r(h){let i=h.bBox,d=this.element?.querySelector("textPath");if(d){let s=[],{b:o,h:e}=this.renderer.fontMetrics(this.element),r=e-o,t=RegExp('(|]*>|<\\/tspan>)',"g"),a=d.innerHTML.replace(t,"").split(/]*>/),n=a.length,l=(e,t)=>{var{x:t,y:i}=t,e=(d.getRotationOfChar(e)-90)*m,s=Math.cos(e),e=Math.sin(e);return[[t-r*s,i-r*e],[t+o*s,i+o*e]]};for(let t=0,i=0;i"collectorFunc"===e.name)||e.push(function(){let e=[];if(!b(i.options.dataLabels)[0].allowOverlap)for(var t of i.links)t.dataLabel&&e.push(t.dataLabel);return e})}getLayoutModifiers(){let e=this.chart,h=this,d=e.plotSizeX,p=e.plotSizeY,c=k(this.points.map(e=>e.node.xPosition)),u=1/0,f=-1/0,g=1/0,v=-1/0,y=0,b=0,m=0,x=0;this.points.forEach(l=>{if(!this.options.fillSpace||l.visible){let e=l.node,t=h.mapOptionsToLevel[l.node.level]||{},i=w(this.options.marker,t.marker,l.options.marker),s=i.width??P(this,c),o=L(i.radius||0,Math.min(d,p)),r=i.symbol,a="circle"!==r&&i.height?L(i.height,p):2*o,n="circle"!==r&&s?L(s,d):2*o;e.nodeSizeX=n,e.nodeSizeY=a,e.xPosition<=u&&(u=e.xPosition,b=Math.max(n+(i.lineWidth||0),b)),e.xPosition>=f&&(f=e.xPosition,y=Math.max(n+(i.lineWidth||0),y)),e.yPosition<=g&&(g=e.yPosition,x=Math.max(a+(i.lineWidth||0),x)),e.yPosition>=v&&(v=e.yPosition,m=Math.max(a+(i.lineWidth||0),m))}});var t=v===g?1:(p-(x+m)/2)/(v-g),i=v===g?p/2:-t*g+x/2,s=f===u?1:(d-(y+y)/2)/(f-u);return{ax:s,bx:f===u?d/2:-s*u+b/2,ay:t,by:i}}getLinks(){let i=this,s=[];return this.data.forEach(e=>{var t=i.mapOptionsToLevel[e.node.level||0]||{};e.node.parent?(t=w(t,e.options),!e.linkToParent||e.linkToParent.destroyed?(t=new i.LinkClass(i,t,void 0,e),e.linkToParent=t):(e.collapsed=M(e.collapsed,(this.mapOptionsToLevel[e.node.level]||{}).collapsed),e.linkToParent.visible=e.linkToParent.toNode.visible),e.linkToParent.index=s.push(e.linkToParent)-1):e.linkToParent&&(i.links.splice(e.linkToParent.index),e.linkToParent.destroy(),delete e.linkToParent)}),s}buildTree(e,t,i,s,o){var r=this.points[t];return i=r&&r.level||i,super.buildTree.call(this,e,t,i,s,o)}markerAttribs(){return{}}setCollapsedStatus(e,t){let i=e.point;i&&(i.collapsed=M(i.collapsed,(this.mapOptionsToLevel[e.level]||{}).collapsed),t=!1!==(i.visible=t)&&!i.collapsed),e.children.forEach(e=>{this.setCollapsedStatus(e,t)})}drawTracker(){g.prototype.drawTracker.apply(this,arguments),g.prototype.drawTracker.call(this,this.links)}translate(){let e=this.options,t=r.updateRootId(this),i;c.translate.call(this);var s=this.tree=this.getTree();i=this.nodeMap[t],""===t||i&&i.children.length||(this.setRootNode("",!1),t=this.rootNode,i=this.nodeMap[t]),this.mapOptionsToLevel=v({from:i.level+1,levels:e.levels,to:s.height,defaults:{levelIsConstant:this.options.levelIsConstant,colorByPoint:e.colorByPoint}}),this.setCollapsedStatus(s,!0),this.links=this.getLinks(),this.setTreeValues(s),this.layoutAlgorythm.calculatePositions(this),this.layoutModifier=this.getLayoutModifiers(),this.points.forEach(e=>{this.translateNode(e)}),this.points.forEach(e=>{e.linkToParent&&this.translateLink(e.linkToParent)}),e.colorByPoint||this.setColorRecursive(this.tree)}translateLink(a){var n=a.fromNode,l=a.toNode,h=this.options.link?.lineWidth||0,d=M(this.options.link?.curveFactor,.5),p=M(a.options.link?.type,this.options.link?.type,"default");if(n.shapeArgs&&l.shapeArgs){let e=n.shapeArgs.width||0,t=this.chart.inverted,i=y((n.shapeArgs.y||0)+(n.shapeArgs.height||0)/2,h),s=y((l.shapeArgs.y||0)+(l.shapeArgs.height||0)/2,h),o=y((n.shapeArgs.x||0)+e,h),r=y(l.shapeArgs.x||0,h);t&&(o-=e,r+=l.shapeArgs.width||0);var n=l.node.xPosition-n.node.xPosition,n=(a.shapeType="path",(Math.abs(r-o)+e)/n-e),c=y((r+o)/2,h);a.plotX=c,a.plotY=s,a.shapeArgs={d:u[p]({x1:o,y1:i,x2:r,y2:s,width:n,offset:n*d*(t?-1:1),inverted:t,parentVisible:l.visible,radius:this.options.link?.radius})},a.dlBox={x:(o+r)/2,y:(i+s)/2,height:h,width:0},a.tooltipPos=t?[(this.chart.plotSizeY||0)-a.dlBox.y,(this.chart.plotSizeX||0)-a.dlBox.x]:[a.dlBox.x,a.dlBox.y]}}drawNodeLabels(e){let t,i;var s,o=this.mapOptionsToLevel;for(s of e)i=o[s.node.level],t={style:{}},i&&i.dataLabels&&(t=w(t,i.dataLabels),this.hasDataLabels=()=>!0),s.shapeArgs&&!b(this.options.dataLabels)[0].style.width&&(t.style.width=s.shapeArgs.width,s.dataLabel&&s.dataLabel.css({width:s.shapeArgs.width+"px"})),s.dlOptions=w(t,s.options.dataLabels);c.drawDataLabels.call(this,e)}alignDataLabel(e,t){let i=e.visible;e.visible=!0,super.alignDataLabel.apply(this,arguments),t.animate({opacity:!1===i?0:1},void 0,function(){i||t.hide()}),e.visible=i}drawDataLabels(){this.options.dataLabels&&(this.options.dataLabels=b(this.options.dataLabels),this.drawNodeLabels(this.points),c.drawDataLabels.call(this,this.links))}destroy(){if(this.links){for(var e of this.links)e.destroy();this.links.length=0}return c.destroy.apply(this,arguments)}pointAttribs(e,t){var i=e&&this.mapOptionsToLevel[e.node.level||0]||{},s=e&&e.options,o=i.states&&i.states[t]||{};e&&(e.options.marker=w(this.options.marker,i.marker,e.options.marker));let r=M(o&&o.link&&o.link.color,s&&s.link&&s.link.color,i&&i.link&&i.link.color,this.options.link&&this.options.link.color),a=M(o&&o.link&&o.link.lineWidth,s&&s.link&&s.link.lineWidth,i&&i.link&&i.link.lineWidth,this.options.link&&this.options.link.lineWidth),n=c.pointAttribs.call(this,e,t);return e&&(e.isLink&&(n.stroke=r,n["stroke-width"]=a,delete n.fill),e.visible||(n.opacity=0)),n}drawPoints(){f.prototype.drawPoints.apply(this,arguments),g.prototype.drawPoints.call(this,this.links)}translateNode(e){let t=this.chart,i=e.node,s=t.plotSizeY,o=t.plotSizeX,{ax:r,bx:a,ay:n,by:l}=this.layoutModifier,h=r*i.xPosition+a,d=n*i.yPosition+l,p=this.mapOptionsToLevel[i.level]||{},c=w(this.options.marker,p.marker,e.options.marker).symbol,u=i.nodeSizeY,f=i.nodeSizeX,g=this.options.reversed,v=i.x=t.inverted?o-f/2-h:h-f/2,y=i.y=g?d-u/2:s-d-u/2,b=M(e.options.borderRadius,p.borderRadius,this.options.borderRadius),m=C[c||"circle"];var x,P,k,L,T;void 0===m?(e.hasImage=!0,e.shapeType="image",e.imageUrl=c.match(/^url\((.*?)\)$/)[1]):e.shapeType="path",!e.visible&&e.linkToParent?(x=e.linkToParent.fromNode)&&({x:P=0,y:k=0,width:L=0,height:T=0}=x.shapeArgs||{},e.shapeArgs||(e.shapeArgs={}),e.hasImage||S(e.shapeArgs,{d:m(P,k,L,T,b?{r:b}:void 0)}),S(e.shapeArgs,{x:P,y:k}),e.plotX=x.plotX,e.plotY=x.plotY):(e.plotX=v,e.plotY=y,e.shapeArgs={x:v,y:y,width:f,height:u,cursor:e.node.isLeaf?"default":"pointer"},e.hasImage||(e.shapeArgs.d=m(v,y,f,u,b?{r:b}:void 0))),e.tooltipPos=t.inverted?[s-y-u/2,o-v-f/2]:[v+f/2,y]}}return m.defaultOptions=w(f.defaultOptions,h),S(m.prototype,{pointClass:o,NodeClass:s,LinkClass:n}),t.registerSeriesType("treegraph",m),m}),t(e,"masters/modules/treegraph.src.js",[e["Core/Globals.js"]],function(e){return e})}); \ No newline at end of file +!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/treegraph",["highcharts","highcharts/modules/treemap"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var e=o?o._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Series/PathUtilities.js",[],function(){function h(t,i){let s=[];for(let e=0;e"",style:{textOverflow:"none"}},nodeDistance:30,nodeWidth:void 0}}),t(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,t){let m=e["deg2rad"],{addEvent:i,merge:s,uniqueKey:h,defined:d,extend:p}=t;function o(o,e){e=s(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let r=this.renderer.url,a=this.text||this,t=a.textPath,{attributes:n,enabled:l}=e;return o=o||t&&t.path,t&&t.undo(),o&&l?(e=i(a,"afterModifyTree",i=>{if(o&&l){let e=o.attr("id"),t=(e||o.attr("id",e=h()),{x:0,y:0});d(n.dx)&&(t.dx=n.dx,delete n.dx),d(n.dy)&&(t.dy=n.dy,delete n.dy),a.attr(t),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());var s=i.nodes.slice(0);i.nodes.length=0,i.nodes[0]={tagName:"textPath",attributes:p(n,{"text-anchor":n.textAnchor,href:r+"#"+e}),children:s}}}),a.textPath={path:o,undo:e}):(a.attr({dx:0,dy:0}),delete a.textPath),this.added&&(a.textCache="",this.renderer.buildText(a)),this}function r(h){let i=h.bBox,d=this.element?.querySelector("textPath");if(d){let s=[],{b:o,h:e}=this.renderer.fontMetrics(this.element),r=e-o,t=RegExp('(|]*>|<\\/tspan>)',"g"),a=d.innerHTML.replace(t,"").split(/]*>/),n=a.length,l=(e,t)=>{var{x:t,y:i}=t,e=(d.getRotationOfChar(e)-90)*m,s=Math.cos(e),e=Math.sin(e);return[[t-r*s,i-r*e],[t+o*s,i+o*e]]};for(let t=0,i=0;i"collectorFunc"===e.name)||e.push(function(){let e=[];if(!b(i.options.dataLabels)[0].allowOverlap)for(var t of i.links||[])t.dataLabel&&e.push(t.dataLabel);return e})}getLayoutModifiers(){let e=this.chart,h=this,d=e.plotSizeX,p=e.plotSizeY,c=k(this.points.map(e=>e.node.xPosition)),u=1/0,f=-1/0,g=1/0,v=-1/0,y=0,b=0,m=0,x=0;this.points.forEach(l=>{if(!this.options.fillSpace||l.visible){let e=l.node,t=h.mapOptionsToLevel[l.node.level]||{},i=w(this.options.marker,t.marker,l.options.marker),s=i.width??P(this,c),o=L(i.radius||0,Math.min(d,p)),r=i.symbol,a="circle"!==r&&i.height?L(i.height,p):2*o,n="circle"!==r&&s?L(s,d):2*o;e.nodeSizeX=n,e.nodeSizeY=a,e.xPosition<=u&&(u=e.xPosition,b=Math.max(n+(i.lineWidth||0),b)),e.xPosition>=f&&(f=e.xPosition,y=Math.max(n+(i.lineWidth||0),y)),e.yPosition<=g&&(g=e.yPosition,x=Math.max(a+(i.lineWidth||0),x)),e.yPosition>=v&&(v=e.yPosition,m=Math.max(a+(i.lineWidth||0),m))}});var t=v===g?1:(p-(x+m)/2)/(v-g),i=v===g?p/2:-t*g+x/2,s=f===u?1:(d-(y+y)/2)/(f-u);return{ax:s,bx:f===u?d/2:-s*u+b/2,ay:t,by:i}}getLinks(){let i=this,s=[];return this.data.forEach(e=>{var t=i.mapOptionsToLevel[e.node.level||0]||{};e.node.parent?(t=w(t,e.options),!e.linkToParent||e.linkToParent.destroyed?(t=new i.LinkClass(i,t,void 0,e),e.linkToParent=t):(e.collapsed=M(e.collapsed,(this.mapOptionsToLevel[e.node.level]||{}).collapsed),e.linkToParent.visible=e.linkToParent.toNode.visible),e.linkToParent.index=s.push(e.linkToParent)-1):e.linkToParent&&(i.links.splice(e.linkToParent.index),e.linkToParent.destroy(),delete e.linkToParent)}),s}buildTree(e,t,i,s,o){var r=this.points[t];return i=r&&r.level||i,super.buildTree.call(this,e,t,i,s,o)}markerAttribs(){return{}}setCollapsedStatus(e,t){let i=e.point;i&&(i.collapsed=M(i.collapsed,(this.mapOptionsToLevel[e.level]||{}).collapsed),t=!1!==(i.visible=t)&&!i.collapsed),e.children.forEach(e=>{this.setCollapsedStatus(e,t)})}drawTracker(){g.prototype.drawTracker.apply(this,arguments),g.prototype.drawTracker.call(this,this.links)}translate(){let e=this.options,t=r.updateRootId(this),i;c.translate.call(this);var s=this.tree=this.getTree();i=this.nodeMap[t],""===t||i&&i.children.length||(this.setRootNode("",!1),t=this.rootNode,i=this.nodeMap[t]),this.mapOptionsToLevel=v({from:i.level+1,levels:e.levels,to:s.height,defaults:{levelIsConstant:this.options.levelIsConstant,colorByPoint:e.colorByPoint}}),this.setCollapsedStatus(s,!0),this.links=this.getLinks(),this.setTreeValues(s),this.layoutAlgorythm.calculatePositions(this),this.layoutModifier=this.getLayoutModifiers(),this.points.forEach(e=>{this.translateNode(e)}),this.points.forEach(e=>{e.linkToParent&&this.translateLink(e.linkToParent)}),e.colorByPoint||this.setColorRecursive(this.tree)}translateLink(a){var n=a.fromNode,l=a.toNode,h=this.options.link?.lineWidth||0,d=M(this.options.link?.curveFactor,.5),p=M(a.options.link?.type,this.options.link?.type,"default");if(n.shapeArgs&&l.shapeArgs){let e=n.shapeArgs.width||0,t=this.chart.inverted,i=y((n.shapeArgs.y||0)+(n.shapeArgs.height||0)/2,h),s=y((l.shapeArgs.y||0)+(l.shapeArgs.height||0)/2,h),o=y((n.shapeArgs.x||0)+e,h),r=y(l.shapeArgs.x||0,h);t&&(o-=e,r+=l.shapeArgs.width||0);var n=l.node.xPosition-n.node.xPosition,n=(a.shapeType="path",(Math.abs(r-o)+e)/n-e),c=y((r+o)/2,h);a.plotX=c,a.plotY=s,a.shapeArgs={d:u[p]({x1:o,y1:i,x2:r,y2:s,width:n,offset:n*d*(t?-1:1),inverted:t,parentVisible:l.visible,radius:this.options.link?.radius})},a.dlBox={x:(o+r)/2,y:(i+s)/2,height:h,width:0},a.tooltipPos=t?[(this.chart.plotSizeY||0)-a.dlBox.y,(this.chart.plotSizeX||0)-a.dlBox.x]:[a.dlBox.x,a.dlBox.y]}}drawNodeLabels(e){let t,i;var s,o=this.mapOptionsToLevel;for(s of e)i=o[s.node.level],t={style:{}},i&&i.dataLabels&&(t=w(t,i.dataLabels),this.hasDataLabels=()=>!0),s.shapeArgs&&!b(this.options.dataLabels)[0].style.width&&(t.style.width=s.shapeArgs.width,s.dataLabel&&s.dataLabel.css({width:s.shapeArgs.width+"px"})),s.dlOptions=w(t,s.options.dataLabels);c.drawDataLabels.call(this,e)}alignDataLabel(e,t){let i=e.visible;e.visible=!0,super.alignDataLabel.apply(this,arguments),t.animate({opacity:!1===i?0:1},void 0,function(){i||t.hide()}),e.visible=i}drawDataLabels(){this.options.dataLabels&&(this.options.dataLabels=b(this.options.dataLabels),this.drawNodeLabels(this.points),c.drawDataLabels.call(this,this.links))}destroy(){if(this.links){for(var e of this.links)e.destroy();this.links.length=0}return c.destroy.apply(this,arguments)}pointAttribs(e,t){var i=e&&this.mapOptionsToLevel[e.node.level||0]||{},s=e&&e.options,o=i.states&&i.states[t]||{};e&&(e.options.marker=w(this.options.marker,i.marker,e.options.marker));let r=M(o&&o.link&&o.link.color,s&&s.link&&s.link.color,i&&i.link&&i.link.color,this.options.link&&this.options.link.color),a=M(o&&o.link&&o.link.lineWidth,s&&s.link&&s.link.lineWidth,i&&i.link&&i.link.lineWidth,this.options.link&&this.options.link.lineWidth),n=c.pointAttribs.call(this,e,t);return e&&(e.isLink&&(n.stroke=r,n["stroke-width"]=a,delete n.fill),e.visible||(n.opacity=0)),n}drawPoints(){f.prototype.drawPoints.apply(this,arguments),g.prototype.drawPoints.call(this,this.links)}translateNode(e){let t=this.chart,i=e.node,s=t.plotSizeY,o=t.plotSizeX,{ax:r,bx:a,ay:n,by:l}=this.layoutModifier,h=r*i.xPosition+a,d=n*i.yPosition+l,p=this.mapOptionsToLevel[i.level]||{},c=w(this.options.marker,p.marker,e.options.marker).symbol,u=i.nodeSizeY,f=i.nodeSizeX,g=this.options.reversed,v=i.x=t.inverted?o-f/2-h:h-f/2,y=i.y=g?d-u/2:s-d-u/2,b=M(e.options.borderRadius,p.borderRadius,this.options.borderRadius),m=C[c||"circle"];var x,P,k,L,T;void 0===m?(e.hasImage=!0,e.shapeType="image",e.imageUrl=c.match(/^url\((.*?)\)$/)[1]):e.shapeType="path",!e.visible&&e.linkToParent?(x=e.linkToParent.fromNode)&&({x:P=0,y:k=0,width:L=0,height:T=0}=x.shapeArgs||{},e.shapeArgs||(e.shapeArgs={}),e.hasImage||S(e.shapeArgs,{d:m(P,k,L,T,b?{r:b}:void 0)}),S(e.shapeArgs,{x:P,y:k}),e.plotX=x.plotX,e.plotY=x.plotY):(e.plotX=v,e.plotY=y,e.shapeArgs={x:v,y:y,width:f,height:u,cursor:e.node.isLeaf?"default":"pointer"},e.hasImage||(e.shapeArgs.d=m(v,y,f,u,b?{r:b}:void 0))),e.tooltipPos=t.inverted?[s-y-u/2,o-v-f/2]:[v+f/2,y]}}return m.defaultOptions=w(f.defaultOptions,h),S(m.prototype,{pointClass:o,NodeClass:s,LinkClass:n}),t.registerSeriesType("treegraph",m),m}),t(e,"masters/modules/treegraph.src.js",[e["Core/Globals.js"]],function(e){return e})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/modules/treegrid.min.js b/assets/js/external/highcharts/modules/treegrid.min.js index e969822..42b8145 100644 --- a/assets/js/external/highcharts/modules/treegrid.min.js +++ b/assets/js/external/highcharts/modules/treegrid.min.js @@ -1 +1 @@ -!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(o){"use strict";var e=o?o._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&o.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(l,e){var t;let{addEvent:s,find:i,fireEvent:f,isArray:o,isNumber:u,pick:g}=e;{function r(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function n(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function a(){let s=this.brokenAxis;if(s?.hasBreaks){let t=this.tickPositions,e=this.tickPositions.info,i=[];for(let e=0;et.to||r>t.from&&nt.from&&nt.from&&n>t.to&&nr&&i>=this.basePointRange&&(r=i);n--;){var a;t&&!1!==t.visible||(t=s[n+1]),e=s[n],!1!==t.visible&&!1!==e.visible&&(t.x-e.x>r&&(a=(e.x+t.x)/2,s.splice(n+1,0,{isNull:!0,x:a}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][a]=new l(o,o.options.stackLabels,!1,a,this.stack)).total=0)),t=e)}}return this.getGraphPath(s)}(e=t=t||{}).compose=function(t,i){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),s(t,"init",d),s(t,"afterInit",r),s(t,"afterSetTickPositions",a),s(t,"afterSetOptions",n);let e=i.prototype;e.drawBreaks=p,e.gappedPath=k,s(i,"afterGeneratePoints",h),s(i,"afterRender",c)}return t};class m{static isInBreak(e,t){var i=e.repeat||1/0,s=e.from,o=e.to-e.from,s=s<=t?(t-s)%i:i-(s-t)%i;return e.inclusive?s<=o:s=s);r++)(o.to=e)break;if(m.isInBreak(o,e)){s-=e-o.from;break}}return s}constructor(e){this.hasBreaks=!1,this.axis=e}findBreakAt(t,e){return i(e,function(e){return e.froma;)d-=n;for(;d{e.getOffset()})}i&&e.apply(this)}function k(k){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:t,horiz:i,left:s,offset:o,opposite:r,options:n,top:a,width:l}=this,d=this.tickSize(),h=e&&e.getBBox().width,c=n.title.x,p=n.title.y,f=m(n.title.margin,i?5:10),u=e?this.chart.renderer.fontMetrics(e).f:0,g=(i?a+t:s)+(i?1:-1)*(r?-1:1)*(d?d[0]/2:0)+(this.side===x.bottom?u:0);k.titlePosition.x=i?s-(h||0)/2-f+c:g+(r?l:0)+o+c,k.titlePosition.y=i?g-(r?t:0)+(r?u:-u)/2+o+p:a-f+p}}function v(){var{chart:o,options:{grid:r={}},userOptions:n}=this;if(r.enabled){var t=this;let e=t.options;e.labels.align=m(e.labels.align,"center"),t.categories||(e.showLastLabel=!1),t.labelRotation=0,e.labels.rotation=0,e.minTickInterval=1}if(r.columns){let i=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++se.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let e,t;for(var a=this.tickmarkOffset,l=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(e=this.hiddenLabels.pop())&&e.element;)e.show();for(;(t=this.hiddenMarks.pop())&&t.element;)t.show();(e=this.ticks[s].label)&&(a{e.options.pointRange=0}),e&&t.dateTimeLabelFormats&&t.labels&&!o(s.align)&&(!1===t.dateTimeLabelFormats[e.unitName].range||1e.setScale())}function C(e){var t,{horiz:i,maxLabelDimensions:s,options:{grid:o={}}}=this;o.enabled&&s&&(t=2*this.options.labels.distance,i=i?o.cellHeight||t+s.height:t+s.width,r(e.tickSize)?e.tickSize[0]=i:e.tickSize=[i,0])}function O(){this.axes.forEach(e=>{(e.grid&&e.grid.columns||[]).forEach(e=>{e.setAxisSize(),e.setAxisTranslation()})})}function B(t){let e=this["grid"];(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function I(e){let t=e.userOptions||{},i=t.grid||{};i.enabled&&o(i.borderColor)&&(t.tickColor=t.lineColor=i.borderColor),this.grid||(this.grid=new S(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function N(o){let r=this.label,n=this.axis,a=n.reversed,l=n.chart,e=n.options.grid||{},d=n.options.labels,h=d.align,c=x[n.side],t=o.tickmarkOffset,i=n.tickPositions,p=this.pos-t,f=b(i[o.index+1])?i[o.index+1]-t:(n.max||0)+t,s=n.tickSize("tick"),u=s?s[0]:0,g=s?s[1]/2:0;if(!0===e.enabled){let e,t,i,s;var k,m;"top"===c?t=(e=n.top+n.offset)-u:"bottom"===c?e=(t=l.chartHeight-n.bottom+n.offset)+u:(e=n.top+n.len-(n.translate(a?f:p)||0),t=n.top+n.len-(n.translate(a?p:f)||0)),"right"===c?s=(i=l.chartWidth-n.right+n.offset)+u:"left"===c?i=(s=n.left+n.offset)-u:(i=Math.round(n.left+(n.translate(a?f:p)||0))-g,s=Math.min(Math.round(n.left+(n.translate(a?p:f)||0))-g,n.left+n.len)),this.slotWidth=s-i,o.pos.x="left"===h?i:"right"===h?s:i+(s-i)/2,o.pos.y=t+(e-t)/2,r&&(k=l.renderer.fontMetrics(r),m=r.getBBox().height,d.useHTML?o.pos.y+=k.b+-m/2:(m=Math.round(m/k.h),o.pos.y+=(k.b-(k.h-k.f))/2+-((m-1)*k.h)/2)),o.pos.x+=n.horiz&&d.x||0}}function E(n){let{axis:a,value:l}=n;if(a.options.grid&&a.options.grid.enabled){let e,t=a.tickPositions,i=(a.linkedParent||a).series[0],s=l===t[0],o=l===t[t.length-1],r=i&&h(i.options.data,function(e){return e[a.isXAxis?"x":"y"]===l});r&&i.is("gantt")&&(e=c(r),d.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(e)),n.isFirst=s,n.isLast=o,n.point=e}}function w(){let e=this.options,t=e.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],a=s[s.length-2],l=this.linkedParent&&this.linkedParent.min,d=this.linkedParent&&this.linkedParent.max,h=l||this.min,c=d||this.max,p=this.tickInterval,f=b(h)&&o+p<=h&&h{e.side!==i.side||e.options.isInternal||(n=t,e===o&&(r=t))}),n===r&&(!b(t)||s.length===t))}renderBorder(e){let t=this.axis,i=t.chart.renderer,s=t.options,o=i.path(e).addClass("highcharts-axis-line").add(t.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}return e.E=function(e){return this.dateFormat("%a",e,!0).charAt(0)},e.W=function(e){let t=this,i=new this.Date(e),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(e){t.set(e,i,0)}),(this.get("Day",i)+6)%7),o=new this.Date(i.valueOf()),r=(this.set("Date",o,this.get("Date",i)-s+3),new this.Date(this.get("FullYear",o),0,1));return 4!==this.get("Day",r)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",r))%7)),(1+Math.floor((o.valueOf()-r.valueOf())/6048e5)).toString()},{compose:function(e,t,i){return e.keepProps.includes("grid")||(e.keepProps.push("grid"),e.prototype.getMaxLabelDimensions=u,n(e.prototype,"unsquish",L),n(e.prototype,"getOffset",g),s(e,"init",I),s(e,"afterGetTitlePosition",k),s(e,"afterInit",v),s(e,"afterRender",y),s(e,"afterSetAxisTranslation",G),s(e,"afterSetOptions",P),s(e,"afterSetOptions",A),s(e,"afterSetScale",T),s(e,"afterTickSize",C),s(e,"trimTicks",w),s(e,"destroy",B),s(t,"afterSetChartSize",O),s(i,"afterGetLabelPosition",N),s(i,"labelFormat",E)),e}}}),t(e,"Gantt/Tree.js",[e["Core/Utilities.js"]],function(e){let{extend:f,isNumber:u,pick:g}=e;function k(s,e,o,t,r,n){let i=n&&n.after,a=n&&n.before,l={data:t,depth:o-1,id:s,level:o,parent:e||""},d=0,h=0,c,p;"function"==typeof a&&a(l,n);e=(r[s]||[]).map(e=>{var t=k(e.id,s,o+1,e,r,n),i=e.start||NaN,e=!0===e.milestone?i:e.end||NaN;return c=!u(c)||ip?e:p,d=d+1+t.descendants,h=Math.max(t.height+1,h),t});return t&&(t.start=g(t.start,c),t.end=g(t.end,p)),f(l,{children:e,descendants:d,height:h}),"function"==typeof i&&i(l,n),l}return{getNode:k,getTree:function(e,t){return k("",null,1,null,function(){let o=[],i=e.reduce((e,t)=>{var{parent:i="",id:s}=t;return void 0===e[i]&&(e[i]=[]),e[i].push(t),s&&o.push(s),e},{});return Object.keys(i).forEach(e=>{var t;""!==e&&-1===o.indexOf(e)&&(t=i[e].map(function(e){let{...t}=e;return t}),i[""].push(...t),delete i[e])}),i}(),t)}}}),t(e,"Core/Axis/TreeGrid/TreeGridTick.js",[e["Core/Utilities.js"]],function(e){let{addEvent:C,removeEvent:O,isObject:B,isNumber:I,pick:N,wrap:i}=e;function s(){this.treeGrid||(this.treeGrid=new t(this))}function o(e,t,i,s,o,r,n,a,l){let d=N(this.options&&this.options.labels,r),h=this.pos,c=this.axis,p="treegrid"===c.options.type,f=e.apply(this,[t,i,s,o,d,n,a,l]);return p&&({width:r=0,padding:e=c.linkedParent?0:5}=d&&B(d.symbol,!0)?d.symbol:{},t=d&&I(d.indentation)?d.indentation:0,o=(s=(i=c.treeGrid.mapOfPosToGridNode)&&i[h])&&s.depth||1,f.x+=r+2*e+(o-1)*t),f}function r(p){let{pos:e,axis:t,label:f,treeGrid:i,options:s}=this,o=i?.labelIcon,r=f?.element,{treeGrid:n,options:a,chart:l,tickPositions:d}=t,h=n.mapOfPosToGridNode,c=N(s?.labels,a?.labels),u=c&&B(c.symbol,!0)?c.symbol:{},g=h&&h[e],{descendants:k,depth:m}=g||{},x=g&&k&&0{e&&!e.attachedTreeGridEvents&&(C(e.element,"mouseover",function(){f.addClass("highcharts-treegrid-node-active"),f.renderer.styledMode||f.css({textDecoration:"underline"})}),C(e.element,"mouseout",function(){var e=f,t=c;t=B(t.style)?t.style:{},e.removeClass("highcharts-treegrid-node-active"),e.renderer.styledMode||e.css({textDecoration:t.textDecoration||"none"})}),C(e.element,"click",function(){i.toggleCollapse()}),e.attachedTreeGridEvents=!0)})}else o&&(O(r),f?.css({cursor:"default"}),o.destroy())}class t{static compose(e){let t=e.prototype;t.toggleCollapse||(C(e,"init",s),i(t,"getLabelPosition",o),i(t,"renderLabel",r),t.collapse=function(e){this.treeGrid.collapse(e)},t.expand=function(e){this.treeGrid.expand(e)},t.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=t.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.collapse(o),s.setBreaks(o,N(e,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let{pos:t,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;var n;o&&r&&(n=r[t],n=s.expand(n),o.setBreaks(n,N(e,!0)))}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=t.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.toggleCollapse(o),s.setBreaks(o,N(e,!0)))}}return class{static compose(e){let t=e.prototype;t.toggleCollapse||(C(e,"init",s),i(t,"getLabelPosition",o),i(t,"renderLabel",r),t.collapse=function(e){this.treeGrid.collapse(e)},t.expand=function(e){this.treeGrid.expand(e)},t.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=t.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.collapse(o),s.setBreaks(o,N(e,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let{pos:t,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;var n;o&&r&&(n=r[t],n=s.expand(n),o.setBreaks(n,N(e,!0)))}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var o;s&&i.treeGrid.mapOfPosToGridNode&&(o=t.pos,o=i.treeGrid.mapOfPosToGridNode[o],o=i.treeGrid.toggleCollapse(o),s.setBreaks(o,N(e,!0)))}}}),t(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(x,e){let{extend:p,isArray:l,isNumber:d,isObject:h,merge:c,pick:b,relativeLength:o}=e;return{getColor:function(e,t){let i,s,o,r,n,a,l=t.index,d=t.mapOptionsToLevel,h=t.parentColor,c=t.parentColorIndex,p=t.series,f=t.colors,u=t.siblings,g=p.points,k=p.chart.options.chart;return e&&(i=g[e.i],s=d[e.level]||{},i&&s.colorByPoint&&(r=i.index%(f?f.length:k.colorCount),o=f&&f[r]),p.chart.styledMode||(n=b(i&&i.options.color,s&&s.color,o,h&&(e=h,(m=s&&s.colorVariation)&&"brightness"===m.key&&l&&u?x.parse(e).brighten(m.to*(l/u)).get():e),p.color)),a=b(i&&i.options.colorIndex,s&&s.colorIndex,r,c,t.colorIndex)),{color:n,colorIndex:a};var m},getLevelOptions:function(e){let r,t,i,n,s,o,a={};if(h(e))for(n=d(e.from)?e.from:1,o=e.levels,t={},r=h(e.defaults)?e.defaults:{},l(o)&&(t=o.reduce((e,t)=>{let i,s,o;return h(t)&&d(t.level)&&(s=b((o=c({},t)).levelIsConstant,r.levelIsConstant),delete o.levelIsConstant,delete o.level,h(e[i=t.level+(s?0:n-1)])?c(!0,e[i],o):e[i]=o),e},{})),s=d(e.to)?e.to:1,i=0;i<=s;i++)a[i]=c({},r,h(t[i])?t[i]:{});return a},getNodeWidth:function(e,t){var{chart:e,options:i}=e,{nodeDistance:i=0,nodeWidth:s=0}=i,{plotSizeX:e=1}=e;if("auto"!==s)return o(s,e);if("string"==typeof i&&/%$/.test(i))return e/(t+parseFloat(i)/100*(t-1));s=Number(i);return(e+s)/(t||1)-s},setTreeValues:function s(o,r){let e=r.before,t=r.idRoot,i=r.mapIdToNode[t],n=!1!==r.levelIsConstant,a=r.points[o.i],l=a&&a.options||{},d=[],h=0;o.levelDynamic=o.level-(n?0:i.level),o.name=b(a&&a.name,""),o.visible=t===o.id||!0===r.visible,(o="function"==typeof e?e(o,r):o).children.forEach((e,t)=>{var i=p({},r);p(i,{index:t,siblings:o.children.length,visible:o.visible}),e=s(e,i),d.push(e),e.visible&&(h+=e.val)});var c=b(l.value,h);return o.visible=0<=c&&(0t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),l(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=k({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}},uniqueNames:!1},i,{reversed:!0})),e.apply(o,[t,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function A(e){let t=this.options,i="number"==typeof t.linkedTo?this.chart[this.coll]?.[t.linkedTo]:void 0;var s;"treegrid"===t.type?(this.min=m(this.userMin,t.min,this.dataMin),this.max=m(this.userMax,t.max,this.dataMax),c(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i&&(s=i.getExtremes(),this.min=m(s.min,s.dataMin),this.max=m(s.max,s.dataMax),this.tickPositions=i.tickPositions),this.linkedParent=i):e.apply(this,Array.prototype.slice.call(arguments,1))}function T(e){let i=this;"treegrid"===i.options.type&&i.visible&&i.tickPositions.forEach(function(e){let t=i.ticks[e];t.label&&t.label.attachedTreeGridEvents&&(s(t.label.element),t.label.attachedTreeGridEvents=!1)}),e.apply(i,Array.prototype.slice.call(arguments,1))}class C{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),x(e,"generateTick",G),x(e,"init",P),x(e,"setTickInterval",A),x(e,"redraw",T),e.utils={getNode:n.getNode},d=d||s}return r.compose(t,e,s),o.compose(t,i),a.compose(s),t}constructor(e){this.axis=e}setCollapsedStatus(o){let e=this.axis,r=e.chart;e.series.forEach(function(i){var s=i.options.data;if(o.id&&s){let e=r.get(o.id),t=s[i.data.indexOf(e)];e&&t&&(e.collapsed=o.collapsed,t.collapsed=o.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return t.to===s.to&&t.from===s.from||e.push(t),e},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,o=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(e,t){t=+t;return!(t>=s&&t<=o)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(t)||e.push(t),e},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}return class{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),x(e,"generateTick",G),x(e,"init",P),x(e,"setTickInterval",A),x(e,"redraw",T),e.utils={getNode:n.getNode},d=d||s}return r.compose(t,e,s),o.compose(t,i),a.compose(s),t}constructor(e){this.axis=e}setCollapsedStatus(o){let e=this.axis,r=e.chart;e.series.forEach(function(i){var s=i.options.data;if(o.id&&s){let e=r.get(o.id),t=s[i.data.indexOf(e)];e&&t&&(e.collapsed=o.collapsed,t.collapsed=o.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return t.to===s.to&&t.from===s.from||e.push(t),e},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,o=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(e,t){return!((t=+t)>=s&&t<=o)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(t)||e.push(t),e},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}}),t(e,"masters/modules/treegrid.src.js",[e["Core/Globals.js"],e["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(e,t){return t.compose(e.Axis,e.Chart,e.Series,e.Tick),e})}); \ No newline at end of file +!function(t){"object"==typeof module&&module.exports?module.exports=t.default=t:"function"==typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(r){"use strict";var e=r?r._modules:{};function t(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&r.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}t(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(l,e){var t;let{addEvent:s,find:i,fireEvent:f,isArray:r,isNumber:u,pick:g}=e;{function o(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function n(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function a(){let s=this.brokenAxis;if(s?.hasBreaks){let t=this.tickPositions,e=this.tickPositions.info,i=[];for(let e=0;et.to||o>t.from&&nt.from&&nt.from&&n>t.to&&no&&i>=this.basePointRange&&(o=i);n--;){var a;t&&!1!==t.visible||(t=s[n+1]),e=s[n],!1!==t.visible&&!1!==e.visible&&(t.x-e.x>o&&(a=(e.x+t.x)/2,s.splice(n+1,0,{isNull:!0,x:a}),r.stacking&&this.options.stacking&&((r.stacking.stacks[this.stackKey][a]=new l(r,r.options.stackLabels,!1,a,this.stack)).total=0)),t=e)}}return this.getGraphPath(s)}(e=t=t||{}).compose=function(t,i){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),s(t,"init",d),s(t,"afterInit",o),s(t,"afterSetTickPositions",a),s(t,"afterSetOptions",n);let e=i.prototype;e.drawBreaks=p,e.gappedPath=k,s(i,"afterGeneratePoints",h),s(i,"afterRender",c)}return t};class m{static isInBreak(e,t){var i=e.repeat||1/0,s=e.from,r=e.to-e.from,s=s<=t?(t-s)%i:i-(s-t)%i;return e.inclusive?s<=r:s=s);o++)(r.to=e)break;if(m.isInBreak(r,e)){s-=e-r.from;break}}return s}constructor(e){this.hasBreaks=!1,this.axis=e}findBreakAt(t,e){return i(e,function(e){return e.froma;)d-=n;for(;d{e.getOffset()})}i&&e.apply(this)}function k(k){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:t,horiz:i,left:s,offset:r,opposite:o,options:n,top:a,width:l}=this,d=this.tickSize(),h=e&&e.getBBox().width,c=n.title.x,p=n.title.y,f=m(n.title.margin,i?5:10),u=e?this.chart.renderer.fontMetrics(e).f:0,g=(i?a+t:s)+(i?1:-1)*(o?-1:1)*(d?d[0]/2:0)+(this.side===x.bottom?u:0);k.titlePosition.x=i?s-(h||0)/2-f+c:g+(o?l:0)+r+c,k.titlePosition.y=i?g-(o?t:0)+(o?u:-u)/2+r+p:a-f+p}}function v(){var{chart:r,options:{grid:o={}},userOptions:n}=this;if(o.enabled){var t=this;let e=t.options;e.labels.align=m(e.labels.align,"center"),t.categories||(e.showLastLabel=!1),t.labelRotation=0,e.labels.rotation=0,e.minTickInterval=1}if(o.columns){let i=this.grid.columns=[],s=this.grid.columnIndex=0;for(;++se.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let e,t;for(var a=this.tickmarkOffset,l=this.tickPositions[this.tickPositions.length-1],s=this.tickPositions[0];(e=this.hiddenLabels.pop())&&e.element;)e.show();for(;(t=this.hiddenMarks.pop())&&t.element;)t.show();(e=this.ticks[s].label)&&(a{e.options.pointRange=0}),e&&t.dateTimeLabelFormats&&t.labels&&!r(s.align)&&(!1===t.dateTimeLabelFormats[e.unitName].range||1e.setScale())}function C(e){var t,{horiz:i,maxLabelDimensions:s,options:{grid:r={}}}=this;r.enabled&&s&&(t=2*this.options.labels.distance,i=i?r.cellHeight||t+s.height:t+s.width,o(e.tickSize)?e.tickSize[0]=i:e.tickSize=[i,0])}function O(){this.axes.forEach(e=>{(e.grid&&e.grid.columns||[]).forEach(e=>{e.setAxisSize(),e.setAxisTranslation()})})}function B(t){let e=this["grid"];(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function I(e){let t=e.userOptions||{},i=t.grid||{};i.enabled&&r(i.borderColor)&&(t.tickColor=t.lineColor=i.borderColor),this.grid||(this.grid=new S(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function N(r){let o=this.label,n=this.axis,a=n.reversed,l=n.chart,e=n.options.grid||{},d=n.options.labels,h=d.align,c=x[n.side],t=r.tickmarkOffset,i=n.tickPositions,p=this.pos-t,f=b(i[r.index+1])?i[r.index+1]-t:(n.max||0)+t,s=n.tickSize("tick"),u=s?s[0]:0,g=s?s[1]/2:0;if(!0===e.enabled){let e,t,i,s;var k,m;"top"===c?t=(e=n.top+n.offset)-u:"bottom"===c?e=(t=l.chartHeight-n.bottom+n.offset)+u:(e=n.top+n.len-(n.translate(a?f:p)||0),t=n.top+n.len-(n.translate(a?p:f)||0)),"right"===c?s=(i=l.chartWidth-n.right+n.offset)+u:"left"===c?i=(s=n.left+n.offset)-u:(i=Math.round(n.left+(n.translate(a?f:p)||0))-g,s=Math.min(Math.round(n.left+(n.translate(a?p:f)||0))-g,n.left+n.len)),this.slotWidth=s-i,r.pos.x="left"===h?i:"right"===h?s:i+(s-i)/2,r.pos.y=t+(e-t)/2,o&&(k=l.renderer.fontMetrics(o),m=o.getBBox().height,d.useHTML?r.pos.y+=k.b+-m/2:(m=Math.round(m/k.h),r.pos.y+=(k.b-(k.h-k.f))/2+-((m-1)*k.h)/2)),r.pos.x+=n.horiz&&d.x||0}}function E(n){let{axis:a,value:l}=n;if(a.options.grid&&a.options.grid.enabled){let e,t=a.tickPositions,i=(a.linkedParent||a).series[0],s=l===t[0],r=l===t[t.length-1],o=i&&h(i.options.data,function(e){return e[a.isXAxis?"x":"y"]===l});o&&i.is("gantt")&&(e=c(o),d.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(e)),n.isFirst=s,n.isLast=r,n.point=e}}function w(){let e=this.options,t=e.grid||{},i=this.categories,s=this.tickPositions,r=s[0],o=s[1],n=s[s.length-1],a=s[s.length-2],l=this.linkedParent&&this.linkedParent.min,d=this.linkedParent&&this.linkedParent.max,h=l||this.min,c=d||this.max,p=this.tickInterval,f=b(h)&&r+p<=h&&h{e.side!==i.side||e.options.isInternal||(n=t,e===r&&(o=t))}),n===o&&(!b(t)||s.length===t))}renderBorder(e){let t=this.axis,i=t.chart.renderer,s=t.options,r=i.path(e).addClass("highcharts-axis-line").add(t.axisGroup);return i.styledMode||r.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),r}}return e.E=function(e){return this.dateFormat("%a",e,!0).charAt(0)},e.W=function(e){let t=this,i=new this.Date(e),s=(["Hours","Milliseconds","Minutes","Seconds"].forEach(function(e){t.set(e,i,0)}),(this.get("Day",i)+6)%7),r=new this.Date(i.valueOf()),o=(this.set("Date",r,this.get("Date",i)-s+3),new this.Date(this.get("FullYear",r),0,1));return 4!==this.get("Day",o)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",o))%7)),(1+Math.floor((r.valueOf()-o.valueOf())/6048e5)).toString()},{compose:function(e,t,i){return e.keepProps.includes("grid")||(e.keepProps.push("grid"),e.prototype.getMaxLabelDimensions=u,n(e.prototype,"unsquish",L),n(e.prototype,"getOffset",g),s(e,"init",I),s(e,"afterGetTitlePosition",k),s(e,"afterInit",v),s(e,"afterRender",y),s(e,"afterSetAxisTranslation",G),s(e,"afterSetOptions",P),s(e,"afterSetOptions",A),s(e,"afterSetScale",T),s(e,"afterTickSize",C),s(e,"trimTicks",w),s(e,"destroy",B),s(t,"afterSetChartSize",O),s(i,"afterGetLabelPosition",N),s(i,"labelFormat",E)),e}}}),t(e,"Gantt/Tree.js",[e["Core/Utilities.js"]],function(e){let{extend:f,isNumber:u,pick:g}=e;function k(s,e,r,t,o,n){let i=n&&n.after,a=n&&n.before,l={data:t,depth:r-1,id:s,level:r,parent:e||""},d=0,h=0,c,p;"function"==typeof a&&a(l,n);e=(o[s]||[]).map(e=>{var t=k(e.id,s,r+1,e,o,n),i=e.start||NaN,e=!0===e.milestone?i:e.end||NaN;return c=!u(c)||ip?e:p,d=d+1+t.descendants,h=Math.max(t.height+1,h),t});return t&&(t.start=g(t.start,c),t.end=g(t.end,p)),f(l,{children:e,descendants:d,height:h}),"function"==typeof i&&i(l,n),l}return{getNode:k,getTree:function(e,t){return k("",null,1,null,function(){let r=[],i=e.reduce((e,t)=>{var{parent:i="",id:s}=t;return void 0===e[i]&&(e[i]=[]),e[i].push(t),s&&r.push(s),e},{});return Object.keys(i).forEach(e=>{var t;""!==e&&-1===r.indexOf(e)&&(t=i[e].map(function(e){let{...t}=e;return t}),i[""].push(...t),delete i[e])}),i}(),t)}}}),t(e,"Core/Axis/TreeGrid/TreeGridTick.js",[e["Core/Utilities.js"]],function(e){let{addEvent:C,removeEvent:O,isObject:B,isNumber:I,pick:N,wrap:i}=e;function s(){this.treeGrid||(this.treeGrid=new t(this))}function r(e,t,i,s,r,o,n,a,l){let d=N(this.options&&this.options.labels,o),h=this.pos,c=this.axis,p="treegrid"===c.type,f=e.apply(this,[t,i,s,r,d,n,a,l]);return p&&({width:o=0,padding:e=c.linkedParent?0:5}=d&&B(d.symbol,!0)?d.symbol:{},t=d&&I(d.indentation)?d.indentation:0,r=(s=(i=c.treeGrid.mapOfPosToGridNode)&&i[h])&&s.depth||1,f.x+=o+2*e+(r-1)*t),f}function o(p){let{pos:e,axis:t,label:f,treeGrid:i,options:s}=this,r=i?.labelIcon,o=f?.element,{treeGrid:n,options:a,chart:l,tickPositions:d}=t,h=n.mapOfPosToGridNode,c=N(s?.labels,a?.labels),u=c&&B(c.symbol,!0)?c.symbol:{},g=h&&h[e],{descendants:k,depth:m}=g||{},x=g&&k&&0{e&&!e.attachedTreeGridEvents&&(C(e.element,"mouseover",function(){f.addClass("highcharts-treegrid-node-active"),f.renderer.styledMode||f.css({textDecoration:"underline"})}),C(e.element,"mouseout",function(){var e=f,t=c;t=B(t.style)?t.style:{},e.removeClass("highcharts-treegrid-node-active"),e.renderer.styledMode||e.css({textDecoration:t.textDecoration||"none"})}),C(e.element,"click",function(){i.toggleCollapse()}),e.attachedTreeGridEvents=!0)})}else r&&(O(o),f?.css({cursor:"default"}),r.destroy())}class t{static compose(e){let t=e.prototype;t.toggleCollapse||(C(e,"init",s),i(t,"getLabelPosition",r),i(t,"renderLabel",o),t.collapse=function(e){this.treeGrid.collapse(e)},t.expand=function(e){this.treeGrid.expand(e)},t.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=t.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.collapse(r),s.setBreaks(r,N(e,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let{pos:t,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;var n;r&&o&&(n=o[t],n=s.expand(n),r.setBreaks(n,N(e,!0)))}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=t.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.toggleCollapse(r),s.setBreaks(r,N(e,!0)))}}return class{static compose(e){let t=e.prototype;t.toggleCollapse||(C(e,"init",s),i(t,"getLabelPosition",r),i(t,"renderLabel",o),t.collapse=function(e){this.treeGrid.collapse(e)},t.expand=function(e){this.treeGrid.expand(e)},t.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=t.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.collapse(r),s.setBreaks(r,N(e,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let{pos:t,axis:i}=this.tick,{treeGrid:s,brokenAxis:r}=i,o=s.mapOfPosToGridNode;var n;r&&o&&(n=o[t],n=s.expand(n),r.setBreaks(n,N(e,!0)))}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;var r;s&&i.treeGrid.mapOfPosToGridNode&&(r=t.pos,r=i.treeGrid.mapOfPosToGridNode[r],r=i.treeGrid.toggleCollapse(r),s.setBreaks(r,N(e,!0)))}}}),t(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(x,e){let{extend:p,isArray:l,isNumber:d,isObject:h,merge:c,pick:b,relativeLength:r}=e;return{getColor:function(e,t){let i,s,r,o,n,a,l=t.index,d=t.mapOptionsToLevel,h=t.parentColor,c=t.parentColorIndex,p=t.series,f=t.colors,u=t.siblings,g=p.points,k=p.chart.options.chart;return e&&(i=g[e.i],s=d[e.level]||{},i&&s.colorByPoint&&(o=i.index%(f?f.length:k.colorCount),r=f&&f[o]),p.chart.styledMode||(n=b(i&&i.options.color,s&&s.color,r,h&&(e=h,(m=s&&s.colorVariation)&&"brightness"===m.key&&l&&u?x.parse(e).brighten(m.to*(l/u)).get():e),p.color)),a=b(i&&i.options.colorIndex,s&&s.colorIndex,o,c,t.colorIndex)),{color:n,colorIndex:a};var m},getLevelOptions:function(e){let o,t,i,n,s,r,a={};if(h(e))for(n=d(e.from)?e.from:1,r=e.levels,t={},o=h(e.defaults)?e.defaults:{},l(r)&&(t=r.reduce((e,t)=>{let i,s,r;return h(t)&&d(t.level)&&(s=b((r=c({},t)).levelIsConstant,o.levelIsConstant),delete r.levelIsConstant,delete r.level,h(e[i=t.level+(s?0:n-1)])?c(!0,e[i],r):e[i]=r),e},{})),s=d(e.to)?e.to:1,i=0;i<=s;i++)a[i]=c({},o,h(t[i])?t[i]:{});return a},getNodeWidth:function(e,t){var{chart:e,options:i}=e,{nodeDistance:i=0,nodeWidth:s=0}=i,{plotSizeX:e=1}=e;if("auto"!==s)return r(s,e);if("string"==typeof i&&/%$/.test(i))return e/(t+parseFloat(i)/100*(t-1));s=Number(i);return(e+s)/(t||1)-s},setTreeValues:function s(r,o){let e=o.before,t=o.idRoot,i=o.mapIdToNode[t],n=!1!==o.levelIsConstant,a=o.points[r.i],l=a&&a.options||{},d=[],h=0;r.levelDynamic=r.level-(n?0:i.level),r.name=b(a&&a.name,""),r.visible=t===r.id||!0===o.visible,(r="function"==typeof e?e(r,o):r).children.forEach((e,t)=>{var i=p({},o);p(i,{index:t,siblings:r.children.length,visible:r.visible}),e=s(e,i),d.push(e),e.visible&&(h+=e.val)});var c=b(l.value,h);return r.visible=0<=c&&(0"treegrid"===e.type).forEach(function(e){let t=e.options||{},i=t.labels,s=e.uniqueNames,r=t.max,o=!e.treeGrid.mapOfPosToGridNode||e.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty}),n=0,a,l;if(o){if(a=e.series.reduce(function(t,i){return i.visible&&((i.options.data||[]).forEach(function(e){i.options.keys&&i.options.keys.length&&(e=i.pointClass.prototype.optionsToObject.call({series:i},e),i.pointClass.setGanttPointAliases(e)),u(e,!0)&&(e.seriesIndex=n,t.push(e))}),!0===s&&n++),t},[]),r&&a.lengtht.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),l(r,"afterBreaks",function(){"yAxis"===r.coll&&!r.staticScale&&r.chart.options.chart.height&&(r.isDirty=!0)}),i=k({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}},uniqueNames:!1},i,{reversed:!0})),e.apply(r,[t,i,s]),o&&(r.hasNames=!0,r.options.showLastLabel=!0)}function A(e){let t=this.options,i="number"==typeof t.linkedTo?this.chart[this.coll]?.[t.linkedTo]:void 0;var s;"treegrid"===this.type?(this.min=m(this.userMin,t.min,this.dataMin),this.max=m(this.userMax,t.max,this.dataMax),c(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i&&(s=i.getExtremes(),this.min=m(s.min,s.dataMin),this.max=m(s.max,s.dataMax),this.tickPositions=i.tickPositions),this.linkedParent=i):e.apply(this,Array.prototype.slice.call(arguments,1))}function T(e){let i=this;"treegrid"===this.type&&i.visible&&i.tickPositions.forEach(function(e){let t=i.ticks[e];t.label&&t.label.attachedTreeGridEvents&&(s(t.label.element),t.label.attachedTreeGridEvents=!1)}),e.apply(i,Array.prototype.slice.call(arguments,1))}class C{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),x(e,"generateTick",G),x(e,"init",P),x(e,"setTickInterval",A),x(e,"redraw",T),e.utils={getNode:n.getNode},d=d||s}return o.compose(t,e,s),r.compose(t,i),a.compose(s),t}constructor(e){this.axis=e}setCollapsedStatus(r){let e=this.axis,o=e.chart;e.series.forEach(function(i){var s=i.options.data;if(r.id&&s){let e=o.get(r.id),t=s[i.data.indexOf(e)];e&&t&&(e.collapsed=r.collapsed,t.collapsed=r.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return t.to===s.to&&t.from===s.from||e.push(t),e},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,r=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(e,t){t=+t;return!(t>=s&&t<=r)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(t)||e.push(t),e},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}return class{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),x(e,"generateTick",G),x(e,"init",P),x(e,"setTickInterval",A),x(e,"redraw",T),e.utils={getNode:n.getNode},d=d||s}return o.compose(t,e,s),r.compose(t,i),a.compose(s),t}constructor(e){this.axis=e}setCollapsedStatus(r){let e=this.axis,o=e.chart;e.series.forEach(function(i){var s=i.options.data;if(r.id&&s){let e=o.get(r.id),t=s[i.data.indexOf(e)];e&&t&&(e.collapsed=r.collapsed,t.collapsed=r.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return t.to===s.to&&t.from===s.from||e.push(t),e},[])}getTickPositions(){let i=this.axis,s=Math.floor(i.min/i.tickInterval)*i.tickInterval,r=Math.ceil(i.max/i.tickInterval)*i.tickInterval;return Object.keys(i.treeGrid.mapOfPosToGridNode||{}).reduce(function(e,t){return!((t=+t)>=s&&t<=r)||i.brokenAxis&&i.brokenAxis.isInAnyBreak(t)||e.push(t),e},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=b(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}}),t(e,"masters/modules/treegrid.src.js",[e["Core/Globals.js"],e["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(e,t){return t.compose(e.Axis,e.Chart,e.Series,e.Tick),e})}); \ No newline at end of file diff --git a/assets/js/external/highcharts/standalone-navigator.min.js b/assets/js/external/highcharts/standalone-navigator.min.js index 5395d01..f271b2f 100644 --- a/assets/js/external/highcharts/standalone-navigator.min.js +++ b/assets/js/external/highcharts/standalone-navigator.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define(function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(r){"use strict";var t={};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),r&&"function"==typeof CustomEvent&&r.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}return e(t,"Core/Globals.js",[],function(){var t,i=t={SVG_NS:"http://www.w3.org/2000/svg",product:"Highcharts",version:"11.4.7"};return i.win=void 0!==r?r:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&parseInt(i.userAgent.split("Firefox/")[1],10)<4,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;var e;return i.isMS||(e=Object.defineProperty({},"passive",{get:function(){t=!0}}),i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))),t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,t}),e(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){let i,{charts:e,doc:a,win:h}=n;function l(t,e,i,s){var r=e?"Highcharts error":"Highcharts warning";let o=f(t=32===t?r+": Deprecated member":t),a=o?r+` #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let i="";o&&(a+="?"),M(s,function(t,e){i+=` - - ${e}: `+t,o&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=i}w(n,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);h.console&&-1===l.messages.indexOf(a)&&console.warn(a)}),l.messages.push(a)}function d(t,e){return parseInt(t,e||10)}function c(t){return"string"==typeof t}function p(t){t=Object.prototype.toString.call(t);return"[object Array]"===t||"[object Array Iterator]"===t}function g(t,e){return!(!t||"object"!=typeof t||e&&p(t))}function o(t){return g(t)&&"number"==typeof t.nodeType}function u(t){var e=t&&t.constructor;return!(!g(t,!0)||o(t)||!e||!e.name||"Object"===e.name)}function f(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&-1/0{m(t)?i.setAttribute(e,t):r?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?o(e,t):M(t,o),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function v(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,o)&&o.preventDefault()})}t&&!o.defaultPrevented&&t.call(s,o)}M({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var r=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t,o=(Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={}),r.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(s),o[e].sort((t,e)=>t.order-e.order),function(){C(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:b,defined:m,destroyObjectProperties:function(i,s,r){M(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&r||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,r,o,a){let n=i?r:t;M(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let o=h.getComputedStyle(s,void 0);return o&&(r=o.getPropertyValue(t),v(e,"opacity"!==t)&&(r=d(r))),r},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return k(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:M,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:v,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:C,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var r=t.length;for(e=0;e{try{var e="shortOffset,"+(o.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:o.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),r=-36e5*(i+s/60);if(n(r))return r}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return g.defaultOptions.lang&&g.defaultOptions.lang.invalidDate||"";i=b(i,"%Y-%m-%d %H:%M:%S");let r=this,e=new this.Date(s),o=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=g.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return u(v({a:p?p[a]:c[a].substr(0,3),A:c[a],d:f(n),e:f(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:f(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:f(o),k:o,I:f(o%12||12),l:o%12||12,M:f(this.get("Minutes",e)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:f(this.get("Seconds",e)),L:f(Math.floor(s%1e3),3)},g.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(r,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=r(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let r,o,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),g=t.unitRange,u=t.count||1;if(s=b(s,1),y(e)){h.set("Milliseconds",p,g>=S.second?0:u*Math.floor(h.get("Milliseconds",p)/u)),g>=S.second&&h.set("Seconds",p,g>=S.minute?0:u*Math.floor(h.get("Seconds",p)/u)),g>=S.minute&&h.set("Minutes",p,g>=S.hour?0:u*Math.floor(h.get("Minutes",p)/u)),g>=S.hour&&h.set("Hours",p,g>=S.day?0:u*Math.floor(h.get("Hours",p)/u)),g>=S.day&&h.set("Date",p,g>=S.month?1:Math.max(1,u*Math.floor(h.get("Date",p)/u))),g>=S.month&&(h.set("Month",p,g>=S.year?0:u*Math.floor(h.get("Month",p)/u)),o=h.get("FullYear",p)),g>=S.year&&(o-=o%u,h.set("FullYear",p,o)),g===S.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*S.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(r=1;tt){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=e["isTouchDevice"],{fireEvent:a,merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
    ',pointFormat:' {series.name}: {point.y}
    ',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:r,merge:o,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,r,o=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(o&&o!==l)return new o(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(r=l.parsers[s]).regex.exec(t))&&(i=r.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&r(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=o(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(r(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(o),!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,g=e&&e.slice();if(!g||h)return[o,o];function u(t,e){for(;t.length{t=h(t.options.animation);o=p(e)&&n(e.defer)?s.defer:Math.max(o,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(o=0),{defer:Math.max(0,o-a),duration:Math.min(o,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:f}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:r,css:g,error:u,isFunction:i,isString:o,objectEach:f,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(s){return f(s,(e,t)=>{let i=!0;-1===m.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?o(e)&&m.allowedReferences.some(t=>0===e.indexOf(t)):i)||(u(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),o(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let r;var o=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=m.bypassHTMLFiltering;if(o)if("#text"===o)r=a;else if(-1!==m.allowedTags.indexOf(o)||n){let t="svg"!==o&&l.namespaceURI||c,e=d.doc.createElementNS(t,o),i=s.attributes||{};f(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:m.filterUserAttributes(i)),s.style&&g(e,s.style),a&&e.appendChild(a),h(s.children||[],e),r=e}else u(33,!1,void 0,{"Invalid tagName in config":o});r&&l.appendChild(r),e=r}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=r("div");t.innerHTML=e,i={body:t}}let o=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var r=t.attributes;if(r){let e={};[].forEach.call(r,t=>{"data-style"===t.name?s.style=m.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{o(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>o(t,s)),s}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=h,m.bypassHTMLFiltering=!1,m}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:v,defaultTime:b}=t,{extend:r,getNestedProperty:S,isArray:o,isNumber:g,isObject:a,pick:k,pInt:u}=e,M={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!o(i)&&i.map((t,e)=>C(s.body,r(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function C(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,g=/\.(\d)/,u=v.lang,f=c&&c.time||b,m=c&&c.numberFormatter||w,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:S(t,d))},r,o,a=0,n;for(;null!==(r=e.exec(t));){var h,l=i.exec(r[1]),y=(l&&(r=l,n=!0),o&&o.isBlock||(o={ctx:d,expression:r[1],find:r[0],isBlock:"#"===r[1].charAt(0),start:r.index,startInner:r.index+r[0].length,length:r[0].length}),r[1].split(" ")[0].replace("#","")),y=(M[y]&&(o.isBlock&&y===o.fn&&a++,o.fn||(o.fn=y)),"else"===r[1]);if(o.isBlock&&o.fn&&(r[1]==="/"+o.fn||y)?a?y||a--:(h=o.startInner,h=t.substr(h,r.index-h),void 0===o.body?(o.body=h,o.startInner=r.index+r[0].length):o.elseBody=h,o.find+=h+r[0],y||(s.push(o),o=void 0)):o.isBlock||s.push(o),l&&!o?.isBlock)break}return s.forEach(i=>{let s,r,{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(r=M[h].length;r--;)t.unshift(x(e[r+1]));s=M[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=C(s?o:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(g)||["","-1"])[1],10),null!==s&&(s=m(s,l,u.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,g,u=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(k(e,(t,e)=>(e.rank||0)-(t.rank||0)),g=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?g:h-1;g&&x>t;)f=e[c=Math.floor(p)],S(l,c)&&(x-=f.size),p+=g,y&&p>=e.length&&(g/=2,p=g);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(k(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:b(t.align,.5)}));u;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=v(m-f.size*f.align,0,s-f.size);for(c=e.length,u=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),u=!0)}return d.apply(o,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(o[c].pos=t.pos+e,void 0!==r&&Math.abs(o[c].pos-o[c].target)>r?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||s)-.1*s,o.reducedLen>.1*s&&i(o,s,r),!0):(e+=o[c].size,c++,!1)))}),k(o,a),o}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,m,i,e){let{animate:o,animObject:a,stop:d}=t,{deg2rad:I,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:r,attr:c,createElement:p,crisp:g,css:x,defined:y,erase:u,extend:v,fireEvent:b,isArray:S,isFunction:k,isObject:f,isString:M,merge:C,objectEach:w,pick:A,pInt:T,pushUnique:P,replaceNested:O,syncTimeout:L,uniqueKey:E}=e;class D{_defaultGetter(t){let e=A(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||M(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),A(i,l[p],l)),p=t.align,g=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(r+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(r),"bottom"===g?n=1:"middle"===g&&(n=2),n&&(o+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(A(e,this.renderer.globalAnimation,!0)),r=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),L(()=>{this.element&&o(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let r=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(r.style.fill)):t).split(" "),o=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"}),r.querySelector("textPath")||r),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(r.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let r=this["element"],o=D.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,r):(w(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==o.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,r)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=E()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),v(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,i=g(i,e),s=g(s,e);return v(t,{x:i,y:s,width:g(r,e)-i,height:g(o,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,l,d,c,p,g,u=[],f;b(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,l=t.stops,p=i.radialReference,S(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!y(a.gradientUnits)&&(n=a,a=C(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),w(a,function(t,e){"id"!==e&&u.push(e,t)}),w(l,function(t){u.push(t)}),h[u=u.join(",")])g=h[u].attr("id");else{a.id=g=E();let e=h[u]=s.createElement(o).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(r=m.parse(t[1])).get("rgb"),r.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}f="url("+s.url+"#"+g+")",i.setAttribute(e,f),i.gradient=u,t.toString=function(){return f}}})}css(t){let i=this.styles,s={},r=this.element,o,a=!i;if(i&&w(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?v(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),v(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let e=C(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(r,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*A(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,r="SPAN"===t.nodeName&&i.parentGroup||void 0,o,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,g=n.namespaceURI===this.SVG_NS,u=A(e,this.rotation,0),f=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",h.rootFontSize,f,u,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=o&&!t?c[o]:i)||i.polygon){if(g||h.forExport){try{r=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},k(r)&&r("none"),i=n.getBBox?v({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},k(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,g&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},`+Math.round(s)]||s);e={bBox:i=u?this.getRotatedBox(i,u):i};b(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===d||0[t-t*u,t*f]),C=i+d*(r-m)+b+M+c*y,w=C+m,A=w-o*y,T=A-m,P=s+c-d*x-S+k+c*v,O=P+x,L=O-o*v,E=L-x,D=Math.min(C,w,A,T),j=Math.min(P,O,L,E),B=Math.max(C,w,A,T)-D,R=Math.max(P,O,L,E)-j;return{x:D,y:j,width:B,height:R,polygon:[[C,P],[w,O],[A,L],[T,E]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},b(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=r(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(M(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=C(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;D.symbolCustomAttribs.forEach(function(t){i[t]=A(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=O(A(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+A(r,e.getAttribute("x"),0)+" "+A(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+A(a,1)+" "+A(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,g;if(y(t)?(o.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),g=(n=r.childNodes).length-1;0<=g&&!d;g--)c=!y(l=(h=n[g]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!g?(r.insertBefore(o,n[g]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(r.insertBefore(o,n[g+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:o,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,r,o,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:r+this.bBox.x-n,y:o+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!o(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);o(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:b,isNumber:d,pick:S}=t;function r(u,f,m,x,y){let v=[];if(y){let t=y.start||0,e=S(y.r,m),i=S(y.r,x||m),s=2e-4/(y.borderRadius?1:Math.max(e,1)),r=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=g(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),g(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",g(e,{dy:o,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:o}=e,a=this.renderer.styledMode;if("b"===o||"strong"===o?a?s.class="highcharts-strong":r.fontWeight="bold":"i"!==o&&"em"!==o||(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===o){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===o&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==o&&"a"!==o&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,o,a,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,o?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=o?1:0,g=(t||o||"").length,u=g;if(l.rotation=0,a+(h=s(r.textContent.length))>e){for(;p<=g;)u=Math.ceil((p+g)/2),o&&(n=i(o,u)),h=s(u,n&&n.length-1),p===g?p=g+1:h>e?g=u-1:p=u;0===g?r.textContent="":t&&g===t.length-1||(r.textContent=n||i(t||o,u))}o&&o.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return o(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,r,l,o,a,n){let h,v=t["defaultOptions"],{charts:f,deg2rad:d,doc:m,isFirefox:c,isMS:b,isWebKit:p,noop:g,SVG_NS:u,symbolSizes:x,win:S}=i,{addEvent:k,attr:M,createElement:C,crisp:w,css:A,defined:T,destroyObjectProperties:P,extend:O,isArray:L,isNumber:E,isObject:D,isString:I,merge:j,pick:B,pInt:z,replaceNested:N,uniqueKey:W}=n;class R{constructor(t,e,i,s,r,o,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),M(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&M(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.7")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){A(t,{left:0,top:0}),h=t.getBoundingClientRect(),A(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=k(S,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&m.getElementsByTagName("base").length&&(T(h)||(t=W(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body),A(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=m.elementFromPoint(6,6),h="hitme"===(e&&e.id),m.body.removeChild(t)),h))return N(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=O({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},o,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,g=0,u=(r=j(v.global.buttonTheme,r),c&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),f=r.style||{},m=(delete r.states,delete r.style,[y.filterUserAttributes(r)]),x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(j(m[0],y.filterUserAttributes(p[e+5]||u[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),k(d.element,b?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),k(d.element,b?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(m[t]),t=x[t],D(t)&&d.css(t))},d.attr(m[0]),c||(d.css(O({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=w(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=w(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return L(t)?e.d=t:D(t)&&O(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a,n=(D(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,r,o){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,O(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,M(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,o){function a(t){h.attr({href:e}),o.call(h,t)}let n={preserveAspectRatio:"none"},h=(E(t)&&(n.x=t),E(i)&&(n.y=i),E(s)&&(n.width=s),E(r)&&(n.height=r),this.createElement("image").attr(n));if(o){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;k(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let o,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),g=!p&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof i&&(a=u.call(this.symbols,i||0,s||0,e||0,r||0,d)),o=this.path(a),l.styledMode||o.attr("fill","none"),O(o,{symbolName:g||void 0,x:i,y:s,width:e,height:r}),d&&O(o,d);else if(p){n=t.match(c)[1];let e=o=this.image(n);e.imgwidth=B(d&&d.width,x[n]&&x[n].width),e.imgheight=B(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:o,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&r&&o&&a&&n?(l=Math.min(r/a,o/n),M(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((r||0)-a*l)/2,((o||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),C("img",{onload:function(){let t=f[l.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),T(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),o=t.getAttribute(s);for(let t=0,e;tt.align())}}return O(R.prototype,{Element:r,SVG_NS:u,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:g}),s.registerRendererType("svg",R,!0),R}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:v,createElement:h,defined:b,extend:o,pInt:l,pushUnique:r}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){r(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=l(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),o(this.styles,t),v(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:r,renderer:o,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,g={left:0,center:.5,right:1}[l],u=t.whiteSpace;if(v(r,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===r.tagName){let t=[a,l,r.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(m=this.textPxLength||(v(r,{width:"",whiteSpace:u||"nowrap"}),r.offsetWidth),((f=d||0)>this.oldTextWidth||f{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||r);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(o,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:o}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(o(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(M,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:C,defined:w,destroyObjectProperties:i,extend:A,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:O}=e;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,r=e.categories,o=e.logarithmic,a=e.names,n=t.pos,h=O(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,g=l.info,u=t.label,f,m,x,y=this.parameters.category||(r?O(r[n],a[n],n):n),v=(o&&P(y)&&(y=C(o.lin2log(y))),e.dateTime&&(g?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&g.higherRanks[n]||g.unitName])).main:P(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:g,value:y}),b=(T(this,"labelFormat",v),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),M.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),S=b.call(v,v),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;xu||e.autoRotation&&(h.styles||{}).width)&&(m=u)),m&&(this.shortenLabel?this.shortenLabel():(g.width=Math.floor(m)+"px",(i.style||{}).textOverflow||(g.textOverflow="ellipsis"),h.css(g)))}moveLabel(e,t){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===e?(i.movedLabel=s,o=!0,delete i.label):n(r.ticks,function(t){o||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,o=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),o||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,r=s.horiz,o=this.pos,a=O(this.tickmarkOffset,s.tickmarkOffset),o=this.getPosition(r,o,a,e),a=o.x,n=o.y,h=s.pos,l=h+s.len,r=r?a:n,a=(!s.chart.polar&&this.isNew&&(C(r)w(e,void 0,void 0,B(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);f(g,{xAxis:o,yAxis:C(o,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=B(e.opposite,this.opposite),this.side=B(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),r=i.labels,o=i.type,e=(this.userOptions=e,this.minPixelPadding=0,this.reversed=B(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===o||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=L(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,B(i.crosshair,z(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!L(this.reversed)&&(this.reversed=!0),this.labelRotation=j(r.rotation)?r.rotation:void 0,n(this,i),D(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=C(e,g[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=j(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=g.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(r)p=""+this.value;else if(o)p=s.dateFormat(o,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;D(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(o=>{if(o.reserveSpace()){let t=o.options,e,i=t.threshold,s,r;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=o.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),j(i)&&j(s)&&j(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,B(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+r,B(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=m([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,-1===(s=L(s)?s:this.options.uniqueNames&&i?e?i.indexOf(t.name):B(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let r=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(r.max=Math.max(r.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=r.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,r=!!s.categories,o=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(o||r||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=r?1:o?B(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!r||(t=t.is("xrange")?!o:o,h=Math.max(h,t&&M(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&r?1:t),o&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,D(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return j(t)&&j(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=j(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:g,linkedTo:u,softMax:f,softMin:m}=h,x=j(u)&&i[this.coll]?.[u],y=h.tickPixelInterval,v=h.maxPadding,b=h.minPadding,S=0,k,M=j(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,C,w,A,T;if(o||e||x||this.getTickAmount(),A=B(this.userMin,h.min),T=B(this.userMax,h.max),x?(k=(this.linkedParent=x).getExtremes(),this.min=B(k.min,k.dataMin),this.max=B(k.max,k.dataMax),h.type!==x.options.type&&E(11,!0,i)):(l&&L(d)&&j(s)&&j(r)&&(d<=r?(C=d,b=0):s<=d&&(w=d,v=0)),this.min=B(A,C,r),this.max=B(T,w,s)),j(this.max)&&j(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,B(r,this.min))<=0&&E(10,!0,i),this.min=O(n.log2lin(this.min),16),this.max=O(n.log2lin(this.max),16)),this.range&&j(r)&&(this.userMin=this.min=A=Math.max(r,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),j(this.min)&&j(this.max)&&(!j(this.userMin)&&j(m)&&mthis.max&&(this.max=T=f),e||this.axisPointRange||this.stacking?.usePercentage||x||!(S=this.max-this.min)||(!L(A)&&b&&(this.min-=S*b),!L(T)&&v&&(this.max+=S*v)),!j(this.userMin)&&j(g)&&(this.min=Math.max(this.min,g)),!j(this.userMax)&&j(p)&&(this.max=Math.min(this.max,p)),l&&j(r)&&j(s)&&(P=d||0,!L(A)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(L(h.min)?this.max=this.min:L(h.max)&&(this.min=this.max)),S=this.max-this.min),this.min!==this.max&&j(this.min)&&j(this.max)?x&&!M&&y===x.options.tickPixelInterval?this.tickInterval=M=x.tickInterval:this.tickInterval=B(M,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,e?1:S*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),D(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!M&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=B(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!M&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],E(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=R(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&j(this.min)&&j(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==o&&i(t)===s&&(r=!0,a.push(t))})}if(r&&s){a.forEach(t=>{t=t.getThresholdAlignment(o);j(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return r}getThresholdAlignment(t){if((!j(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),j(this.threshold)){let t=v((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!L(t.tickInterval)&&!i&&this.leno.push(O(o[o.length-1]+p)),f=()=>o.unshift(O(o[0]-p));if(j(n)&&(g=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(g=a-1-g)),t.hasData()&&j(s)&&j(i)){var m=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(j(g)&&j(t.threshold)){for(;o[g]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?f:u)();if(p>8*t.tickInterval)break;p*=2}m()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),D(this,"setExtremes",r=f(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(T(B(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(T(B(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(B(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(B(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-e,this.len=Math.max(s?r:o,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?O(t.lin2log(this.min)):this.min,max:t?O(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&o!==1/0&&h&&(e=Math.ceil(h/r)),O(e*r)}let t=this.options.labels,s=t.padding||0,e=this.horiz,r=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=t.rotation,n=O(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=r,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(j(a)?p=[a]:ou&&(u=e.label.textPxLength)}),this.maxLabelLength=u,this.autoRotation)u>h&&u>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(g="clip",m=i.length;!r&&m--;)(f=o[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=u>.5*t.chartHeight?.33*t.chartHeight:u,c||(g="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=o[t],i=e&&e.label,s=a.width,r={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${r.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(o.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",o.gridZIndex),this.axisGroup=e("axis","",o.zIndex),this.labelGroup=e("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][r]:r,l=e.hasData(),d=s.title,c=s.labels,p=j(s.crossing),g=t.axisOffset,u=t.clipOffset,f=[-1,1,1,-1][r],m,x=0,y,v=0,b=0,S,k;var M;e.showAxis=m=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===r||2===r||{1:"left",3:"right"}[r]===e.labelAlign,B(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){b=Math.max(o[t].getLabelSize(),b)}),e.staggerLines&&(b*=e.staggerLines),e.labelOffset=b*(e.opposite?-1:1)):A(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],v=L(y=d.offset)?0:B(d.margin,i?5:10))),e.renderLine(),e.offset=f*B(s.offset,g[r]?g[r]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},k=0===r?-e.labelMetrics().h:2===r?e.tickRotCorr.y:0,S=Math.abs(b)+v,b&&(S=(S-=k)+f*(i?B(c.y,e.tickRotCorr.y+f*c.distance):B(c.x,f*c.distance))),e.axisTitleMargin=B(y,S),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(o,a)),"colorAxis"!==n&&u&&(M=this.tickSize("tick"),g[r]=Math.max(g[r],(e.axisTitleMargin||0)+x+f*e.offset,S,a&&a.length&&M?M[0]+f*e.offset:0),M=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,u[h]=Math.max(u[h],M)),D(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],r=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],o={x:e?a+l:r+(n?this.width:0)+h+l,y:e?r+d-(n?this.height:0)+h:a+d};return D(this,"afterGetTitlePosition",{titlePosition:o}),o}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new S(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new S(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let s,r,o=this,a=o.chart,n=o.logarithmic,t=a.renderer,e=o.options,i=o.isLinked,h=o.tickPositions,l=o.axisTitle,d=o.ticks,c=o.minorTicks,p=o.alternateBands,g=e.stackLabels,u=e.alternateGridColor,f=e.crossing,m=o.tickmarkOffset,x=o.axisLine,y=o.showAxis,v=k(t.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[d,c,p].forEach(function(t){A(t,function(t){t.isActive=!1})}),j(f)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(f,!0);o.horiz&&(t=e.len-t),o.offset=i*t}}if(o.hasData()||i){let i=o.chart.hasRendered&&o.old&&j(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){o.renderTick(t,e,i)}),m&&(0===o.min||o.single)&&(d[-1]||(d[-1]=new S(o,-1,null,!0)),d[-1].render(-1))),u&&h.forEach(function(t,e){r=void 0!==h[e+1]?h[e+1]+m:o.max-m,e%2==0&&th&&(!d||o<=l)&&void 0!==o&&c.push(o),o>l&&(a=!0),o=r}else{var p=this.lin2log(h),s=this.lin2log(l),r=d?t.getMinorTickInterval():i.tickInterval,o=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=g(n=u("auto"===r?null:r,this.minorAutoInterval,(s-p)*o/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:o,extend:s,isNumber:c}=t;{t=e=e||{};let r;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new r(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&r)for(s&&(d=n.toString()===r.toString(),l=0),h=0;h{f?.on(e,t=>{o[e].apply(this,[t])})}),this.eventsAdded=!0),!b&&f.d||!m?.length?f&&(m?(f.show(),f.animate({d:m})):f.d&&(f.hide(),u&&(this.label=u=u.destroy()))):f.attr({d:m}),g&&(M(g.text)||M(g.formatter))&&m?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,r.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=I,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:r,outside:g,pointer:e}=this,{inverted:o,plotLeft:a,plotTop:n,polar:h}=r,{plotX:l=0,plotY:d=0}=t,u={},f=o&&t.h||0,{height:c,width:m}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,v=t=>t*x.scaleY,b=t=>{var e="x"===t;return[t,e?m:c,e?i:s].concat(g?[e?y(i):v(s),e?x.left-p+y(l+a):x.top-p+v(d+n),0,e?m:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+r.plotWidth:n+r.plotHeight])},S=b("y"),k=b("x"),M,C=!!t.negative,w=(!h&&r.hoverSeries?.yAxis?.reversed&&(C=!C),!this.followPointer&&X(t.ttBelow,!h&&!o===C)),A=function(t,e,i,s,r,o,a){var n=g?("y"===t?v:y)(p):p,h=(i-s)/2,l=se?r:r+f)}},T=function(t,e,i,s,r){if(re-p)return!1;u[t]=r{!1!==A.apply(0,S)?!1!==T.apply(0,k)||M||(P(!0),O()):M?u.x=u.y=0:(P(!0),O())};return(o&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=X(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=h(!r.isHidden&&r.options.animation),a=r.followPointer||1<(r.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(o,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=k(o),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,g=a.styledMode,u={},f=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!S(o)&&o.series&&o.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var o=this.getAnchor(o,t),m=o[0],x=o[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(u=d.getLabelConfig()).points=i):u=d.getLabelConfig(),this.len=i.length;let s=G(c)?v(c,u,a):p.call(u,this),r=d.series;if(this.distance=X(r.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=m,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==r.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(f&&this.tt||{});n.style.width&&!g||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),g||t.attr({stroke:n.borderColor||d.color||r.color||"#666666"}),this.updatePosition({plotX:m,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:o[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}b(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:g,plotLeft:u,plotTop:f,scrollablePixelsY:r=0,scrollablePixelsX:o,styledMode:m},distance:x,options:y,options:{positioner:v},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},b=p.outside&&"number"!=typeof o?I.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},S=p.getLabel(),k=this.renderer||e.renderer,M=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),C=f+h,w,A=g-r;function T(t,e,i,s,r=!0){let o,a;return{x:a=i?(o=M?0:A,W(t-s/2,b.left,b.right-s-(p.outside?l:0))):(o=e-C,W(a=r?t-s-x:t+x,r?a:b.left,b.right)),y:o}}let P=(t=G(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(o,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:g,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:r,series:o}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=k.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,r)).attr(t).add(S)}return s.isActive=!0,s.attr({text:i}),m||s.css(y.style).attr({stroke:y.borderColor||e.color||o.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),r=s.width+i.strokeWidth();t&&(w=s.height,A+=w,M&&(C-=w));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:r=0,series:o}=h;var a,n;return i?(t=Math.max(u+s,u),e=f+g/2):({xAxis:a,yAxis:n}=o,t=a.pos+W(s,-x,a.len+x),o.shouldShowTooltip(0,n.pos-f+r,{ignoreX:!0})&&(e=n.pos+r)),{anchorX:t=W(t,b.left-x,b.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=v?v.call(p,r,l,h):T(n,a,t,r),o.push({align:v?0:void 0,anchorX:n,anchorY:a,boxWidth:r,point:h,rank:X(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return o},[]),O=(!v&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return H(t,{target:i,x:e})})),p.cleanSplit(),N(P,A),{left:l,right:l}),{container:L,outside:E,renderer:D}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tO.right&&(O.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+C,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(f(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),r&&(e.setState(),h(r,e),r.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),u(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),C(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,r=[],o={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),i.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),e=r.length;e--;)s[t=r[e]]&&o.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&o.plural.push(e)}),o}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=m()),this.resolveColor(),t.chart.pointCount++,C(this,"afterInit")}isValid(){return(w(this.x)||this.x instanceof Date)&&w(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(w(t)||null===t)o[s[0]]=t;else if(d(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"==a&&(o.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:r}=e,o=0,a=0;if(w(t)&&w(h))return n&&(o=s?s.pos:i.plotLeft,a=r?r.pos:i.plotTop),i.inverted&&s&&r?[r.len-h+a,s.len-t+o]:[t+o,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=A(this.options.colorIndex,a),this.color=A(this.options.color,s)}setNestedProperty(t,r,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?r:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=A(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=r||o?e.replace(RegExp(t+"}","g"),r+t+"}"+o):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let r,o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(e);var t=n&&o.hasMockGraphic,t=null===o.y?!t:t;n&&t&&(o.graphic=n.destroy(),delete o.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(o.graphic=n.destroy()),e?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=p(l.data[r],!0)||p(e,!0)?o.options:A(e,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=A(i,!0),!1===t?d():o.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=A(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=g(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(f(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=r(this,t,e))}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=k.plotOptions[i.type].marker&&i.options.marker,a=o&&!1===o.enabled,n=o&&o.states&&o.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=o&&i.markerAttribs,p=i.halo,g,u,f,m=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===r.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(g=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){u=i.pointAttribs(this,t),f=A(d.options.chart.animation,r.animation);let e=u.opacity;i.options.inactiveOtherPoints&&w(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(u,f)}g&&this.graphic.animate(g,A(d.options.chart.animation,n.animation,o.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),g&&(m?m[e?"animate":"attr"]({x:g.x,y:g.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,g.x,g.y,g.width,g.height).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));var y=r.halo,v=this.graphic||m,b=v&&v.visibility||"inherit";y&&y.size&&v&&"hidden"!==b&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(v.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:b,zIndex:-1}),p.point=this,d.styledMode||p.attr(M({fill:this.color||i.color,"fill-opacity":y.opacity},S.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),C(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(o(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e){var i;let v=t["parse"],{charts:u,composed:s,isTouchDevice:o}=r,{addEvent:f,attr:a,css:n,extend:h,find:m,fireEvent:p,isNumber:l,isObject:b,objectEach:d,offset:c,pick:x,pushUnique:g,splat:y}=e;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],r.chartCount||(S.unbindDocumentMouseUp&&S.unbindDocumentMouseUp.forEach(t=>t()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:r}=this,{mouseDownX:o=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=r?1:i.plotHeight,s&&(e=h-o,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(g=n+l),uh+d&&(u=h+d),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-u,2)),!(10t.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));var o;e&&i.redraw(),s&&t&&(this.hasDragged&&(o=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...o},from:o})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:r,yAxis:o}=i.series,a=i.shapeArgs;if(r&&o){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:o.len+o.pos-e,chartY:r.len+r.pos-t}:{chartX:t+r.pos,chartY:e+o.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!o?t:this.findNearestKDPoint(l,r,o));return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=m(t.points,function(t){return t.x===c.x&&!t.isNull});b(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var r=s.pageX-e.left,o=s.pageY-e.top;return h(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),r.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(u[x(S.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){u[x(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:r}=i,o=[].map.call(e.touches||[],t=>i.normalize(t)),a=o.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(o),from:t(r),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=o}reset(e,t){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let r=this.chart,i=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=!!o&&o.shared,n=t||r.hoverPoint,h=n&&n.series||r.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),r.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!n.series)return;r.hoverPoints=c,(r.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(g?c:n,s)})}else p&&o&&!o.isHidden&&(t=o.getAnchor([{}],s),r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(r.container.ownerDocument,"mousemove",t=>u[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=r.hoverPoint)&&t.series[e.coll]===e?t:m(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(f(t,"mouseenter",this.onContainerMouseEnter.bind(this)),f(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=[]),S.unbindDocumentMouseUp.push(f(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(f(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(f(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),f(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=f(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),f(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(o){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),f(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=r.charts[x(S.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(S.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&16<=Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(i=S=S||{}).compose=function(t){g(s,"Core.Pointer")&&f(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},S}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:v,pick:b}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,b(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:o}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=r.renderer,p=s.group,g=a-Math.round(h*(i?.4:.3)),u={},f,m=o.marker,x=0;if(r.styledMode||(u["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?u.dashstyle=o.dashStyle:"square"!==o.linecap&&(u["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(u).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),u["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,g],["L",n-x,g]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),m&&!1!==m.enabled&&n){let t=Math.min(b(m.radius,d),d);0===l.indexOf("url")&&(m=v(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,g-t,2*t,2*t,y({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,r){let o=h.plotOptions||{};if(e=e||"",o[t]=c(o[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,r){class p extends a{}l(p.prototype,r),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,r=e.prototype;return r.type=t,r.pointClass||(r.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,o,a,d,c){let{animObject:p,setAnimation:g}=t,u=e["defaultOptions"],n=i["registerEventOptions"],{svg:f,win:m}=s,y=a["seriesTypes"],{arrayMax:M,arrayMin:C,clamp:w,correctFloat:A,crisp:x,defined:T,destroyObjectProperties:I,diffObjects:z,erase:v,error:P,extend:b,find:N,fireEvent:O,getClosestDistance:W,getNestedProperty:h,insertItem:S,isArray:L,isNumber:E,isString:H,merge:D,objectEach:k,pick:j,removeEvent:G,splat:X,syncTimeout:B}=c;class R{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(O(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,o=!1!==e.visible,o=(s.linkedSeries=[],s.bindAxes(),b(s,{name:e.name,state:"",visible:o,selected:!0===e.selected}),n(this,e),e.events);(o&&o.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),O(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;O(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),O(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=E(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},o||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(o?{}:{color:this.color,fillColor:this.fillColor}),O(this,"afterSetOptions",{options:c}),c}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||o.options.chart.colorCount;e||(T(r=j("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var o=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(o){o=this.chart.get(o);o instanceof l&&(i=o)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=N(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&E(a)?this.xData.indexOf(a,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&E(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,o=r.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||E(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==r.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||o&&o.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||o&&o.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=M(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,g=this.yData,u=r.pointArrayMap,f=u&&u.length,m=n.keys,x,y,v,b=0,S=1,k;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,k=D(!0,e));var M=(e=k||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(v=h.options.chart.allowMutatingData&&!1!==s&&M&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):v)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=c&&c!(!L(t)||!m&&!E(t[0]));if(E(s)&&E(C))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],g=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,g=a.yData,h=a.start,n=!0));t=W([r?p.map(r.log2lin):p],()=>e.requireSorting&&!u&&P(15,!1,e.chart));return{xData:p,yData:g,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,O(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,g,u,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),u=0;u=x&&(S[f-o]||g)<=y,c&&p)if(m=u.length)for(;m--;)E(u[m])&&(r[v++]=u[m]);else r[v++]=u;var k={activeYData:r,dataMin:C(r),dataMax:M(r)};return O(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,O(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,f=j(p.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,o=(i=y?a-i:i)-s;r?.push(["L",e,Math.abs(o){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],b?a-t[1]:t[1],b?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=w(o.toPixels(j(t.value,e),!0)||0,0,a)}),f&&!this.showLine&&f.hide(),u&&u.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(m.reversed&&e.reverse(),t),o=0,a=0,n=m.len,h=x.len;b?(o=i,n=g):(a=i,h=g);var l=[["M",o,a],["L",n,a],["L",n,h],["L",o,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),g=i,y&&(c(d),u&&c(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=v.path(d),u&&(r=t.simpleClip=v.path(l))),f&&t.graph?.clip(s),u&&t.area?.clip(r)})}else this.visible&&(f&&f.show(),u&&u.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||G(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=p(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;O(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,O(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[o=Math.floor(a/2)],left:t(e.slice(0,o),i+1,s),right:t(e.slice(o+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let u=this,[f,m]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(u.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!u.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let o=i.point,a=u.kdAxisArray[s%r],n,h,l=o;p=o,g=(d=e)[f],c=p[f],g=T(g)&&T(c)?g-c:null,c=d[m],d=p[m],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((g&&g*g||0)+c*c)-d,p.distX=T(g)?Math.abs(g)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(o[a]||0)+(y&&o.marker?.radius||0),p=c<0?"left":"right",g=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,r))[x]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(f?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),O(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,g=this.xData;e=j(e,!0);var u={series:this},f=(this.pointClass.prototype.applyOptions.apply(u,[t]),u.x);if(a=g.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(u,"splice",[a,0,0]),this.updateParallelArrays(u,a),c&&u.name&&(c[f]=u.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(u,"shift"),p.shift())),!1!==r&&O(this,"addPoint",{point:u}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(a||{series:r},"splice",[t,1]),a&&a.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,o=r.data,a=o[t],n=r.points,h=r.chart;g(i,h),e=j(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),j(t,!0)&&o.redraw(e)}!1!==i?O(r,"remove",null,a):a()}update(t,e){O(this,"update",{options:t=z(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=y[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||r.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),f=(g=g||o,u&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&b(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=D(r,{index:(void 0===r.index?i:r).index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[g]){if(f=g!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[g].prototype);else{var m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;b(i,y[g].prototype),m?i.hcEvents=m:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:g});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),u&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=o,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),O(this,"afterUpdate"),j(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&O(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&O(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=j(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=j(a[e].opacity,l)),r&&!r.dashstyle&&E(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&o&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!o:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),O(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),O(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return R.defaultOptions=o,R.types=a.seriesTypes,R.registerType=a.registerSeriesType,b(R.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=R}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,g,u,s,r,o){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],f=r["format"],{addEvent:m,createElement:x,css:y,defined:v,discardElement:b,find:S,fireEvent:k,isNumber:M,merge:C,pick:w,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:O}=o;class L{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=w(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=C(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=w(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(C(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,w(e,!0)&&i.redraw(),k(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:r,marker:o}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(C(h?this.itemStyle:t)),c?.attr(a({stroke:r||n.color})),p&&p.attr(a(o&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}k(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},e[v(e.translateY)?"animate":"attr"](h,void 0,()=>{k(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&b(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,r=this.group&&this.group.alignAttr,o=this.clipHeight||this.legendHeight,a=this.titleHeight;r&&(s=r.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:r.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*S?b.height:S))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?w(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&w(e.showInLegend,!v(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),k(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let r=this.chart,o=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!v(i[e])&&(r[l[e]]=Math.max(r[l[e]],r.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*o[e%2?"x":"y"]+w(o.margin,12)+s[e]+(r.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,r,o;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=S(s?t.points:t.points.slice(0).reverse(),function(t){return M(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-a.plotTop,r=t.visible?(e?e.plotY:t.yAxis.height)+(o-.3*i):o+t.yAxis.height,n.push({target:r,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},M(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0v&&!1!==c.enabled?(this.clipHeight=m=Math.max(v-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=t,f.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=u.length;(!r||i-u[r-1]>m&&(x||i)!==u[r-1])&&(u.push(x||i),r++),y.pageIx=r-1,x&&((f[e-1].legendItem||{}).pageIx=r-1),e===f.length-1&&i+s-u[r-1]>m&&i>u[r-1]&&(u.push(i),y.pageIx=r),i!==x&&(x=i)}),S||(S=s.clipRect=o.clipRect(0,l-2,9999,0),s.contentGroup.clip(S)),e(m),b||(this.nav=b=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,g,g).add(b),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(b),this.down=o.symbol("triangle-down",0,0,g,g).add(b),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=v):b&&(e(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>r?r:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===r?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),O(()=>{k(this,"afterScroll",{currentPage:l})},d(w(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},o=s.chart.renderer.boxWrapper,a=i instanceof u,n=i instanceof g,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,r.symbol]:[r.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&o.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(C(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),o.removeClass(h),i.setState()}).on("click",function(t){o.removeClass(h),k(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&k(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),m(e.checkbox,"click",function(t){t=t.target;k(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=L=L||{}).compose=function(t){A(h,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},L}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,z,a,N,W,H,G,g,r,c,X){let{animate:n,animObject:U,setAnimation:f}=t,{defaultOptions:h,defaultTime:F}=e,Y=i["numberFormat"],u=z["registerEventOptions"],{charts:p,doc:m,marginNames:l,svg:V,win:o}=a,d=H["seriesTypes"],{addEvent:x,attr:y,createElement:v,css:b,defined:C,diffObjects:S,discardElement:q,erase:_,error:k,extend:w,find:M,fireEvent:A,getStyle:T,isArray:Z,isNumber:P,isObject:K,isString:O,merge:L,objectEach:E,pick:D,pInt:$,relativeLength:j,removeEvent:B,splat:R,syncTimeout:J,uniqueKey:Q}=r;class I{static chart(t,e,i){return new I(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(O(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:D(t.zoomType,e.type),key:D(t.zoomKey,e.key),pinchType:D(t.pinchType,e.pinchType),singleTouch:D(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:L(e.resetButton,t.resetZoomButton)}}init(i,s){A(this,"init",{args:arguments},function(){var t=L(h,i),e=t.chart;this.userOptions=w({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new g(i.time):a.time,this.numberFormatter=e.numberFormatter||Y,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,u(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),A(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],r=(s||k(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],r=this.options[t]=R(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?R(this.userOptions[t]).slice():[];if(this.hasRendered&&(r.splice(i),o.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(u.isInsidePlot=!1)),!i.ignoreY&&u.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+g:a+g)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(u.isInsidePlot=!1)),A(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(t){A(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,g=this.isDirtyLegend,u;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((u=i[c]).options.stacking||u.options.centerInCategory)&&(d=!0,u.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(u=i[c]).options.stacking&&(u.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):o&&(o.labelFormatter||o.labelFormat)&&(g=!0)),t.isDirtyData&&A(t,"updatedData")}),g&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){A(t,"afterSetExtremes",w(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),A(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),A(this,"redraw"),A(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let r=M(this.axes,s)||M(this.series,s);for(let t=0;!r&&t(t.getPointsCollection().forEach(t=>{D(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=L(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),e&&!r&&((r=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||r.css(w("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=r)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",r="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var o;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,o=Math.round(e.getBBox(i.useHTML).height),e.align(w({y:"bottom"===s?t:r+t,height:o},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+o):"bottom"===s&&(a[2]=Math.ceil(a[2]+o))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,A(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0}}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox();this.chartWidth=Math.max(0,e||i.width||600),this.chartHeight=Math.max(0,j(t,this.chartWidth)||(1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(o,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,f(i,s);var i=r.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:b)(s.container,{width:t+o+"px",height:e+a+"px"},i),s.setChartSize(!0),r.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,A(s,"resize"),setTimeout(()=>{s&&A(s,"endResize")},U(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,r;let{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),A(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){A(this,"resetMargins");let r=this,o=r.options.chart,t=o.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=o[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){r[i][e]=D(o[i+t],s[e])})}),l.forEach(function(t,e){r[t]=D(r.margin[e],r.spacing[e])}),r.axisOffset=[0,0,0,0],r.clipOffset=[e,e,e,e],r.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,g=this.plotBox,u=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,v,b,S,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),r?v=b=m.strokeWidth():(b=(v=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(v||m["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=v),m.attr(S).shadow(t.shadow)),m[k]({x:b/2,y:b/2,width:i-b-v%2,height:s-b-v%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](g),r||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(g)):this.plotBGImage=e.image(h,l,d,c,p).add())),u?u.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,A(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,r=this,o=r.options.chart,a=r.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[o.type],s=o[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);r[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(O(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=D(e.options.visible,t.options.visible,e.visible))}}),A(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(var l of(this.setTitle(),A(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){o=d.tickLength,l.createGroups();let t=new X(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),o=e&&D(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):o){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||1(h?1:1.1),n=u/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=L(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(o.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,r=i.container,o=r&&r.parentNode;for(A(i,"destroy"),i.renderer.forExport?_(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),B(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),r&&(r.innerHTML=c.emptyHTML,B(r),o&&q(r)),E(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),Z(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),A(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),A(this,"load"),A(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),A(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),b(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:r,selection:o,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:g,len:u,minPointOffset:f=0,options:m,reversed:x}=p,y=g?"width":"height",v=g?"x":"y",b=D(a[y],p.len),y=D(i[y],p.len),S=Math.abs(b)<10?1:b/y,y=(i[v]||0)+y/2-p.pos,v=y-((a[v]??p.pos)+b/2-p.pos)/S,b=x&&!h||!x&&h?-1:1;if(r||!(y<0||y>p.len)){let t=p.toValue(v,!0)+(o?0:f*b),e=p.toValue(v+u/S,!0)-(!o&&f*b||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==S&&!r&&"yAxis"===p.coll&&!i){for(var k of p.series){k=k.getExtremes(k.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(k.dataMin)&&P(k.dataMax)&&(i.dataMin=Math.min(k.dataMin,i.dataMin),i.dataMax=Math.max(k.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:u,max:f}=w(p.getExtremes(),i||{}),b=x??m.min,x=y??m.max,y=e-t,M=p.categories?0:Math.min(y,x-b),b=b-M*(C(m.min)?0:m.minPadding),x=x+M*(C(m.max)?0:m.maxPadding),M=p.allowZoomOutside||1==S||"zoom"!==n&&1m&&(e=m,1<=S&&(t=e-y)),(r||p.series.length&&(t!==u||e!==f)&&t>=b&&e<=m)&&(o?o[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(r?void 0:t,r?void 0:e,!1,!1,{move:v,trigger:n,scale:S}),!r&&(t>b||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return w(I.prototype,{callbacks:[],collectionsWithInit:{xAxis:[I.prototype.addAxis,[!0]],yAxis:[I.prototype.addAxis,[!1]],series:[I.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),I}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let w=t["stop"],s=e["composed"],{addEvent:g,createElement:u,css:A,defined:T,merge:f,pushUnique:r}=i;function o(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){r(s,this.compose)&&(g(t,"afterInit",a),g(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),g(e,"render",o),g(i,"show",a))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=f(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=f(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,r=!1)),T(r)&&!e.skipAxes))for(var c of t.axes)c.horiz===r&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),r=t.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=u("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=u("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=u("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=u("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),A(i.renderTo,{overflow:"visible"}),g(i,"afterShowResetZoom",o),g(i,"afterApplyDrilldown",o),g(i,"afterLayOutTitles",o),g(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:g=0}=t,{scrollPositionX:u=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=o+p,x=a+g,y=(e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),w(t.container),A(n,{width:m+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),A(s,{width:o+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*u,s.scrollTop=g*f),d-r[0]-1),v=l-r[3]-1,b=d+h+r[2]+1,S=l+c+r[1]+1,k=l+c-p,M=d+h-g,C=[["M",0,0]];p?C=[["M",0,y],["L",l-1,y],["L",l-1,b],["L",0,b],["Z"],["M",k,y],["L",o,y],["L",o,b],["L",k,b],["Z"]]:g&&(C=[["M",v,0],["L",v,d-1],["L",S,d-1],["L",S,0],["Z"],["M",v,M],["L",v,a],["L",S,a],["L",S,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:C})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let o=t["format"],u=e["series"],{destroyObjectProperties:s,fireEvent:f,isNumber:m,pick:x}=i;return class{constructor(t,e,i,s,r){var o=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,r=t?o(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:r,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,f(this,"afterRender")}setOffset(t,e,r,o,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:r,boxTop:o,defaultX:i,xAxis:s}),g=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:r,y:o}=this.adjustStackPosition({labelBox:t,verticalAlign:g,textAlign:d});p.x-=r,p.y-=o,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+r,h.alignAttr.y+a.y+o))?i:!1)&&u.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=m(h.x)&&m(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}f(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(r,d.translate(this.x))+o,p=Math.abs(l-e.toPixels(n||m(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(u?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,A,s){let a=t["getDeferredAnimation"],{prototype:r}=i["series"],{addEvent:o,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:O,isNumber:l,objectEach:d,pick:L}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,L(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function g(){this.stacking||(this.stacking=new v(this))}function u(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function f(){let o,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,r;for(;e--;)i=h[e],o=a.getStackIndicator(o,i,a.index,t),(r=(s=n[t]?.[i])?.points[o.key||""])&&l.call(a,r,s,e)})}function m(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return{compose:function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(o(t,"init",g),o(t,"destroy",p),s.getStacks=c,r.getStackIndicator=u,r.modifyStacks=f,r.percentStacker=m,r.setGroupedPoints=x,r.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:m,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,r=s?"animate":"attr",o=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},o?i.dashstyle=o:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[r](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],g=[],u,f=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&t&&(f=4-f),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,r=t.plotY,o=n[e-1],a=t.isNull||"number"!=typeof r;(t.leftCliff||o&&o.rightCliff)&&!l&&(u=!0),u=a&&!m(h)&&0{let i={},s=t.fillColor||n.fillColor,r=t.area,o=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:a.xMap,r.animate({d:a})):(i.zIndex=0,(r=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[o](i),r.startX=a.xMap,r.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],r=p&&x[s.x].points[m],o=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||o?(n=(o?r[0]:r[1])+a,h=r[0]+a,l=!!o):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(f.push({plotX:c,plotY:null===n?v:g.getThreshold(n),isNull:l,isCliff:!0}),u.push({plotX:c,plotY:null===h?v:g.getThreshold(h),doCurve:!1}))}let c,s,r,t=S.prototype.getGraphPath,e=this.options,p=e.stacking,g=this.yAxis,u=[],f=[],m=this.index,x=g.stacking.stacks[this.stackKey],y=e.threshold,v=Math.round(g.getThreshold(e.threshold)),o=k(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=b.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,b}getStackPoints(e){let d=this,s=[],c=[],r=this.xAxis,p=this.yAxis,g=p.stacking.stacks[this.stackKey],u={},f=p.series,m=f.length,x=p.options.reversedStacks?1:-1,y=f.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(o,a){let e=0,n,h;if(u[o]&&!u[o].isNull)s.push(u[o]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=g[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,r=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof o.x){let e=t[o.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),r=t.length}}}),s=this.xAxis.reversed?r-1-s:s;var n=(r-1)*a.paddedWidth+e;t=(o.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,g=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(g.borderWidth,t?0:1),u=c.xAxis,f=c.yAxis,m=g.threshold,x=P(g.minPointLength,5),y=c.getColumnMetrics(),v=y.width,b=c.pointXOffset=y.offset,S=c.dataMin,k=c.dataMax,M=c.translatedThreshold=f.getThreshold(m),C=c.barW=Math.max(v,1+2*e);g.pointPadding&&(C=Math.ceil(C)),r.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,M),i=999+Math.abs(e),s=t.plotX||0,r=w(t.plotY,-i,f.len+i),o,a=Math.min(r,e),n=Math.max(r,e)-a,h=v,l=s+b,d=C;x&&Math.abs(n)x?e-x:M-(o?x:0)),A(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-v)/2)),g.centerInCategory&&!g.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[w(f.len+f.pos-p.plotLeft-r,f.pos-p.plotLeft,f.len+f.pos-p.plotLeft),u.len+u.pos-p.plotTop-l-d/2,n]:[u.left-p.plotLeft+l+d/2,w(r+f.pos-p.plotTop,f.pos-p.plotTop,f.len+f.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?M:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[r]||i[r]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[o]||i[o]||this[o]||0,g=P(t&&t.opacity,i.opacity,1),u=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&f(l).brighten(a.brightness).get()||l,d=a[r]||d,p=a[o]||p,c=a.dashStyle||c,g=P(a.opacity,g)),{fill:l,stroke:d,"stroke-width":p,opacity:g});return c&&(u.dashstyle=c),u}drawPoints(t=this.points){let o,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,r=i&&n.pointCountt?.enabled)}function a(t,e,i,s,r){let{chart:o,enabledDataSorting:a}=this,n=this.isCartesian&&o.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&o.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===E(i.overflow,a?"none":"justify"),g=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||E(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),u=t.pos();var f,m,x,y,v;g&&u&&(f=e.getBBox(),m=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=b({x:u[0],y:Math.round(u[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),b(i,{width:f.width,height:f.height}),v=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,r,c,v),e.align(S(i,{width:m.width,height:m.height}),!1,s,!1),e.alignAttr.x+=x*(m.width-f.width),e.alignAttr.y+=y*(m.height-f.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(f.width-m.width)/2,y:e.alignAttr.y+(f.height-m.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,f,s,r):E(i.crop,!0)&&({x:t,y:v}=e.alignAttr,g=o.isInsidePlot(t,v,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+f.width-1,v+f.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[r?"attr":"animate"]({anchorX:u[0],anchorY:u[1]})),r&&a&&(e.placed=!1),g||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let b,S=(t=t||this.points,this),k=S.chart,M=S.options,C=k.renderer,{backgroundColor:e,plotBackgroundColor:i}=k.options.chart,w=C.getContrast(O(i)&&i||O(e)&&e||"#000000"),s=u(S),{animation:r,defer:o}=s[0],a=o?n(k,r,S):{defer:0,duration:0};P(this,"drawDataLabels"),S.hasDataLabels?.()&&(b=this.initDataLabels(a),t.forEach(y=>{let v=y.dataLabels||[],t=(h(g(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(f=x.operator,m=y[x.property],x=x.value,">"===f&&x="===f&&x<=m||"<="===f&&m<=x||"=="===f&&m==x||"==="===f&&m===x||"!="===f&&m!=x||"!=="===f&&m!==x)),{backgroundColor:s,borderColor:r,distance:o,style:a={}}=t,n,h,l,d,c={},p=v[e],g=!p,u;var f,m,x;i&&(h=E(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?A(h,n,k):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,k.styledMode||(a.color=E(t.color,a.color,O(S.color)?S.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(u=s),y.contrastColor=C.getContrast("auto"!==u&&u||y.color||S.color),a.color=u||!T(o)&&t.inside||D(o||0)<0||M.stacking?y.contrastColor:w):delete y.contrastColor,M.cursor&&(a.cursor=M.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},k.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===r?y.color:r,c["stroke-width"]=t.borderWidth),L(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,g=!0),i&&T(l)&&(p?c.text=l:(p=C.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),k.styledMode||p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(b),S.alignDataLabel(y,p,t,void 0,g),p.isActive=!0,v[e]&&v[e]!==p&&v[e].destroy(),v[e]=p))}),v.length);for(;t--;)v[t]&&v[t].isActive?v[t].isActive=!1:(v[t]?.destroy(),v.splice(t,1));y.dataLabel=v[0],y.dataLabels=v})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:u=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&0<=u?(e.align="left",e.inside=!0):u-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&u<=0?(e.align="right",e.inside=!0):u+=a.plotWidth-m,x=!0),(m=i.y+l+g)<0&&("bottom"===h&&0<=f?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+g)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=u,e.y=f,t.placed=!o,t.align(e,void 0,r)),x}function g(e,i){let t=[],s;if(r(e)&&!r(i))t=e.map(function(t){return S(t,i)});else if(r(i)&&!r(e))t=i.map(function(t){return S(e,t)});else if(r(e)||r(i)){if(r(e)&&r(i))for(s=Math.max(e.length,i.length);s--;)t[s]=S(e[s],i[s])}else t=S(e,i);return t}function u(t){var e=t.chart.options.plotOptions;return h(g(g(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function f(t,e,i,s,r){var o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?r.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var r;let o=t["composed"],c=i["series"],{merge:p,pick:g,pushUnique:a}=s;return(r||(r={})).compose=function(t){e.compose(c),a(o,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},r;function n(t,e,i,s,r){var o=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=g(t.below,t.plotY>g(this.translatedThreshold,a)),d=g(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
    ',pointFormat:"x: {point.x}
    y: {point.y}
    "}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,u,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,g=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof u||(g[3]=0),c=0;c<4;++c)p=g[c],h=c<2||2===c&&/%$/.test(p),g[c]=y(p,[s,r,a,g[2]][c])+(h?i:0);return g[3]>g[2]&&(g[3]=g[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:g,y:u}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-u)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",g,u]];return(p?f<=g&&f>=s.x:f>=g&&f<=s.x)&&m.push(["L",f,u]),m.push(["L",s.x,s.y],["L",r.x,r.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:v,merge:p,pick:g}=h;class u extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:g(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,g=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*g],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}v(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),v=f.center,b=v[2]/2,n=v[1],h=[[],[]],S=[0,0,0,0],k=f.dataLabelPositioners,l,M,C,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=v[2]/2,s=t.options,i=u(s?.distance||0,i);0===e&&h[r.half].push(r),!w(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,g)=>{let t=p.length,u=[],e,i,s=0,r;t&&(f.sortByAngle(p,g-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(u&&w(i)&&0m-o&&0===g&&(t=Math.round(h+M-m+o),S[1]=Math.max(t,S[1])),l-C/2<0?S[0]=Math.max(Math.round(-l+C/2),S[0]):l+C/2>x&&(S[2]=Math.max(Math.round(l+C/2-x),S[2])),s.sideOverflow=t}}})}))}),0!==g(S)&&!this.verifyDataLabelOverflow(S)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=f),r+=f),m(u,{brBoxHeight:r,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function g(t,e,i,s,r={}){let o=C(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return g&&(r=M(c,c-g),f[0]-=r,m[0]+=r,x[1]=k[1]=e+c-g),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,g,u,f,m,x,y,v,b,S,k,M,C,w,A,T,P,O,L,E,D,j,B,R){return t.AST=o,t.Axis=p,t.Chart=k,t.Color=B,t.DataLabel=L,t.Fx=s,t.HTMLElement=c,t.Legend=b,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||E,t.PlotLineOrBand=f,t.Point=y,t.Pointer=v,t.RendererRegistry=n,t.Series=A,t.SeriesRegistry=T,t.StackItem=w,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=R,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=k.chart,t.color=B.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),L.compose(t.Series),g.compose(t.Axis),c.compose(t.SVGRenderer),b.compose(t.Chart),u.compose(t.Axis),E.compose(t.Chart),O.compose(t.Series.types.pie),f.compose(t.Axis),v.compose(t.Chart),j.compose(t.Chart),M.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let r,i=t["isTouchDevice"],{addEvent:o,merge:a,pick:n}=s,h=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,r=this.navigator;var o,a;r&&(t=s&&s.options,e=r.xAxis,i=r.yAxis,{scrollbarHeight:o,scrollButtonSize:a}=r,this.inverted?(r.left=r.opposite?this.chartWidth-o-r.height:this.spacing[3]+o,r.top=this.plotTop+a):(r.left=n(e.left,this.plotLeft+a),r.top=r.navigatorOptions.top||this.chartHeight-r.height-o-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=r.left:e.options.top=i.options.top=r.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new r(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function g(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function u(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function f(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(h,e)){let t=e.prototype;r=i,t.callbacks.push(u),o(e,"afterAddSeries",l),o(e,"afterSetChartSize",d),o(e,"afterUpdate",c),o(e,"beforeRender",p),o(e,"beforeShowResetZoom",g),o(e,"update",f)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:h,defined:c,isNumber:l,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new o(this))}function r(t){let e,i=this.chart,s=i.options,r=s.navigator,o=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;var l;this.isXAxis&&(r?.enabled||n?.enabled)&&("y"===h&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===h||d&&"xy"===a)&&this.options.range&&(l=o.previousZoom,c(t.min)?o.previousZoom=[this.min,this.max]:l&&(t.min=l[0],t.max=l[1],o.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class o{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,r={}){var i=r.width?r.width/2:i,o=n(r.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=r.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:o})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,r,o,i,a,n){let h=t["setOptions"],l=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:g,pushUnique:u}=n;function f(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),u(l,"Navigator")&&(t.prototype.setFixedRange=c,g(d().prototype.symbols,o),p(i,"afterUpdate",f),h({navigator:r}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let r=t["composed"],{addEvent:o,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function h(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function l(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),o(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:r,scrollMin:o,scrollMax:a}=c(n),a=a-o;d(s)&&d(r)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=o+a*this.to,o+a*this.from):(e=o+a*(1-this.from),o+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:r}=c(this),o=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,h=this.options.margin||0;var l;o&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),o.position(this.left,this.top+this.height+2+n[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(n[1]+=h),1):(this.opposite&&(n[0]+=a),l=o.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:h):this.opposite?0:h,o.position(l,this.top,this.width,this.height),this.opposite&&(n[0]+=h),0),n[t]+=o.size+(o.options.margin||0),isNaN(s)||isNaN(r)||!d(this.min)||!d(this.max)||this.min===this.max?o.setRange(0,1):(e=(this.min-s)/(r-s),i=(this.max-s)/(r-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,i):o.setRange(1-i,1-e)))}t.compose=function(t,e){n(r,"Axis.Scrollbar")&&(i=e,o(t,"afterGetOffset",h),o(t,"afterInit",l),o(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=t["defaultOptions"],{addEvent:h,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:l,merge:p,pick:g,removeEvent:u}=r;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,r=this.scrollbarButtons,o=this.options,a=this.size,n=s.g().add(this.group);if(r.push(n),o.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:o.buttonBorderRadius},t.strokeWidth())),s.path(f.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(r[i]));this.chart.styledMode||e.attr({fill:o.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,o.scrollbar,e),this.options.margin=g(this.options.margin,10),this.chart=i,this.size=g(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:r,margin:o=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=r?this.size:0,this.barWidth=s-(r?2*i:0),this.x=t+=o):(this.height=s=this.size,this.xOffset=h=r?this.size:0,this.barWidth=i-(r?2*s:0),this.y=this.y+o),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){u.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,r=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=r,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var o=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,o),y:-a(0,o)}),this.scrollbarGroup=t.g().add(r),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-o,width:i-o,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var r,o=this.options,a=o.vertical,n=o.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(r=h*Math.min(e,1),i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=d(r-i),ss||!this.options.vertical&&e.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:o[e],height:r[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,h=a.chart,e=h.inverted,l=h.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=l.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));h.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:r,width:o}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]?i!==a.handles[t].symbolName&&(e=p[i].call(p,-o/2-1,0,o,r),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]=l.symbol(i,-o/2-1,0,o,r,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c)),h.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-o/2),rotationOriginY:(r+o)/2}),h.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-o/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(S(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),C(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var r;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{P(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,r=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:r,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let r=this.chart,o=this.xAxis,a=o.pointRange||0,n=o.navigatorAxis.fake?r.xAxis[0]:o,h=this.navigatorEnabled,l=this.rendered,d=r.inverted,c=r.xAxis[0].minRange,p=r.xAxis[0].options.maxRange,g=this.scrollButtonSize,u,f,m,x=this.scrollbarHeight,y,v;if(!this.hasDragged||C(i)){if(this.isDirty&&this.renderElements(),t=M(t-a/2),e=M(e+a/2),!A(t)||!A(e)){if(!l)return;i=0,s=T(o.width,n.width)}this.left=T(o.left,r.plotLeft+g+(d?r.plotWidth:0));var b=this.size=y=T(o.len,(d?r.plotHeight:r.plotWidth)-2*g),t=(u=d?x:y+2*g,i=T(i,o.toPixels(t,!0)),s=T(s,o.toPixels(e,!0)),A(i)&&Math.abs(i)!==1/0||(i=0,s=u),o.toValue(i,!0)),e=o.toValue(s,!0),S=((S=Math.abs(M(e-t)))p&&(this.grabbedLeft?i=o.toPixels(e-p-a,!0):this.grabbedRight&&(s=o.toPixels(t+p+a,!0))),this.zoomedMax=k(Math.max(i,s),0,b),this.zoomedMin=k(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,b),this.range=this.zoomedMax-this.zoomedMin,b=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),v=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,b,d,v),this.drawOutline(S,b,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,v),this.drawHandle(b,1,d,v))),this.scrollbar&&(d?(m=this.top-g,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*g):(m=this.top+(h?this.height:-x),f=this.left-g),this.scrollbar.position(f,m,u,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,w(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],r,o;e.mouseMoveHandler=r=function(t){e.onMouseMove(t)},e.mouseUpHandler=o=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(y(t.renderTo,"mousemove",r),y(i.ownerDocument,"mouseup",o),y(t.renderTo,"touchmove",r),y(i.ownerDocument,"touchend",o)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(y(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let r=this,o=[];return["shades","handles"].forEach(function(i){r[i].forEach(function(t,e){o.push(y(t.element,s,function(t){r[i+"Mousedown"](t,e)}))})}),o}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,r=this.zoomedMin,o=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-r):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=o&&(p=o-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==r&&(this.fixedWidth=a,C((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&w(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],r=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,r=e.range,o=e.dragOffset,a=i.inverted,n=e.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+o-r&&(h=s+o-r),e.render(0,0,h-o,h-o+r)),e.hasDragged&&e.scrollbar&&T(e.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,r,o,a,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),C((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,o)).min)&&w(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&A(this.zoomedMin)&&A(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){P(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&P(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},r=s.enabled,o=i&&e.height||0,a=r&&s.height||0,h=s.buttonsEnabled&&a||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=o,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,p=n.yAxis.length,g=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var u;if(n.isDirtyBox=!0,l.navigatorEnabled?(u=this.getXAxisOffsets(),l.xAxis=new f(n,S({breaks:g.options.breaks,ordinal:g.options.ordinal,overscroll:g.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:g.options.ordinal?0:g.options.minPadding,maxPadding:g.options.ordinal?0:g.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:u,width:o}:{offsets:u,height:o}),"xAxis"),l.yAxis=new f(n,S(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:T(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:o}:{height:o}),"yAxis"),d||e.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=y(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,r){let o=this,a=o.chart,n=o.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=o.series=(o.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(P(e,"updatedData",o.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=o.navigatorOptions.series,g;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=v({color:t.color,visible:t.visible},b(p)?u.navigator.series:p);var s;e&&!1===o.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,g=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(c=S(d,h,i,g)).pointRange=T(i.pointRange,g.pointRange,u.plotOptions[c.type||"line"].pointRange),s=g.data||i.data,o.hasNavigatorData=o.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,r):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!b(p)||(o.hasNavigatorData=!1,(p=O(p)).forEach((t,e)=>{h.name="Navigator "+(l.length+1),(c=S(u.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},h,t)).data=t.data,c.data&&(o.hasNavigatorData=!0,l.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(y(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(y(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(y(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(y(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),C(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),r=s.min,o=s.max,a=s.dataMin,n=s.dataMax,h=o-r,l=i.stickToMin,d=i.stickToMax,c=T(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],g=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),g&&(l||d)&&A(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=T(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!A(i)||!A(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Stock/Navigator/StandaloneNavigatorDefaults.js",[],function(){return{chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}}}),e(t,"Stock/Navigator/StandaloneNavigator.js",[t["Core/Chart/Chart.js"],t["Stock/Navigator/Navigator.js"],t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Axis/Axis.js"],t["Stock/Navigator/StandaloneNavigatorDefaults.js"]],function(s,r,o,t,i,a){let{merge:n,addEvent:h,fireEvent:l,pick:d}=t;return class c{static navigator(t,e){return t=new c(t,e),o.navigators?o.navigators.push(t):o.navigators=[t],t}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=n(o.getOptions(),a,{navigator:e});let i=new s(t,this.chartOptions);i.options=n(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new r(i),i.navigator=this.navigator,this.initNavigator()}bind(r,o=!0){let a=this,n=r instanceof s?r.xAxis[0]:r;if(n instanceof i){let{min:t,max:e}=this.navigator.xAxis,i=[],s=(o&&(r=h(n,"setExtremes",t=>{"pan"!==t.trigger&&"zoom"!==t.trigger&&"mouseWheelZoom"!==t.trigger||a.setRange(t.min,t.max,!0,"pan"!==t.trigger,{trigger:n})}),i.push(r)),o=h(this.navigator,"setRange",t=>{n.setExtremes(t.min,t.max,t.redraw,t.animation)}),i.push(o),this.boundAxes.filter(function(t){return t.axis===n})[0]);s||(s={axis:n,callbacks:[]},this.boundAxes.push(s)),s.callbacks=i,n.series.forEach(t=>{t.options.showInNavigator&&a.addSeries(t.options)}),n.setExtremes(t,e),h(n,"destroy",t=>{t.keepEvents||this.unbind(n)})}}unbind(t){if(!t)return this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),void(this.boundAxes.length=0);var e=t instanceof i?t:t.xAxis[0];for(let t=this.boundAxes.length-1;0<=t;t--)this.boundAxes[t].axis===e&&(this.boundAxes[t].callbacks.forEach(t=>t()),this.boundAxes.splice(t,1))}destroy(){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=n(this.chartOptions,{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries(n(t,{showInNavigator:d(t.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});var{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){var{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:r,max:o}=this.navigator.xAxis.getExtremes();return{min:d(t,r),max:d(e,o),dataMin:r,dataMax:o,userMin:i,userMax:s}}setRange(t,e,i,s,r){l(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:n(r,{trigger:"navigator"})})}getInitialExtremes(){var{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}}),e(t,"masters/modules/navigator.src.js",[t["Core/Globals.js"],t["Stock/Navigator/StandaloneNavigator.js"],t["Stock/Navigator/NavigatorComposition.js"]],function(t,e,i){return t.StandaloneNavigator=t.StandaloneNavigator||e,t.navigator=t.StandaloneNavigator.navigator,i.compose(t.Chart,t.Axis,t.Series),t}),e(t,"masters/standalone-navigator.src.js",[t["masters/highcharts.src.js"]],function(t){return t}),(t["masters/standalone-navigator.src.js"]._modules=t)["masters/standalone-navigator.src.js"]}); \ No newline at end of file +!function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define(function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(r){"use strict";var t={};function e(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),r&&"function"==typeof CustomEvent&&r.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}return e(t,"Core/Globals.js",[],function(){var t,i=t={SVG_NS:"http://www.w3.org/2000/svg",product:"Highcharts",version:"11.4.8"};return i.win=void 0!==r?r:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&parseInt(i.userAgent.split("Firefox/")[1],10)<4,i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;var e;return i.isMS||(e=Object.defineProperty({},"passive",{get:function(){t=!0}}),i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))),t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,t}),e(t,"Core/Utilities.js",[t["Core/Globals.js"]],function(n){let i,{charts:e,doc:a,win:h}=n;function l(t,e,i,s){var r=e?"Highcharts error":"Highcharts warning";let o=f(t=32===t?r+": Deprecated member":t),a=o?r+` #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let i="";o&&(a+="?"),M(s,function(t,e){i+=` + - ${e}: `+t,o&&(a+=encodeURI(e)+"="+encodeURI(t))}),a+=i}w(n,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);h.console&&-1===l.messages.indexOf(a)&&console.warn(a)}),l.messages.push(a)}function d(t,e){return parseInt(t,e||10)}function c(t){return"string"==typeof t}function p(t){t=Object.prototype.toString.call(t);return"[object Array]"===t||"[object Array Iterator]"===t}function g(t,e){return!(!t||"object"!=typeof t||e&&p(t))}function o(t){return g(t)&&"number"==typeof t.nodeType}function u(t){var e=t&&t.constructor;return!(!g(t,!0)||o(t)||!e||!e.name||"Object"===e.name)}function f(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&-1/0{m(t)?i.setAttribute(e,t):r?(s=i.getAttribute(e))||"class"!==e||(s=i.getAttribute(e+"Name")):i.removeAttribute(e)};return c(t)?o(e,t):M(t,o),s}function x(t){return p(t)?t:[t]}function y(t,e){let i;for(i in t=t||{},e)t[i]=e[i];return t}function v(){var e=arguments,i=e.length;for(let t=0;tt.order-e.order),t.forEach(t=>{!1===t.fn.call(s,o)&&o.preventDefault()})}t&&!o.defaultPrevented&&t.call(s,o)}M({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){n[i]=function(t){return l(32,!1,void 0,{["Highcharts."+i]:"use Array."+e}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});var r=function(){let t=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(i?"":t)+e++}}();return h.jQuery&&(h.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):e[s(this[0],"data-highcharts-chart")]}),{addEvent:function(t,e,i,s={}){let r="function"==typeof t&&t.prototype||t,o=(Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={}),r.hcEvents),a=(n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),t.addEventListener);a&&a.call(t,e,i,!!n.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),o[e]||(o[e]=[]);s={fn:i,order:"number"==typeof s.order?s.order:1/0};return o[e].push(s),o[e].sort((t,e)=>t.order-e.order),function(){C(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]{e=e%2/2,i=i?-1:1;return(Math.round(t*i-e)+e)*i},css:b,defined:m,destroyObjectProperties:function(i,s,r){M(i,function(t,e){t!==s&&t?.destroy&&t.destroy(),!t?.destroy&&r||delete i[e]})},diffObjects:function(t,e,i,h){var s={};return function s(t,r,o,a){let n=i?r:t;M(t,function(e,i){if(!a&&h&&-1{if(1=t-1&&(t=Math.floor(e)),Math.max(0,t-(i(s,"padding-left",!0)||0)-(i(s,"padding-right",!0)||0))}if("height"===t)return Math.max(0,Math.min(s.offsetHeight,s.scrollHeight)-(i(s,"padding-top",!0)||0)-(i(s,"padding-bottom",!0)||0));let o=h.getComputedStyle(s,void 0);return o&&(r=o.getPropertyValue(t),v(e,"opacity"!==t)&&(r=d(r))),r},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;var s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return k(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:M,offset:function(t){var e=a.documentElement,t=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(h.pageYOffset||e.scrollTop)-(e.clientTop||0),left:t.left+(h.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:t.width,height:t.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:v,pInt:d,pushUnique:function(t,e){return t.indexOf(e)<0&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:C,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:x,stableSort:function(t,i){let s,e;var r=t.length;for(e=0;e{try{var e="shortOffset,"+(o.timezone||""),[,,i,,s=0]=(h.formatCache[e]=h.formatCache[e]||Intl.DateTimeFormat("en",{timeZone:o.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),r=-36e5*(i+s/60);if(n(r))return r}catch(t){a(34)}return 0}:this.useUTC&&e?t=>6e4*e(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(i,s,t){if(!y(s)||isNaN(s))return g.defaultOptions.lang&&g.defaultOptions.lang.invalidDate||"";i=b(i,"%Y-%m-%d %H:%M:%S");let r=this,e=new this.Date(s),o=this.get("Hours",e),a=this.get("Day",e),n=this.get("Date",e),h=this.get("Month",e),l=this.get("FullYear",e),d=g.defaultOptions.lang,c=d&&d.weekdays,p=d&&d.shortWeekdays;return u(v({a:p?p[a]:c[a].substr(0,3),A:c[a],d:f(n),e:f(n,2," "),w:a,b:d.shortMonths[h],B:d.months[h],m:f(h+1),o:h+1,y:l.toString().substr(2,2),Y:l,H:f(o),k:o,I:f(o%12||12),l:o%12||12,M:f(this.get("Minutes",e)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:f(this.get("Seconds",e)),L:f(Math.floor(s%1e3),3)},g.dateFormats),function(t,e){for(;-1!==i.indexOf("%"+e);)i=i.replace("%"+e,"function"==typeof t?t.call(r,s):t)}),t?i.substr(0,1).toUpperCase()+i.substr(1):i}resolveDTLFormat(t){return e(t,!0)?t:{main:(t=r(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let r,o,a,n,h=this,l=h.Date,d=[],c={},p=new l(e),g=t.unitRange,u=t.count||1;if(s=b(s,1),y(e)){h.set("Milliseconds",p,g>=S.second?0:u*Math.floor(h.get("Milliseconds",p)/u)),g>=S.second&&h.set("Seconds",p,g>=S.minute?0:u*Math.floor(h.get("Seconds",p)/u)),g>=S.minute&&h.set("Minutes",p,g>=S.hour?0:u*Math.floor(h.get("Minutes",p)/u)),g>=S.hour&&h.set("Hours",p,g>=S.day?0:u*Math.floor(h.get("Hours",p)/u)),g>=S.day&&h.set("Date",p,g>=S.month?1:Math.max(1,u*Math.floor(h.get("Date",p)/u))),g>=S.month&&(h.set("Month",p,g>=S.year?0:u*Math.floor(h.get("Month",p)/u)),o=h.get("FullYear",p)),g>=S.year&&(o-=o%u,h.set("FullYear",p,o)),g===S.week&&(n=h.get("Day",p),h.set("Date",p,h.get("Date",p)-n+s+(n4*S.month||h.getTimezoneOffset(e)!==h.getTimezoneOffset(i));let t=p.getTime();for(r=1;tt){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return h.formatCache={},h}),e(t,"Core/Defaults.js",[t["Core/Chart/ChartDefaults.js"],t["Core/Globals.js"],t["Core/Color/Palettes.js"],t["Core/Time.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=e["isTouchDevice"],{fireEvent:a,merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
    ',pointFormat:' {series.name}: {point.y}
    ',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},l=(h.chart.styledMode=!1,new s(h.time));return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),e(t,"Core/Color/Color.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(h,t){let{isNumber:r,merge:o,pInt:s}=t;class l{static parse(t){return t?new l(t):l.None}constructor(t){let e,i,s,r,o=(this.rgba=[NaN,NaN,NaN,NaN],this.input=t,h.Color);if(o&&o!==l)return new o(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new l(t[1]));else if("string"==typeof t){var a,n;if(this.input=t=l.names[t.toLowerCase()]||t,"#"===t.charAt(0)&&(a=t.length,n=parseInt(t.substr(1),16),7===a?i=[(16711680&n)>>16,(65280&n)>>8,255&n,1]:4===a&&(i=[(3840&n)>>4|(3840&n)>>8,(240&n)>>4|240&n,(15&n)<<4|15&n,1])),!i)for(s=l.parsers.length;s--&&!i;)(e=(r=l.parsers[s]).regex.exec(t))&&(i=r.parse(e))}i&&(this.rgba=i)}get(s){let t=this.input,e=this.rgba;if("object"!=typeof t||void 0===this.stops)return e&&r(e[0])?"rgb"===s||!s&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===s?""+e[3]:"rgba("+e.join(",")+")":t;{let i=o(t);return i.stops=[].slice.call(i.stops),this.stops.forEach((t,e)=>{i.stops[e]=[i.stops[e][0],t.get(s)]}),i}}brighten(e){let i=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(r(e)&&0!==e)for(let t=0;t<3;t++)i[t]+=s(255*e),i[t]<0&&(i[t]=0),255=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,l(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(o),!1):(this.pos=r.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0))}initPath(t,e,i){let s=t.startX,r=t.endX,o=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,g=e&&e.slice();if(!g||h)return[o,o];function u(t,e){for(;t.length{t=h(t.options.animation);o=p(e)&&n(e.defer)?s.defer:Math.max(o,t.duration+t.defer),a=Math.min(s.duration,t.duration)}),t.renderer.forExport&&(o=0),{defer:Math.max(0,o-a),duration:Math.min(o,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=i(t,e.options.chart.animation,!0)},stop:f}}),e(t,"Core/Renderer/HTML/AST.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(d,t){let{SVG_NS:c,win:e}=d,{attr:p,createElement:r,css:g,error:u,isFunction:i,isString:o,objectEach:f,splat:s}=t,a=e["trustedTypes"],n=a&&i(a.createPolicy)&&a.createPolicy("highcharts",{createHTML:t=>t}),h=n?n.createHTML(""):"",l=function(){try{return!!(new DOMParser).parseFromString(h,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(s){return f(s,(e,t)=>{let i=!0;-1===m.allowedAttributes.indexOf(t)&&(i=!1),(i=-1!==["background","dynsrc","href","lowsrc","src"].indexOf(t)?o(e)&&m.allowedReferences.some(t=>0===e.indexOf(t)):i)||(u(33,!1,void 0,{"Invalid attribute in config":""+t}),delete s[t]),o(e)&&s[t]&&(s[t]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function h(t,l){let e;return s(t).forEach(function(s){let r;var o=s.tagName,a=s.textContent?d.doc.createTextNode(s.textContent):void 0,n=m.bypassHTMLFiltering;if(o)if("#text"===o)r=a;else if(-1!==m.allowedTags.indexOf(o)||n){let t="svg"!==o&&l.namespaceURI||c,e=d.doc.createElementNS(t,o),i=s.attributes||{};f(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(i[e]=t)}),p(e,n?i:m.filterUserAttributes(i)),s.style&&g(e,s.style),a&&e.appendChild(a),h(s.children||[],e),r=e}else u(33,!1,void 0,{"Invalid tagName in config":o});r&&l.appendChild(r),e=r}),e}(this.nodes,t)}parseMarkup(e){let i,s=[];if(e=e.trim().replace(/ style=(["'])/g," data-style=$1"),l)i=(new DOMParser).parseFromString(n?n.createHTML(e):e,"text/html");else{let t=r("div");t.innerHTML=e,i={body:t}}let o=(t,e)=>{let i=t.nodeName.toLowerCase(),s={tagName:i};"#text"===i&&(s.textContent=t.textContent||"");var r=t.attributes;if(r){let e={};[].forEach.call(r,t=>{"data-style"===t.name?s.style=m.parseStyle(t.value):e[t.name]=t.value}),s.attributes=e}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{o(t,e)}),e.length&&(s.children=e)}e.push(s)};return[].forEach.call(i.body.childNodes,t=>o(t,s)),s}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=h,m.bypassHTMLFiltering=!1,m}),e(t,"Core/Templating.js",[t["Core/Defaults.js"],t["Core/Utilities.js"]],function(t,e){let{defaultOptions:v,defaultTime:b}=t,{extend:r,getNestedProperty:S,isArray:o,isNumber:g,isObject:a,pick:k,pInt:u}=e,M={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(i){let s=arguments[arguments.length-1];return!!o(i)&&i.map((t,e)=>C(s.body,r(a(t)?t:{"@this":t},{"@index":e,"@first":0===e,"@last":e===i.length-1}))).join("")},ge:(t,e)=>e<=t,gt:(t,e)=>e!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function C(t="",d,c){let e=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,i=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,s=[],p=/f$/,g=/\.(\d)/,u=v.lang,f=c&&c.time||b,m=c&&c.numberFormatter||w,x=(t="")=>{let e;return"true"===t||"false"!==t&&((e=Number(t)).toString()===t?e:S(t,d))},r,o,a=0,n;for(;null!==(r=e.exec(t));){var h,l=i.exec(r[1]),y=(l&&(r=l,n=!0),o&&o.isBlock||(o={ctx:d,expression:r[1],find:r[0],isBlock:"#"===r[1].charAt(0),start:r.index,startInner:r.index+r[0].length,length:r[0].length}),r[1].split(" ")[0].replace("#","")),y=(M[y]&&(o.isBlock&&y===o.fn&&a++,o.fn||(o.fn=y)),"else"===r[1]);if(o.isBlock&&o.fn&&(r[1]==="/"+o.fn||y)?a?y||a--:(h=o.startInner,h=t.substr(h,r.index-h),void 0===o.body?(o.body=h,o.startInner=r.index+r[0].length):o.elseBody=h,o.find+=h+r[0],y||(s.push(o),o=void 0)):o.isBlock||s.push(o),l&&!o?.isBlock)break}return s.forEach(i=>{let s,r,{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],e=n.split(" ");for(r=M[h].length;r--;)t.unshift(x(e[r+1]));s=M[h].apply(d,t),i.isBlock&&"boolean"==typeof s&&(s=C(s?o:a,d,c))}else{let e=n.split(":");if(s=x(e.shift()||""),e.length&&"number"==typeof s){let t=e.join(":");var l;p.test(t)?(l=parseInt((t.match(g)||["","-1"])[1],10),null!==s&&(s=m(s,l,u.decimalPoint,-1t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,g,u=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>t){for(k(e,(t,e)=>(e.rank||0)-(t.rank||0)),g=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?g:h-1;g&&x>t;)f=e[c=Math.floor(p)],S(l,c)&&(x-=f.size),p+=g,y&&p>=e.length&&(g/=2,p=g);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(k(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:b(t.align,.5)}));u;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=v(m-f.size*f.align,0,s-f.size);for(c=e.length,u=!1;c--;)0e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>s&&(e[c-1].pos=s-e[c-1].size),e.splice(c,1),u=!0)}return d.apply(o,n),c=0,e.some(t=>{let e=0;return(t.targets||[]).some(()=>(o[c].pos=t.pos+e,void 0!==r&&Math.abs(o[c].pos-o[c].target)>r?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||s)-.1*s,o.reducedLen>.1*s&&i(o,s,r),!0):(e+=o[c].size,c++,!1)))}),k(o,a),o}}}),e(t,"Core/Renderer/SVG/SVGElement.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,m,i,e){let{animate:o,animObject:a,stop:d}=t,{deg2rad:I,doc:n,svg:h,SVG_NS:l,win:s}=i,{addEvent:r,attr:c,createElement:p,crisp:g,css:x,defined:y,erase:u,extend:v,fireEvent:b,isArray:S,isFunction:k,isObject:f,isString:M,merge:C,objectEach:w,pick:A,pInt:T,pushUnique:P,replaceNested:O,syncTimeout:L,uniqueKey:E}=e;class D{_defaultGetter(t){let e=A(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return e=/^-?[\d\.]+$/.test(e)?parseFloat(e):e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(e=t&&!t.handleZ&&!this.zIndex?e:this.zIndexSetter())||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=!e&&this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h={},l=this.renderer,d=l.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);var p=!i||M(i)?i||"renderer":void 0,i=(p&&(c&&P(d,this),i=void 0),A(i,l[p],l)),p=t.align,g=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?a=1:"center"===p&&(a=2),a&&(r+=((i.width||0)-(t.width||0))/a),h[e?"translateX":"x"]=Math.round(r),"bottom"===g?n=1:"middle"===g&&(n=2),n&&(o+=((i.height||0)-(t.height||0))/n),h[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](h),this.placed=!0),this.alignAttr=h,this}alignSetter(t){var e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=a(A(e,this.renderer.globalAnimation,!0)),r=s.defer;return n.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),L(()=>{this.element&&o(this,t,s)},r)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let r=this.element,e=(t=-1!==t.indexOf("contrast")?t.replace(/contrast/g,this.renderer.getContrast(r.style.fill)):t).split(" "),o=e[e.length-1],a=e[0];if(a&&"none"!==a&&i.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let i=n.createElementNS(l,"tspan"),t=(c(i,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"}),r.querySelector("textPath")||r),e=([].forEach.call(t.childNodes,t=>{let e=t.cloneNode(!0);e.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>e.removeAttribute(t)),i.appendChild(e)}),0),s=([].forEach.call(t.querySelectorAll("text tspan"),t=>{e+=Number(t.getAttribute("dy"))}),n.createElementNS(l,"tspan"));s.textContent="​",c(s,{x:Number(r.getAttribute("x")),dy:-e}),i.appendChild(s),t.insertBefore(i,t.firstChild)}}attr(i,t,e,s){let r=this["element"],o=D.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof i&&void 0!==t&&(a=i,(i={})[a]=t),"string"==typeof i?h=(this[i+"Getter"]||this._defaultGetter).call(this,i,r):(w(i,function(t,e){l=!1,s||d(this,e),this.symbolName&&-1!==o.indexOf(e)&&(n||(this.symbolAttr(i),n=!0),l=!0),!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0),l||(this[e+"Setter"]||this._defaultSetter).call(this,t,e,r)},this),this.afterSetters()),e&&e.call(this),h}clip(t){var e,i;return t&&!t.clipPath&&(e=E()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs),v(t,{clipPath:i,id:e,count:0}),t.add(i)),this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);var i=t.x||this.x||0,s=t.y||this.y||0,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,i=g(i,e),s=g(s,e);return v(t,{x:i,y:s,width:g(r,e)-i,height:g(o,e)-s}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,r,o,a,n,h,l,d,c,p,g,u=[],f;b(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],h=s.gradients,l=t.stops,p=i.radialReference,S(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!y(a.gradientUnits)&&(n=a,a=C(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),w(a,function(t,e){"id"!==e&&u.push(e,t)}),w(l,function(t){u.push(t)}),h[u=u.join(",")])g=h[u].attr("id");else{a.id=g=E();let e=h[u]=s.createElement(o).attr(a).add(s.defs);e.radAttr=n,e.stops=[],l.forEach(function(t){c=0===t[1].indexOf("rgba")?(d=(r=m.parse(t[1])).get("rgb"),r.get("a")):(d=t[1],1);t=s.createElement("stop").attr({offset:t[0],"stop-color":d,"stop-opacity":c}).add(e);e.stops.push(t)})}f="url("+s.url+"#"+g+")",i.setAttribute(e,f),i.gradient=u,t.toString=function(){return f}}})}css(t){let i=this.styles,s={},r=this.element,o,a=!i;if(i&&w(t,function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)}),a){null===(t=i?v(i,s):t).width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),v(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let e=C(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>e&&delete e[t]),e.color&&(e.fill=e.color)),x(r,e)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(e){let i,s=this["stroke-width"];if("inherit"===s&&(s=1),e=e&&e.toLowerCase()){let t=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(i=t.length;i--;)t[i]=""+T(t[i])*A(s,NaN);e=t.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",e)}}destroy(){let i=this,t=i.element||{},e=i.renderer,s=t.ownerSVGElement,r="SPAN"===t.nodeName&&i.parentGroup||void 0,o,a;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,d(i),i.clipPath&&s){let e=i.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){-1e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o,{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,g=n.namespaceURI===this.SVG_NS,u=A(e,this.rotation,0),f=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(y(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",h.rootFontSize,f,u,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),!(i=o&&!t?c[o]:i)||i.polygon){if(g||h.forExport){try{r=this.fakeTS&&function(t){var e=n.querySelector(".highcharts-text-outline");e&&x(e,{display:t})},k(r)&&r("none"),i=n.getBBox?v({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},k(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,g&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},`+Math.round(s)]||s);e={bBox:i=u?this.getRotatedBox(i,u):i};b(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===d||0[t-t*u,t*f]),C=i+d*(r-m)+b+M+c*y,w=C+m,A=w-o*y,T=A-m,P=s+c-d*x-S+k+c*v,O=P+x,L=O-o*v,E=L-x,D=Math.min(C,w,A,T),j=Math.min(P,O,L,E),B=Math.max(C,w,A,T)-D,R=Math.max(P,O,L,E)-j;return{x:D,y:j,width:B,height:R,polygon:[[C,P],[w,O],[A,L],[T,E]]}}getStyle(t){return s.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=l,this.element="span"===e||"body"===e?p(e):n.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},b(this,"afterInit")}on(t,e){let i=this["onEvents"];return i[t]&&i[t](),i[t]=r(this.element,t,e),this}opacitySetter(t,e,i){t=Number(Number(t).toFixed(3));this.opacity=t,i.setAttribute(e,t)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(M(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){var t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let e=this["renderer"],i=C(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},f(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(c(i=n.createElementNS(l,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(e){let i=this;D.symbolCustomAttribs.forEach(function(t){i[t]=A(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||n.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=O(A(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+A(r,e.getAttribute("x"),0)+" "+A(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+A(a,1)+" "+A(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,g;if(y(t)?(o.setAttribute("data-z-index",t),this[e]===(t=+t)&&(p=!1)):y(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),g=(n=r.childNodes).length-1;0<=g&&!d;g--)c=!y(l=(h=n[g]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!g?(r.insertBefore(o,n[g]),d=!0):(T(l)<=t||c&&(!y(t)||0<=t))&&(r.insertBefore(o,n[g+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),e(t,"Core/Renderer/SVG/SVGLabel.js",[t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e){let{defined:o,extend:a,isNumber:n,merge:s,pick:d,removeEvent:i}=e;class c extends t{constructor(t,e,i,s,r,o,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=c.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){t={left:0,center:.5,right:1}[t];t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&n(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(i){if(i){let e={};i=s(i),c.textProps.forEach(t=>{void 0!==i[t]&&(e[t]=i[t],delete i[t])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return t.prototype.css.call(this,i)}destroy(){i(this.element,"mouseenter"),i(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:a=0}=this,n=d(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:r+this.bBox.x-n,y:o+this.bBox.y-i+this.baselineOffset};return l=h?this.getRotatedBox(l,h):l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:d(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&o(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){n(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},i=this.padding,s=this.bBox=n(this.widthSetting)&&n(this.heightSetting)&&!this.textAlign||!o(t.textStr)?c.emptyBBox:t.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||s.height||0)+2*i;var r=this.renderer.fontMetrics(t);if(this.baselineOffset=i+Math.min((this.text.firstLineMetrics||r).b,s.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!t.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r=this.getCrispAdjust(),e.x=r,e.y=(this.baseline?-this.baselineOffset:0)+r,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(a(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let i=this.text;if(!i.textPath){this.updateBoxSize();let t=this.baseline?0:this.baselineOffset,e=d(this.paddingLeft,this.padding);o(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),e===i.x&&t===i.y||(i.attr("x",e),i.hasBoxWidthChanged&&(this.bBox=i.getBBox(!0)),void 0!==t&&i.attr("y",t)),i.x=e,i.y=t}}widthSetter(t){this.widthSetting=n(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){var t=this.padding,e=d(this.paddingLeft,t),t=d(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+t}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return c.emptyBBox={width:0,height:0,x:0,y:0},c.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],c}),e(t,"Core/Renderer/SVG/Symbols.js",[t["Core/Utilities.js"]],function(t){let{defined:b,isNumber:d,pick:S}=t;function r(u,f,m,x,y){let v=[];if(y){let t=y.start||0,e=S(y.r,m),i=S(y.r,x||m),s=2e-4/(y.borderRadius?1:Math.max(e,1)),r=Math.abs((y.end||0)-t-2*Math.PI)/g.test(s))){if(""!==s){a&&a.appendChild(i);let t=new h(s);this.modifyTree(t.nodes),t.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),a&&a.removeChild(i)}}else i.appendChild(c.createTextNode(this.unescapeEntities(s)));d(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){var t;let h=this.svgElement,l=g(h.element,"x");for(h.firstLineMetrics=void 0;(t=h.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)h.element.removeChild(t);[].forEach.call(h.element.querySelectorAll("tspan.highcharts-br"),(t,e)=>{t.nextSibling&&t.previousSibling&&(0===e&&1===t.previousSibling.nodeType&&(h.firstLineMetrics=h.renderer.fontMetrics(t.previousSibling)),g(t,{dy:this.getLineHeight(t.nextSibling),x:l}))});let d=this.width||0;if(d){let i=(i,s)=>{let t=i.textContent||"",r=t.replace(/([^\^])-/g,"$1- ").split(" "),e=!this.noWrap&&(1t.substring(0,e)+"…");else if(e){let t=[],e=[];for(;s.firstChild&&s.firstChild!==i;)e.push(s.firstChild),s.removeChild(s.firstChild);for(;r.length;)r.length&&!this.noWrap&&0r.slice(0,e).join(" ").replace(/- /g,"-")),n=h.actualWidth,a++;e.forEach(t=>{s.insertBefore(t,i)}),t.forEach(t=>{s.insertBefore(c.createTextNode(t),i);let e=c.createElementNS(p,"tspan");e.textContent="​",g(e,{dy:o,x:l}),s.insertBefore(e,i)})}},s=e=>{[].slice.call(e.childNodes).forEach(t=>{t.nodeType===r.Node.TEXT_NODE?i(t,e):(-1!==t.className.baseVal.indexOf("highcharts-br")&&(h.actualWidth=0),s(t))})};s(h.element)}}getLineHeight(t){t=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(n){let h=(e,i)=>{let{attributes:s={},children:t,style:r={},tagName:o}=e,a=this.renderer.styledMode;if("b"===o||"strong"===o?a?s.class="highcharts-strong":r.fontWeight="bold":"i"!==o&&"em"!==o||(a?s.class="highcharts-emphasized":r.fontStyle="italic"),r&&r.color&&(r.fill=r.color),"br"===o){s.class="highcharts-br",e.textContent="​";let t=n[i+1];t&&t.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,""))}else"a"===o&&t&&t.some(t=>"#text"===t.tagName)&&(e.children=[{children:t,tagName:"tspan"}]);"#text"!==o&&"a"!==o&&(e.tagName="tspan"),l(e,{attributes:s,style:r}),t&&t.filter(t=>"#text"!==t.tagName).forEach(h)};n.forEach(h),i(this.svgElement,"afterModifyTree",{nodes:n})}truncate(r,t,o,a,e,i){function s(t,e){let i=e||t,s=r.parentNode;if(s&&void 0===c[i]&&s.getSubStringLength)try{c[i]=a+s.getSubStringLength(0,o?i+1:i)}catch(t){}return c[i]}let n,h,l=this.svgElement,d=l["rotation"],c=[],p=o?1:0,g=(t||o||"").length,u=g;if(l.rotation=0,a+(h=s(r.textContent.length))>e){for(;p<=g;)u=Math.ceil((p+g)/2),o&&(n=i(o,u)),h=s(u,n&&n.length-1),p===g?p=g+1:h>e?g=u-1:p=u;0===g?r.textContent="":t&&g===t.length-1||(r.textContent=n||i(t||o,u))}o&&o.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(i,s){return o(this.renderer.escapes,function(t,e){s&&-1!==s.indexOf(t)||(i=i.toString().replace(RegExp(t,"g"),e))}),i}}}),e(t,"Core/Renderer/SVG/SVGRenderer.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Defaults.js"],t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGLabel.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Renderer/SVG/TextBuilder.js"],t["Core/Utilities.js"]],function(y,t,e,i,s,r,l,o,a,n){let h,v=t["defaultOptions"],{charts:f,deg2rad:d,doc:m,isFirefox:c,isMS:b,isWebKit:p,noop:g,SVG_NS:u,symbolSizes:x,win:S}=i,{addEvent:k,attr:M,createElement:C,crisp:w,css:A,defined:T,destroyObjectProperties:P,extend:O,isArray:L,isNumber:E,isObject:D,isString:I,merge:j,pick:B,pInt:z,replaceNested:N,uniqueKey:W}=n;class R{constructor(t,e,i,s,r,o,a){let n,h,l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),M(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&M(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),c&&t.getBoundingClientRect&&((n=function(){A(t,{left:0,top:0}),h=t.getBoundingClientRect(),A(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=k(S,"resize",n))}definition(t){return new y([t]).addToDOM(this.defs.element)}getReferenceURL(){var t,e;if((c||p)&&m.getElementsByTagName("base").length&&(T(h)||(t=W(),t=new y([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(m.body),A(t,{position:"fixed",top:0,left:0,zIndex:9e5}),e=m.elementFromPoint(6,6),h="hitme"===(e&&e.id),m.body.removeChild(t)),h))return N(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"]);return""}getStyle(t){return this.style=O({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(e){var t=["highcharts-drop-shadow-"+this.chartIndex,...Object.keys(e).map(t=>t+"-"+e[t])].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=j({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector("#"+t)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),t}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new a(t).buildSVG()}getContrast(t){t=e.parse(t).rgba.map(t=>{t/=255;return t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4)}),t=.2126*t[0]+.7152*t[1]+.0722*t[2];return(.05+t)/.05<1.05/(.05+t)?"#FFFFFF":"#000000"}button(t,e,i,s,r={},o,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,g=0,u=(r=j(v.global.buttonTheme,r),c&&(delete r.fill,delete r.stroke,delete r["stroke-width"]),r.states||{}),f=r.style||{},m=(delete r.states,delete r.style,[y.filterUserAttributes(r)]),x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(j(m[0],y.filterUserAttributes(p[e+5]||u[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),k(d.element,b?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),k(d.element,b?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),c||(d.attr(m[t]),t=x[t],D(t)&&d.css(t))},d.attr(m[0]),c||(d.css(O({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=w(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=w(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return L(t)?e.d=t:D(t)&&O(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a,n=(D(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o},this.symbol("arc",t,e,i,i,a));return n.r=i,n}rect(t,e,i,s,r,o){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,O(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,M(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:B(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(e,t,i,s,r,o){function a(t){h.attr({href:e}),o.call(h,t)}let n={preserveAspectRatio:"none"},h=(E(t)&&(n.x=t),E(i)&&(n.y=i),E(s)&&(n.width=s),E(r)&&(n.height=r),this.createElement("image").attr(n));if(o){h.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let t=new S.Image;k(t,"load",a),t.src=e,t.complete&&a({})}else h.attr({href:e});return h}symbol(t,i,s,e,r,d){let o,a,n,h,l=this,c=/^url\((.*?)\)$/,p=c.test(t),g=!p&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof i&&(a=u.call(this.symbols,i||0,s||0,e||0,r||0,d)),o=this.path(a),l.styledMode||o.attr("fill","none"),O(o,{symbolName:g||void 0,x:i,y:s,width:e,height:r}),d&&O(o,d);else if(p){n=t.match(c)[1];let e=o=this.image(n);e.imgwidth=B(d&&d.width,x[n]&&x[n].width),e.imgheight=B(d&&d.height,x[n]&&x[n].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{e[t+"Setter"]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:o,imgwidth:a,imgheight:n}=this,h="width"===e?a:n,l=1;d&&"within"===d.backgroundSize&&r&&o&&a&&n?(l=Math.min(r/a,o/n),M(s,{width:Math.round(a*l),height:Math.round(n*l)})):s&&h&&s.setAttribute(e,h),!i&&a&&n&&this.translate(((r||0)-a*l)/2,((o||0)-n*l)/2)}}),T(i)&&e.attr({x:i,y:s}),e.isImg=!0,e.symbolUrl=t,T(e.imgwidth)&&T(e.imgheight)?h(e):(e.attr({width:0,height:0}),C("img",{onload:function(){let t=f[l.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this)),x[n]={width:this.width,height:this.height},e.imgwidth=this.width,e.imgheight=this.height,e.element&&h(e),this.parentNode&&this.parentNode.removeChild(this),l.imgCount--,l.imgCount||!t||t.hasLoaded||t.onload()},src:n}),this.imgCount++)}return o}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),T(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(i,s,t){let r=t.getElementsByTagName("tspan"),o=t.getAttribute(s);for(let t=0,e;tt.align())}}return O(R.prototype,{Element:r,SVG_NS:u,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:o,draw:g}),s.registerRendererType("svg",R,!0),R}),e(t,"Core/Renderer/HTML/HTMLElement.js",[t["Core/Renderer/HTML/AST.js"],t["Core/Globals.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(e,t,a,i){let s=t["composed"],{attr:n,css:v,createElement:h,defined:b,extend:o,pInt:l,pushUnique:r}=i;function d(t,e,i){let s=this.div?.style||i.style;a.prototype[e+"Setter"].call(this,t,e,i),s&&(s[e]=t)}class c extends a{static compose(t){r(s,this.compose)&&(t.prototype.html=function(t,e,i){return new c(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;var i=this["element"],s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=l(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.whiteSpace="nowrap",t.overflow="hidden"),o(this.styles,t),v(i,t),e&&this.updateTransform(),this}htmlGetBBox(){var t=this["element"];return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:r,renderer:o,rotation:a,rotationOriginX:n,rotationOriginY:h,styles:t,textAlign:l="left",textWidth:d,translateX:e=0,translateY:i=0,x:c=0,y:p=0}=this,g={left:0,center:.5,right:1}[l],u=t.whiteSpace;if(v(r,{marginLeft:e+"px",marginTop:i+"px"}),"SPAN"===r.tagName){let t=[a,l,r.innerHTML,d,this.textAlign].join(","),e=-+this.parentGroup?.padding||0,i,s=!1;d!==this.oldTextWidth&&(m=this.textPxLength||(v(r,{width:"",whiteSpace:u||"nowrap"}),r.offsetWidth),((f=d||0)>this.oldTextWidth||f{if(!i.div){let t=n(i.element,"class"),e=i.css,s=h("div",t?{className:t}:void 0,{position:"absolute",left:`${i.translateX||0}px`,top:`${i.translateY||0}px`,...i.styles,display:i.display,opacity:i.opacity,visibility:i.visibility},i.parentGroup?.div||r);i.classSetter=(t,e,i)=>{i.setAttribute("class",t),s.className=t},i.translateXSetter=i.translateYSetter=(t,e)=>{i[e]=t,s.style["translateX"===e?"left":"top"]=t+"px",i.doTransform=!0},i.opacitySetter=i.visibilitySetter=d,i.css=t=>(e.call(i,t),t.cursor&&(s.style.cursor=t.cursor),t.pointerEvents&&(s.style.pointerEvents=t.pointerEvents),i),i.on=function(){return a.prototype.on.apply({element:s,onEvents:i.onEvents},arguments),i},i.div=s}return i.div})(o,s)}return(i||s).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,e.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let p=c.prototype;return p.visibilitySetter=p.opacitySetter=d,p.ySetter=p.rotationSetter=p.rotationOriginXSetter=p.rotationOriginYSetter=p.xSetter,c}),e(t,"Core/Axis/AxisDefaults.js",[],function(){var t;t={xAxis:{alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},yAxis:{reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let t=this.axis.chart["numberFormatter"];return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}};return t}),e(t,"Core/Foundation.js",[t["Core/Utilities.js"]],function(t){let{addEvent:s,isFunction:r,objectEach:e,removeEvent:o}=t;return{registerEventOptions:function(i,t){i.eventOptions=i.eventOptions||{},e(t.events,function(t,e){i.eventOptions[e]!==t&&(i.eventOptions[e]&&(o(i,e,i.eventOptions[e]),delete i.eventOptions[e]),r(t)&&(i.eventOptions[e]=t,s(i,e,t,{order:0})))})}}}),e(t,"Core/Axis/Tick.js",[t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(M,t,e){let y=t["deg2rad"],{clamp:h,correctFloat:C,defined:w,destroyObjectProperties:i,extend:A,fireEvent:T,isNumber:P,merge:a,objectEach:n,pick:O}=e;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,T(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,r=e.categories,o=e.logarithmic,a=e.names,n=t.pos,h=O(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,g=l.info,u=t.label,f,m,x,y=this.parameters.category||(r?O(r[n],a[n],n):n),v=(o&&P(y)&&(y=C(o.lin2log(y))),e.dateTime&&(g?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&g.higherRanks[n]||g.unitName])).main:P(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c,{axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:g,value:y}),b=(T(this,"labelFormat",v),t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),M.format(h.format,t,s)):e.defaultLabelFormatter.call(t)),S=b.call(v,v),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;xu||e.autoRotation&&(h.styles||{}).width)&&(m=u)),m&&(this.shortenLabel?this.shortenLabel():(g.width=Math.floor(m)+"px",(i.style||{}).textOverflow||(g.textOverflow="ellipsis"),h.css(g)))}moveLabel(e,t){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===e?(i.movedLabel=s,o=!0,delete i.label):n(r.ticks,function(t){o||t.isNew||t===i||!t.label||t.label.textStr!==e||(i.movedLabel=t.label,o=!0,t.labelPos=i.movedLabel.xy,delete t.label)}),o||!i.labelPos&&!s||(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(e,t,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){var s=this.axis,r=s.horiz,o=this.pos,a=O(this.tickmarkOffset,s.tickmarkOffset),o=this.getPosition(r,o,a,e),a=o.x,n=o.y,h=s.pos,l=h+s.len,r=r?a:n,a=(!s.chart.polar&&this.isNew&&(C(r)w(e,void 0,void 0,B(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);f(g,{xAxis:o,yAxis:C(o,a)});class P{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s),i=(this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=B(e.opposite,this.opposite),this.side=B(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e),this.options),r=i.labels,e=(this.type??(this.type=i.type||"linear"),this.uniqueNames??(this.uniqueNames=i.uniqueNames??!0),D(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=B(i.reversed,this.reversed),this.visible=i.visible,this.zoomEnabled=i.zoomEnabled,this.hasNames="category"===this.type||!0===i.categories,this.categories=y(i.categories)&&i.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=L(i.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=i.minRange||i.maxZoom,this.range=i.range,this.offset=i.offset||0,this.max=void 0,this.min=void 0,B(i.crosshair,z(t.options.tooltip.crosshairs)[s?0:1]));this.crosshair=!0===e?{}:e,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),x(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!L(this.reversed)&&(this.reversed=!0),this.labelRotation=j(r.rotation)?r.rotation:void 0,n(this,i),D(this,"afterInit")}setOptions(t){var e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=C(e,g[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart["numberFormatter"],i=j(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=g.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(r)p=""+this.value;else if(o)p=s.dateFormat(o,i);else if(d&&n&&1e3<=l)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return p=void 0===p?1e4<=Math.abs(i)?e(i,-1):e(i,-1,void 0,""):p}getSeriesExtremes(){let a,n=this;D(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1,n.dataMin=n.dataMax=n.threshold=void 0,n.softThreshold=!n.isXAxis,n.series.forEach(o=>{if(o.reserveSpace()){let t=o.options,e,i=t.threshold,s,r;n.hasVisibleSeries=!0,n.positiveValuesOnly&&(i||0)<=0&&(i=void 0),n.isXAxis?(e=o.xData)&&e.length&&(e=n.logarithmic?e.filter(t=>0(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),j(i)&&j(s)&&j(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,B(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=l(n))+r,B(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=c(h))-st-e),t=m([i]))}return t&&s?Math.min(t,s):t||s}nameToX(t){let e=y(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,-1===(s=L(s)?s:this.uniqueNames&&i?e?i.indexOf(t.name):B(i.keys[t.name],-1):t.series.autoIncrement())?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let r=this,e=this.names;0{s.xIncrement=null,s.points&&!s.isDirtyData||(r.max=Math.max(r.max,s.xData.length-1),s.processData(),s.generatePoints()),s.data.forEach(function(t,e){let i;t?.options&&void 0!==t.name&&void 0!==(i=r.nameToX(t))&&i!==t.x&&(t.x=i,s.xData[e]=i)})}))}setAxisTranslation(){let s=this,t=s.max-s.min,e=s.linkedParent,r=!!s.categories,o=s.isXAxis,a=s.axisPointRange||0,n,h=0,l=0,i,d=void s.transA;(o||r||a)&&(n=s.getClosest(),e?(h=e.minPointOffset,l=e.pointRangePadding):s.series.forEach(function(t){var e=r?1:o?B(t.options.pointRange,n,0):s.axisPointRange||0,i=t.options.pointPlacement;a=Math.max(a,e),s.single&&!r||(t=t.is("xrange")?!o:o,h=Math.max(h,t&&M(i)?0:e/2),l=Math.max(l,t&&"on"===i?0:e))}),i=s.ordinal&&s.ordinal.slope&&n?s.ordinal.slope/n:1,s.minPointOffset=h*=i,s.pointRangePadding=l*=i,s.pointRange=Math.min(a,s.single&&r?1:t),o&&n&&(s.closestPointRange=n)),s.translationSlope=s.transA=d=s.staticScale||s.len/(t+l||1),s.transB=s.horiz?s.left:s.bottom,s.minPixelPadding=d*h,D(this,"afterSetAxisTranslation")}minFromRange(){var{max:t,min:e}=this;return j(t)&&j(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=j(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:g,linkedTo:u,softMax:f,softMin:m}=h,x=j(u)&&i[this.coll]?.[u],y=h.tickPixelInterval,v=h.maxPadding,b=h.minPadding,S=0,k,M=j(h.tickInterval)&&0<=h.tickInterval?h.tickInterval:void 0,C,w,A,T;if(o||e||x||this.getTickAmount(),A=B(this.userMin,h.min),T=B(this.userMax,h.max),x?(k=(this.linkedParent=x).getExtremes(),this.min=B(k.min,k.dataMin),this.max=B(k.max,k.dataMax),this.type!==x.type&&E(11,!0,i)):(l&&L(d)&&j(s)&&j(r)&&(d<=r?(C=d,b=0):s<=d&&(w=d,v=0)),this.min=B(A,C,r),this.max=B(T,w,s)),j(this.max)&&j(this.min)&&(n&&(this.positiveValuesOnly&&!t&&Math.min(this.min,B(r,this.min))<=0&&E(10,!0,i),this.min=O(n.log2lin(this.min),16),this.max=O(n.log2lin(this.max),16)),this.range&&j(r)&&(this.userMin=this.min=A=Math.max(r,this.minFromRange()||0),this.userMax=T=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),j(this.min)&&j(this.max)&&(!j(this.userMin)&&j(m)&&mthis.max&&(this.max=T=f),e||this.axisPointRange||this.stacking?.usePercentage||x||!(S=this.max-this.min)||(!L(A)&&b&&(this.min-=S*b),!L(T)&&v&&(this.max+=S*v)),!j(this.userMin)&&j(g)&&(this.min=Math.max(this.min,g)),!j(this.userMax)&&j(p)&&(this.max=Math.min(this.max,p)),l&&j(r)&&j(s)&&(P=d||0,!L(A)&&this.minP&&s<=P&&(this.max=h.minRange?Math.max(P,this.min+c):P)),!i.polar&&this.min>this.max&&(L(h.min)?this.max=this.min:L(h.max)&&(this.min=this.max)),S=this.max-this.min),this.min!==this.max&&j(this.min)&&j(this.max)?x&&!M&&y===x.options.tickPixelInterval?this.tickInterval=M=x.tickInterval:this.tickInterval=B(M,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,e?1:S*y/Math.max(this.len,y)):this.tickInterval=1,a&&!t){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),D(this,"postProcessData",{hasExtremesChanged:e})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!M&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));var P=B(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!M&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],E(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=R(this,e*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&j(this.min)&&j(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){var s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},s=i(this);t[this.coll].forEach(function(t){let e=t["series"];e.length&&e.some(t=>t.visible)&&t!==o&&i(t)===s&&(r=!0,a.push(t))})}if(r&&s){a.forEach(t=>{t=t.getThresholdAlignment(o);j(t)&&n.push(t)});let e=1t+=e,0)/n.length:void 0;a.forEach(t=>{t.thresholdAlignment=e})}return r}getThresholdAlignment(t){if((!j(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),j(this.threshold)){let t=v((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return t=this.options.reversed?1-t:t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;(i=!(i=!L(t.tickInterval)&&!i&&this.leno.push(O(o[o.length-1]+p)),f=()=>o.unshift(O(o[0]-p));if(j(n)&&(g=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(g=a-1-g)),t.hasData()&&j(s)&&j(i)){var m=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(j(g)&&j(t.threshold)){for(;o[g]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?f:u)();if(p>8*t.tickInterval)break;p*=2}m()}else if(h{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();var r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),D(this,"setExtremes",r=f(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){var t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(T(B(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(T(B(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(T(B(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),e=this.left=Math.round(T(B(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-e,this.len=Math.max(s?r:o,0),this.pos=s?e:a}getExtremes(){let t=this.logarithmic;return{min:t?O(t.lin2log(this.min)):this.min,max:t?O(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:th&&t!==1/0&&o!==1/0&&h&&(e=Math.ceil(h/r)),O(e*r)}let t=this.options.labels,s=t.padding||0,e=this.horiz,r=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=t.rotation,n=O(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),l=r,d,c=Number.MAX_VALUE,p;if(e){if(t.staggerLines||(j(a)?p=[a]:ou&&(u=e.label.textPxLength)}),this.maxLabelLength=u,this.autoRotation)u>h&&u>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(g="clip",m=i.length;!r&&m--;)(f=o[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=u>.5*t.chartHeight?.33*t.chartHeight:u,c||(g="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=o[t],i=e&&e.label,s=a.width,r={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!s&&"nowrap"!==a.whiteSpace&&(pa.g(t).attr({zIndex:i}).addClass(`highcharts-${r.toLowerCase()}${e} `+(this.isRadial?`highcharts-radial-axis${e} `:"")+(o.className||"")).add(s);this.axisGroup||(this.gridGroup=e("grid","-grid",o.gridZIndex),this.axisGroup=e("axis","",o.zIndex),this.labelGroup=e("axis-labels","-labels",o.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=e,h=t.inverted&&!e.isZAxis?[1,0,3,2][r]:r,l=e.hasData(),d=s.title,c=s.labels,p=j(s.crossing),g=t.axisOffset,u=t.clipOffset,f=[-1,1,1,-1][r],m,x=0,y,v=0,b=0,S,k;var M;e.showAxis=m=l||s.showEmpty,e.staggerLines=e.horiz&&c.staggerLines||void 0,e.createGroups(),l||e.isLinked?(a.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=0===r||2===r||{1:"left",3:"right"}[r]===e.labelAlign,B(c.reserveSpace,!p&&null,"center"===e.labelAlign||null,e.reserveSpaceDefault)&&a.forEach(function(t){b=Math.max(o[t].getLabelSize(),b)}),e.staggerLines&&(b*=e.staggerLines),e.labelOffset=b*(e.opposite?-1:1)):A(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(e.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(e.titleOffset=x=e.axisTitle.getBBox()[i?"height":"width"],v=L(y=d.offset)?0:B(d.margin,i?5:10))),e.renderLine(),e.offset=f*B(s.offset,g[r]?g[r]+(s.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},k=0===r?-e.labelMetrics().h:2===r?e.tickRotCorr.y:0,S=Math.abs(b)+v,b&&(S=(S-=k)+f*(i?B(c.y,e.tickRotCorr.y+f*c.distance):B(c.x,f*c.distance))),e.axisTitleMargin=B(y,S),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(o,a)),"colorAxis"!==n&&u&&(M=this.tickSize("tick"),g[r]=Math.max(g[r],(e.axisTitleMargin||0)+x+f*e.offset,S,a&&a.length&&M?M[0]+f*e.offset:0),M=!e.axisLine||s.offset?0:e.axisLine.strokeWidth()/2,u[h]=Math.max(u[h],M)),D(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){var e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),t=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,a={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],r=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-t,t,c.f,-t][this.side],o={x:e?a+l:r+(n?this.width:0)+h+l,y:e?r+d-(n?this.height:0)+h:a+d};return D(this,"afterGetTitlePosition",{titlePosition:o}),o}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new S(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new S(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let s,r,o=this,a=o.chart,n=o.logarithmic,t=a.renderer,e=o.options,i=o.isLinked,h=o.tickPositions,l=o.axisTitle,d=o.ticks,c=o.minorTicks,p=o.alternateBands,g=e.stackLabels,u=e.alternateGridColor,f=e.crossing,m=o.tickmarkOffset,x=o.axisLine,y=o.showAxis,v=k(t.globalAnimation);if(o.labelEdge.length=0,o.overlap=!1,[d,c,p].forEach(function(t){A(t,function(t){t.isActive=!1})}),j(f)){let e=(this.isXAxis?a.yAxis:a.xAxis)[0],i=[1,-1,-1,1][this.side];if(e){let t=e.toPixels(f,!0);o.horiz&&(t=e.len-t),o.offset=i*t}}if(o.hasData()||i){let i=o.chart.hasRendered&&o.old&&j(o.old.min);o.minorTickInterval&&!o.categories&&o.getMinorTickPositions().forEach(function(t){o.renderMinorTick(t,i)}),h.length&&(h.forEach(function(t,e){o.renderTick(t,e,i)}),m&&(0===o.min||o.single)&&(d[-1]||(d[-1]=new S(o,-1,null,!0)),d[-1].render(-1))),u&&h.forEach(function(t,e){r=void 0!==h[e+1]?h[e+1]+m:o.max-m,e%2==0&&th&&(!d||o<=l)&&void 0!==o&&c.push(o),o>l&&(a=!0),o=r}else{var p=this.lin2log(h),s=this.lin2log(l),r=d?t.getMinorTickInterval():i.tickInterval,o=i.tickPixelInterval/(d?5:1),a=d?e/t.tickPositions.length:e;n=g(n=u("auto"===r?null:r,this.minorAutoInterval,(s-p)*o/(a||1))),c=t.getLinearTickPositions(n,p,s).map(this.log2lin),d||(this.minorAutoInterval=n/5)}return d||(t.tickInterval=n),c}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=o}return e}),e(t,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[t["Core/Utilities.js"]],function(t){var e;let{erase:o,extend:s,isNumber:c}=t;{t=e=e||{};let r;function a(t){return this.addPlotBandOrLine(t,"plotBands")}function n(e,i){let s=this.userOptions,t=new r(this,e);if(t=this.visible?t.render():t){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let t=s[i]||[];t.push(e),s[i]=t}this.plotLinesAndBands.push(t)}return t}function h(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,s=!c(this.min)||!c(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&r)for(s&&(d=n.toString()===r.toString(),l=0),h=0;h{let t=[];for(var e of this.axes)for(var{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),i.compose(o,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){C(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:r,events:o,zIndex:a=0}=e,n={},h=t.chart.renderer,l=e.to,d=e.from,c=e.value,p=e.borderWidth,g=e.label,{label:u,svgElem:f}=this,m=[],x,y=M(d)&&M(l),v=M(c),b=!f,S={class:"highcharts-plot-"+(y?"band ":"line ")+(e.className||"")},k=y?"bands":"lines";if(t.chart.styledMode||(v?(S.stroke=r||"#999999",S["stroke-width"]=T(e.width,1),e.dashStyle&&(S.dashstyle=e.dashStyle)):y&&(S.fill=r||"#e6e9ff",p&&(S.stroke=e.borderColor,S["stroke-width"]=p))),k+="-"+(n.zIndex=a),(x=t.plotLinesAndBandsGroups[k])||(t.plotLinesAndBandsGroups[k]=x=h.g("plot-"+k).attr(n).add()),f||(this.svgElem=f=h.path().attr(S).add(x)),M(c))m=t.getPlotLinePath({value:s?.log2lin(c)??c,lineWidth:f.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!M(d)||!M(l))return;m=t.getPlotBandPath(s?.log2lin(d)??d,s?.log2lin(l)??l,e)}return!this.eventsAdded&&o&&(A(o,(t,e)=>{f?.on(e,t=>{o[e].apply(this,[t])})}),this.eventsAdded=!0),!b&&f.d||!m?.length?f&&(m?(f.show(),f.animate({d:m})):f.d&&(f.hide(),u&&(this.label=u=u.destroy()))):f.attr({d:m}),g&&(M(g.text)||M(g.formatter))&&m?.length&&0{s[i?"ySetter":"xSetter"]=t=>{e.call(s,r.distance),s[i?"y":"x"]=t,a&&(a.style[i?"top":"left"]=t+"px")}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&l.doc.body.appendChild(a),this.label}getPlayingField(){var{body:t,documentElement:e}=I,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(i,s,t){let{distance:p,chart:r,outside:g,pointer:e}=this,{inverted:o,plotLeft:a,plotTop:n,polar:h}=r,{plotX:l=0,plotY:d=0}=t,u={},f=o&&t.h||0,{height:c,width:m}=this.getPlayingField(),x=e.getChartPosition(),y=t=>t*x.scaleX,v=t=>t*x.scaleY,b=t=>{var e="x"===t;return[t,e?m:c,e?i:s].concat(g?[e?y(i):v(s),e?x.left-p+y(l+a):x.top-p+v(d+n),0,e?m:c]:[e?i:s,e?l+a:d+n,e?a:n,e?a+r.plotWidth:n+r.plotHeight])},S=b("y"),k=b("x"),M,C=!!t.negative,w=(!h&&r.hoverSeries?.yAxis?.reversed&&(C=!C),!this.followPointer&&X(t.ttBelow,!h&&!o===C)),A=function(t,e,i,s,r,o,a){var n=g?("y"===t?v:y)(p):p,h=(i-s)/2,l=se?r:r+f)}},T=function(t,e,i,s,r){if(re-p)return!1;u[t]=r{!1!==A.apply(0,S)?!1!==T.apply(0,k)||M||(P(!0),O()):M?u.x=u.y=0:(P(!0),O())};return(o&&!h||1{t.hide(),i.container&&i.container.remove()}}),i.isHidden=!0},e))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=X(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let r=this,o=h(!r.isHidden&&r.options.animation),a=r.followPointer||1<(r.len||0),n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(o,t){let{chart:a,options:n,pointer:h,shared:e}=this,l=k(o),d=l[0],i=[],c=n.format,p=n.formatter||this.defaultFormatter,g=a.styledMode,u={},f=this.allowShared;if(n.enabled&&d.series){y.clearTimeout(this.hideTimer),this.allowShared=!(!S(o)&&o.series&&o.series.noSharedTooltip),f=f&&!this.allowShared,this.followPointer=!this.split&&d.series.tooltipOptions.followPointer;var o=this.getAnchor(o,t),m=o[0],x=o[1];e&&this.allowShared?(h.applyInactiveState(l),l.forEach(function(t){t.setState("hover"),i.push(t.getLabelConfig())}),(u=d.getLabelConfig()).points=i):u=d.getLabelConfig(),this.len=i.length;let s=G(c)?v(c,u,a):p.call(u,this),r=d.series;if(this.distance=X(r.tooltipOptions.distance,16),!1===s)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(s,l);else{let e=m,i=x;if(t&&h.isDirectTouch&&(e=t.chartX-a.plotLeft,i=t.chartY-a.plotTop),!a.polar&&!1!==r.options.clip&&!l.some(t=>h.isDirectTouch||t.series.shouldShowTooltip(e,i)))return void this.hide();{let t=this.getLabel(f&&this.tt||{});n.style.width&&!g||t.css({width:(this.outside?this.getPlayingField():a.spacingBox).width+"px"}),t.attr({class:this.getClassName(d),text:s&&s.join?s.join(""):s}),this.outside&&t.attr({x:W(t.x||0,0,this.getPlayingField().width-(t.width||0))}),g||t.attr({stroke:n.borderColor||d.color||r.color||"#666666"}),this.updatePosition({plotX:m,plotY:x,negative:d.negative,ttBelow:d.ttBelow,h:o[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}b(this,"refresh")}}renderSplit(t,c){let p=this,{chart:e,chart:{chartWidth:i,chartHeight:s,plotHeight:g,plotLeft:u,plotTop:f,scrollablePixelsY:r=0,scrollablePixelsX:o,styledMode:m},distance:x,options:y,options:{positioner:v},pointer:a}=p,{scrollLeft:n=0,scrollTop:h=0}=e.scrollablePlotArea?.scrollingContainer||{},b=p.outside&&"number"!=typeof o?I.documentElement.getBoundingClientRect():{left:n,right:n+i,top:h,bottom:h+s},S=p.getLabel(),k=this.renderer||e.renderer,M=!(!e.xAxis[0]||!e.xAxis[0].opposite),{left:l,top:d}=a.getChartPosition(),C=f+h,w,A=g-r;function T(t,e,i,s,r=!0){let o,a;return{x:a=i?(o=M?0:A,W(t-s/2,b.left,b.right-s-(p.outside?l:0))):(o=e-C,W(a=r?t-s-x:t+x,r?a:b.left,b.right)),y:o}}let P=(t=G(t)?[!1,t]:t).slice(0,c.length+1).reduce(function(o,a,n){if(!1!==a&&""!==a){let h=c[n-1]||{isHeader:!0,plotX:c[0].plotX,plotY:g,series:{}},t=h.isHeader,e=t?p:h.series,i=e.tt=function(t,e,i){let s=t,{isHeader:r,series:o}=e;if(!s){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),s=k.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(p.getClassName(e,!0,r)).attr(t).add(S)}return s.isActive=!0,s.attr({text:i}),m||s.css(y.style).attr({stroke:y.borderColor||e.color||o.color||"#333333"}),s}(e.tt,h,a.toString()),s=i.getBBox(),r=s.width+i.strokeWidth();t&&(w=s.height,A+=w,M&&(C-=w));var l,d,{anchorX:n,anchorY:a}=function(){let t,e,{isHeader:i,plotX:s=0,plotY:r=0,series:o}=h;var a,n;return i?(t=Math.max(u+s,u),e=f+g/2):({xAxis:a,yAxis:n}=o,t=a.pos+W(s,-x,a.len+x),o.shouldShowTooltip(0,n.pos-f+r,{ignoreX:!0})&&(e=n.pos+r)),{anchorX:t=W(t,b.left-x,b.right+x),anchorY:e}}();"number"==typeof a?(l=s.height+1,d=v?v.call(p,r,l,h):T(n,a,t,r),o.push({align:v?0:void 0,anchorX:n,anchorY:a,boxWidth:r,point:h,rank:X(d.rank,t?1:0),size:l,target:d.y,tt:i,x:d.x})):i.isActive=!1}return o},[]),O=(!v&&P.some(t=>{var e=p["outside"],e=(e?l:0)+t.anchorX;return ee})&&(P=P.map(t=>{var{x:e,y:i}=T(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return H(t,{target:i,x:e})})),p.cleanSplit(),N(P,A),{left:l,right:l}),{container:L,outside:E,renderer:D}=(P.forEach(function(t){var{x:t,boxWidth:e,isHeader:i}=t;i||(p.outside&&l+tO.right&&(O.right=l+t))}),P.forEach(function(t){let{x:e,anchorX:i,anchorY:s,pos:r,point:{isHeader:o}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+C,anchorX:i,anchorY:s};var n;p.outside&&e{for(var t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(f(e),e.destroyElements()),e)delete e[t]};e.legendItem&&i.legend.destroyItem(e),r&&(e.setState(),h(r,e),r.length||(i.hoverPoints=null)),e===i.hoverPoint&&e.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),u(a,o.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),C(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t,e,s=this,r=[],o={singular:[],plural:[]};for((i=i||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),i.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),e=r.length;e--;)s[t=r[e]]&&o.singular.push(t);return["graphic","dataLabel"].forEach(function(t){var e=t+"s";i[t]&&s[e]&&o.plural.push(e)}),o}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?l(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=m()),this.resolveColor(),t.chart.pointCount++,C(this,"afterInit")}isValid(){return(w(this.x)||this.x instanceof Date)&&w(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(w(t)||null===t)o[s[0]]=t;else if(d(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"==a&&(o.x=t[0]),n++);h!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(n,h=this.plotY){if(!this.destroyed){let{plotX:t,series:e}=this,{chart:i,xAxis:s,yAxis:r}=e,o=0,a=0;if(w(t)&&w(h))return n&&(o=s?s.pos:i.plotLeft,a=r?r.pos:i.plotTop),i.inverted&&s&&r?[r.len-h+a,s.len-t+o]:[t+o,h+a]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=A(this.options.colorIndex,a),this.color=A(this.options.color,s)}setNestedProperty(t,r,e){return e.split(".").reduce(function(t,e,i,s){s=s.length-1===i;return t[e]=s?r:p(t[e],!0)?t[e]:{},t[e]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(e){let t=this.series,i=t.tooltipOptions,s=A(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return t.chart.styledMode&&(e=t.chart.tooltip.styledModeFormat(e)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t,e=(e=r||o?e.replace(RegExp(t+"}","g"),r+t+"}"+o):e).replace(RegExp(t+"}","g"),t+":,."+s+"f}")}),a(e,{point:this,series:this.series},t.chart)}update(e,i,s,t){let r,o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(e);var t=n&&o.hasMockGraphic,t=null===o.y?!t:t;n&&t&&(o.graphic=n.destroy(),delete o.hasMockGraphic),p(e,!0)&&(n&&n.element&&e&&e.marker&&void 0!==e.marker.symbol&&(o.graphic=n.destroy()),e?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=p(l.data[r],!0)||p(e,!0)?o.options:A(e,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),i&&h.redraw(s)}i=A(i,!0),!1===t?d():o.firePointEvent("update",{options:e},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=A(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var e=g(this.series.options.point,this.options).events?.[t];!c(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&(f(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=r(this,t,e))}setState(t,e){let i=this.series,s=this.state,r=i.options.states[t||"normal"]||{},o=k.plotOptions[i.type].marker&&i.options.marker,a=o&&!1===o.enabled,n=o&&o.states&&o.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=o&&i.markerAttribs,p=i.halo,g,u,f,m=i.stateMarkerGraphic,x;if(!((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===r.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)){if(this.state=t,c&&(g=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){u=i.pointAttribs(this,t),f=A(d.options.chart.animation,r.animation);let e=u.opacity;i.options.inactiveOtherPoints&&w(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(u,f)}g&&this.graphic.animate(g,A(d.options.chart.animation,n.animation,o.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),g&&(m?m[e?"animate":"attr"]({x:g.x,y:g.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,g.x,g.y,g.width,g.height).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));var y=r.halo,v=this.graphic||m,b=v&&v.visibility||"inherit";y&&y.size&&v&&"hidden"!==b&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(v.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:b,zIndex:-1}),p.point=this,d.styledMode||p.attr(M({fill:this.color||i.color,"fill-opacity":y.opacity},S.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),C(this,"afterSetState",{state:t})}}haloPath(t){var e=this.pos();return e?this.series.chart.renderer.symbols.circle(o(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return x}),e(t,"Core/Pointer.js",[t["Core/Color/Color.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,r,e){var i;let v=t["parse"],{charts:u,composed:s,isTouchDevice:o}=r,{addEvent:f,attr:a,css:n,extend:h,find:m,fireEvent:p,isNumber:l,isObject:b,objectEach:d,offset:c,pick:x,pushUnique:g,splat:y}=e;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],r.chartCount||(S.unbindDocumentMouseUp&&S.unbindDocumentMouseUp.forEach(t=>t()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),d(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(h,l){var t={args:{chartX:h,chartY:l},attrs:{},shapeType:"rect"};return p(this,"getSelectionMarkerAttrs",t,t=>{let e,{chart:i,zoomHor:s,zoomVert:r}=this,{mouseDownX:o=0,mouseDownY:a=0}=i,n=t.attrs;n.x=i.plotLeft,n.y=i.plotTop,n.width=s?1:i.plotWidth,n.height=r?1:i.plotHeight,s&&(e=h-o,n.width=Math.max(1,Math.abs(e)),n.x=(0n+l&&(g=n+l),uh+d&&(u=h+d),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-u,2)),!(10t.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),e=!0));var o;e&&i.redraw(),s&&t&&(this.hasDragged&&(o=this.getSelectionBox(s),i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...o},from:o})),l(i.index)&&(this.selectionMarker=s.destroy())),i&&l(i.index)&&(n(i.container,{cursor:i._cursor}),i.cancelClick=10t.series.index?-1:1)))&&(n=t)}),n}getChartCoordinatesFromPoint(i,s){var{xAxis:r,yAxis:o}=i.series,a=i.shapeArgs;if(r&&o){let t=i.clientX??i.plotX??0,e=i.plotY||0;return i.isNode&&a&&l(a.x)&&l(a.y)&&(t=a.x,e=a.y),s?{chartX:o.len+o.pos-e,chartY:r.len+r.pos-t}:{chartX:t+r.pos,chartY:e+o.pos}}if(a&&a.x&&a.y)return{chartX:a.x,chartY:a.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var t=this.chart["container"],e=c(t),{offsetHeight:t,offsetWidth:i}=(this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1},t);return 2t.stickyTracking&&(d.filter||n)(t)),s&&t||!o?t:this.findNearestKDPoint(l,r,o));return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=m(t.points,function(t){return t.x===c.x&&!t.isNull});b(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),p(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=a(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),p(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):x(i.changedTouches,t.changedTouches)[0]:t;e=e||this.getChartPosition();var r=s.pageX-e.left,o=s.pageY-e.top;return h(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;e.cancelClick||(i&&this.inClass(s.target,"highcharts-tracker")?(p(i.series,"click",h(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(h(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&p(e,"click",s)))}onContainerMouseDown(t){var e=1==(1&(t.buttons||t.button));t=this.normalize(t),r.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),void 0!==t.button&&!e||(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let e=(u[x(S.hoverChartIndex,-1)]||{})["pointer"];t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),"mousedown"!==e.mouseIsDown&&!this.touchSelect(s)||this.drag(s),e.openMenu||!this.inClass(s.target,"highcharts-tracker")&&!e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(s)||(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){u[x(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(e){let i=this,{chart:s,hasZoom:t,lastTouches:r}=i,o=[].map.call(e.touches||[],t=>i.normalize(t)),a=o.length,n=1===a&&(i.inClass(e.target,"highcharts-tracker")&&s.runTrackerClick||i.runChartClick),h=s.tooltip,l=1===a&&x(h?.options.followTouchMove,!0);1{var t=t=>{var e=t[0],t=t[1]||e;return{x:e.chartX,y:e.chartY,width:t.chartX-e.chartX,height:t.chartY-e.chartY}};s.transform({axes:s.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:t(o),from:t(r),trigger:e.type})}),i.res&&(i.res=!1,this.reset(!1,0))),i.lastTouches=o}reset(e,t){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;e&&n&&y(n).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(e=!1)}),e?a&&n&&y(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(s,t,e){let r=this.chart,i=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=!!o&&o.shared,n=t||r.hoverPoint,h=n&&n.series||r.hoverSeries,l=(!s||"touchmove"!==s.type)&&(!!t||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,i,l,a,s),c=(n=d.hoverPoint,h=d.hoverSeries,d.hoverPoints),p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(n&&(e||n!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),r.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!n.series)return;r.hoverPoints=c,(r.hoverPoint=n).firePointEvent("mouseOver",void 0,()=>{o&&n&&o.refresh(g?c:n,s)})}else p&&o&&!o.isHidden&&(t=o.getAnchor([{}],s),r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:t[0],plotY:t[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(r.container.ownerDocument,"mousemove",t=>u[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(e){let t;var i=x((e.crosshair||{}).snap,!0);(t=!i||(t=r.hoverPoint)&&t.series[e.coll]===e?t:m(c,t=>t.series&&t.series[e.coll]===e))||!i?e.drawCrosshair(s,t):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=(t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(f(t,"mouseenter",this.onContainerMouseEnter.bind(this)),f(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=[]),S.unbindDocumentMouseUp.push(f(e,"mouseup",this.onDocumentMouseUp.bind(this))),this.chart.renderTo.parentElement);for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(f(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(f(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),f(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=f(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),f(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(o){let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=x(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>-1{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),f(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||n(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||n(i,{"touch-action":x(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}}setHoverChartIndex(t){let e=this.chart,i=r.charts[x(S.hoverChartIndex,-1)];var s;i&&i!==e&&(s={relatedTarget:e.container},t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)),i&&i.mouseIsDown||(S.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&16<=Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)),x(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=x(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(i=S=S||{}).compose=function(t){g(s,"Core.Pointer")&&f(t,"beforeRender",function(){this.pointer=new i(this,this.options)})},S}),e(t,"Core/Legend/LegendSymbol.js",[t["Core/Utilities.js"]],function(t){var e;let{extend:y,merge:v,pick:b}=t;return(t=e=e||{}).areaMarker=function(t,e){i.call(this,t,e,!0)},t.lineMarker=i,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,o=s.squareSymbol,a=o?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(o?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,b(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)},e;function i(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:r,options:o}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=r.renderer,p=s.group,g=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),u={},f,m=o.marker,x=0;if(r.styledMode||(u["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?u.dashstyle=o.dashStyle:"square"!==o.linecap&&(u["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(u).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),u["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n&&(t=[["M",x,g],["L",n-x,g]],s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})),m&&!1!==m.enabled&&n){let t=Math.min(b(m.radius,d),d);0===l.indexOf("url")&&(m=v(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,g-t,2*t,2*t,y({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}}),e(t,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let t=this.series.chart["numberFormatter"];return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),e(t,"Core/Series/SeriesRegistry.js",[t["Core/Globals.js"],t["Core/Defaults.js"],t["Core/Series/Point.js"],t["Core/Utilities.js"]],function(t,e,a,i){var s,n;let h=e["defaultOptions"],{extend:l,extendClass:d,merge:c}=i;return(n=s=s||{}).seriesTypes=t.seriesTypes,n.registerSeriesType=p,n.seriesType=function(t,e,i,s,r){let o=h.plotOptions||{};if(e=e||"",o[t]=c(o[e],i),delete n.seriesTypes[t],p(t,d(n.seriesTypes[e]||function(){},s)),n.seriesTypes[t].prototype.type=t,r){class p extends a{}l(p.prototype,r),n.seriesTypes[t].prototype.pointClass=p}return n.seriesTypes[t]},s;function p(t,e){let i=h.plotOptions||{},s=e.defaultOptions,r=e.prototype;return r.type=t,r.pointClass||(r.pointClass=a),!n.seriesTypes[t]&&(s&&(i[t]=s),n.seriesTypes[t]=e,!0)}}),e(t,"Core/Series/Series.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Defaults.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,l,o,a,d,c){let{animObject:p,setAnimation:g}=t,u=e["defaultOptions"],n=i["registerEventOptions"],{svg:f,win:m}=s,y=a["seriesTypes"],{arrayMax:M,arrayMin:C,clamp:w,correctFloat:A,crisp:x,defined:T,destroyObjectProperties:I,diffObjects:z,erase:v,error:P,extend:b,find:N,fireEvent:O,getClosestDistance:W,getNestedProperty:h,insertItem:S,isArray:L,isNumber:E,isString:H,merge:D,objectEach:k,pick:j,removeEvent:G,splat:X,syncTimeout:B}=c;class R{constructor(){this.zoneAxis="y"}init(t,e){let i,s=(O(this,"init",{options:e}),this),r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);var e=s.options,o=!1!==e.visible,o=(s.linkedSeries=[],s.bindAxes(),b(s,{name:e.name,state:"",visible:o,selected:!0===e.selected}),n(this,e),e.events);(o&&o.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=j(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",S(this,r)),e.dataSorting&&e.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(e.data,!1),O(this,"afterInit")}is(t){return y[t]&&this instanceof y[t]}bindAxes(){let i,s=this,r=s.options,t=s.chart;O(this,"bindAxes",null,function(){(s.axisTypes||[]).forEach(function(e){(t[e]||[]).forEach(function(t){i=t.options,(j(r[e],0)===t.index||void 0!==r[e]&&r[e]===i.id)&&(S(s,t.series),(s[e]=t).isDirty=!0)}),s[e]||s.optionalAxis===e||P(18,!0,t)})}),O(this,"afterBindAxes")}updateParallelArrays(i,s,e){let r=i.series,t=E(s)?function(t){var e="y"===t&&r.toYData?r.toYData(i):i[t];r[t+"Data"][s]=e}:function(t){Array.prototype[s].apply(r[t+"Data"],e)};r.parallelArrays.forEach(t)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0({...t})));return!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},o||(e.color=c.negativeColor,e.fillColor=c.negativeFillColor),p.push(e)),p.length&&T(p[p.length-1].value)&&p.push(o?{}:{color:this.color,fillColor:this.fillColor}),O(this,"afterSetOptions",{options:c}),c}getName(){return j(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,a=t+"Index",n=t+"Counter",h=i?.length||o.options.chart.colorCount;e||(T(r=j("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||u.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){var t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(e,t){let i,s,r;var o=e.id,a=e.x,n=this.points,h=this.options.dataSorting;if(o){o=this.chart.get(o);o instanceof l&&(i=o)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(h&&h.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(i=N(n,t)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),-1!==(r=void 0===r&&E(a)?this.xData.indexOf(a,t):r)&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),r=!s&&E(r)&&n[r]&&n[r].touched?void 0:r}updateData(t,e){let r=this.options,o=r.dataSorting,a=this.points,n=[],h=this.requireSorting,l=t.length===a.length,d,i,s,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){var i=T(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},s=i.x;i.id||E(s)?(-1===(s=this.findPointIndex(i,c))||void 0===s?n.push(t):a[s]&&t!==r.data[s]?(a[s].update(t,!1,null,!1),a[s].touched=!0,h&&(c=s+1)):a[s]&&(a[s].touched=!0),(!l||e!==s||o&&o.enabled||this.hasDerivedData)&&(d=!0)):n.push(t)},this),d)for(i=a.length;i--;)(s=a[i])&&!s.touched&&s.remove&&s.remove(!1,e);else!l||o&&o.enabled?p=!1:(t.forEach(function(t,e){t===a[e].y||a[e].destroyed||a[e].update(t,!1,null,!1)}),n.length=0);return a.forEach(function(t){t&&(t.touched=!1)}),!!p&&(n.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=M(this.xData),this.autoIncrement()),!0)}setData(e,t=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,g=this.yData,u=r.pointArrayMap,f=u&&u.length,m=n.keys,x,y,v,b=0,S=1,k;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,k=D(!0,e));var M=(e=k||e||[]).length;if(l&&l.enabled&&(e=this.sortData(e)),!(v=h.options.chart.allowMutatingData&&!1!==s&&M&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted?this.updateData(e,i):v)){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let t=c&&c!(!L(t)||!m&&!E(t[0]));if(E(s)&&E(C))for(x=0;x{t=h(s,t),e=h(s,e);return ec?(p=[],g=[]):e.yData&&(p[0]c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,g=a.yData,h=a.start,n=!0));t=W([r?p.map(r.log2lin):p],()=>e.requireSorting&&!u&&P(15,!1,e.chart));return{xData:p,yData:g,cropped:n,cropStart:h,closestPointRange:t}}processData(t){var e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;e=this.getProcessedData();this.cropped=e.cropped,this.cropStart=e.cropStart,this.processedXData=e.xData,this.processedYData=e.yData,this.closestPointRange=this.basePointRange=e.closestPointRange,O(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,g,u,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),u=0;u=x&&(S[f-o]||g)<=y,c&&p)if(m=u.length)for(;m--;)E(u[m])&&(r[v++]=u[m]);else r[v++]=u;var k={activeYData:r,dataMin:C(r),dataMax:M(r)};return O(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){var t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,r=e;for(;0<=r&&r{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,O(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n,h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,f=j(p.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e{let{translated:s=0,lineClip:r}=t,o=(i=y?a-i:i)-s;r?.push(["L",e,Math.abs(o){i.forEach((t,e)=>{"M"!==t[0]&&"L"!==t[0]||(i[e]=[t[0],b?a-t[1]:t[1],b?t[2]:a-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=w(o.toPixels(j(t.value,e),!0)||0,0,a)}),f&&!this.showLine&&f.hide(),u&&u.hide(),"y"===r&&s.length{let e=t.lineClip||[],i=Math.round(t.translated||0),{clip:s,simpleClip:r}=(m.reversed&&e.reverse(),t),o=0,a=0,n=m.len,h=x.len;b?(o=i,n=g):(a=i,h=g);var l=[["M",o,a],["L",n,a],["L",n,h],["L",o,h],["Z"]],d=[l[0],...e,l[1],l[2],...p,l[3],l[4]];p=e.reverse(),g=i,y&&(c(d),u&&c(l)),s?(s.animate({d:d}),r?.animate({d:l})):(s=t.clip=v.path(d),u&&(r=t.simpleClip=v.path(l))),f&&t.graph?.clip(s),u&&t.area?.clip(r)})}else this.visible&&(f&&f.show(),u&&u.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return T(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(T(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let e=this["eventsToUnbind"];t||G(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=p(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;O(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=B(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,O(t,"afterRender")}redraw(){var t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){var{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let n=this,e=-1(t[r]||0)-(e[r]||0)),{point:e[o=Math.floor(a/2)],left:t(e.slice(0,o),i+1,s),right:t(e.slice(o+1),i+1,s)}}(n.getValidPoints(void 0,!n.directTouch),e,e),n.buildingKdTree=!1},n.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let u=this,[f,m]=this.kdAxisArray,x=e?"distX":"dist",s=-1<(u.options.findNearestPointBy||"").indexOf("y")?2:1,y=!!u.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,r){let o=i.point,a=u.kdAxisArray[s%r],n,h,l=o;p=o,g=(d=e)[f],c=p[f],g=T(g)&&T(c)?g-c:null,c=d[m],d=p[m],c=T(c)&&T(d)?c-d:0,d=y&&p.marker?.radius||0,p.dist=Math.sqrt((g&&g*g||0)+c*c)-d,p.distX=T(g)?Math.abs(g)-d:Number.MAX_VALUE;var d,c=(e[a]||0)-(o[a]||0)+(y&&o.marker?.radius||0),p=c<0?"left":"right",g=c<0?"right":"left";return i[p]&&(l=(n=t(e,i[p],s+1,r))[x]{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(f?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),O(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a,n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,g=this.xData;e=j(e,!0);var u={series:this},f=(this.pointClass.prototype.applyOptions.apply(u,[t]),u.x);if(a=g.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(u,"splice",[a,0,0]),this.updateParallelArrays(u,a),c&&u.name&&(c[f]=u.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(u,"shift"),p.shift())),!1!==r&&O(this,"addPoint",{point:u}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){function s(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),r.options.data.splice(t,1),r.updateParallelArrays(a||{series:r},"splice",[t,1]),a&&a.destroy(),r.isDirty=!0,r.isDirtyData=!0,e&&h.redraw()}let r=this,o=r.data,a=o[t],n=r.points,h=r.chart;g(i,h),e=j(e,!0),a?a.firePointEvent("remove",null,s):s()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),j(t,!0)&&o.redraw(e)}!1!==i?O(r,"remove",null,a):a()}update(t,e){O(this,"update",{options:t=z(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=y[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||r.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t))),f=(g=g||o,u&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&b(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=D(r,{index:(void 0===r.index?i:r).index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]}),!1);if(y[g]){if(f=g!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,y[g].prototype);else{var m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;b(i,y[g].prototype),m?i.hcEvents=m:delete i.hcEvents}}else P(17,!0,s,{missingModuleFor:g});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),u&&this.points)for(var x of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))x&&x.series&&(x.resolveColor(),Object.keys(l).length&&x.destroyElements(l),!1===d.showInLegend&&x.legendItem&&s.legend.destroyItem(x));i.initialType=o,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),O(this,"afterUpdate"),j(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var e=this.chart,i=this.options[t],e=e.options.plotOptions,s=this.userOptions[t],e=j(e?.[this.type]?.[t],e?.series?.[t]);return s&&!T(e)?i!==s:i!==j(e,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&O(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&O(this,"mouseOut"),!i||this.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(e,t){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=j(a[e||"normal"]&&a[e||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(e=e||"",i.state!==e&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),e&&t.addClass("highcharts-series-"+e))}),i.state=e,!i.chart.styledMode)){if(a[e]&&!1===a[e].enabled)return;if(e&&(h=a[e].lineWidth||h+(a[e].lineWidthPlus||0),l=j(a[e].opacity,l)),r&&!r.dashstyle&&E(h))for(var d of[r,...this.zones.map(t=>t.graph)])d?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}t&&o&&i.points&&i.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible,a=(i.visible=e=i.options.visible=i.userOptions.visible=void 0===e?!o:e,e?"show":"hide");["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),s.hoverSeries!==i&&s.hoverPoint?.series!==i||i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,e),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),r&&(s.isDirtyBox=!0),O(i,a),!1!==t&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),O(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return R.defaultOptions=o,R.types=a.seriesTypes,R.registerType=a.registerSeriesType,b(R.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:l,requireSorting:!0,sorted:!0}),a.series=R}),e(t,"Core/Legend/Legend.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Series/Point.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(t,e,i,g,u,s,r,o){var a;let{animObject:d,setAnimation:c}=t,n=e["registerEventOptions"],{composed:h,marginNames:l}=i,p=s["distribute"],f=r["format"],{addEvent:m,createElement:x,css:y,defined:v,discardElement:b,find:S,fireEvent:k,isNumber:M,merge:C,pick:w,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:O}=o;class L{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),n(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){var e=w(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=C(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=w(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(C(!0,this.options,t)),"events"in this.options&&n(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,w(e,!0)&&i.redraw(),k(this,"afterUpdate",{redraw:e})}colorizeItem(n,h){let{area:l,group:t,label:d,line:c,symbol:p}=n.legendItem||{};if(t?.[h?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:t={}}=this,e=t.color,{fillColor:i,fillOpacity:s,lineColor:r,marker:o}=n.options,a=t=>(h||(t.fill&&(t.fill=e),t.stroke&&(t.stroke=e)),t);d?.css(C(h?this.itemStyle:t)),c?.attr(a({stroke:r||n.color})),p&&p.attr(a(o&&p.isMarker?n.pointAttribs():{fill:n.color})),l?.attr(a({fill:i||n.color,"fill-opacity":i?1:s??.75}))}k(this,"afterColorizeItem",{item:n,visible:h})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;var h;e&&e.element&&(h={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s},e[v(e.translateY)?"animate":"attr"](h,void 0,()=>{k(this,"afterPositionItem",{item:t})})),n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(var s of["group","label","line","symbol"])i[s]&&(i[s]=i[s].destroy());e&&b(e),t.legendItem=void 0}destroy(){for(var t of this.getAllItems())this.destroyItem(t);for(var e of["clipRect","up","down","pager","nav","box","title","group"])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let s,r=this.group&&this.group.alignAttr,o=this.clipHeight||this.legendHeight,a=this.titleHeight;r&&(s=r.translateY,this.allItems.forEach(function(t){var e,i=t.checkbox;i&&(e=s+a+i.y+(this.scrollOffset||0)+3,y(i,{left:r.translateX+t.checkboxOffset+i.x-20+"px",top:e+"px",display:this.proximate||e>s-6&&e1.5*S?b.height:S))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?w(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){var e=t&&t.options;t&&w(e.showInLegend,!v(e.linkedTo)&&void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||("point"===e.legendType?t.data:t)))}),k(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(i,s){let r=this.chart,o=this.options,a=this.getAlignment();a&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(t,e){t.test(a)&&!v(i[e])&&(r[l[e]]=Math.max(r[l[e]],r.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*o[e%2?"x":"y"]+w(o.margin,12)+s[e]+(r.titleOffset[e]||0)))})}proximatePositions(){let t,a=this.chart,n=[],h="left"===this.options.align;for(var e of(this.allItems.forEach(function(t){let e,i,s=h,r,o;t.yAxis&&(t.xAxis.options.reversed&&(s=!s),t.points&&(e=S(s?t.points:t.points.slice(0).reverse(),function(t){return M(t.plotY)})),i=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,o=t.yAxis.top-a.plotTop,r=t.visible?(e?e.plotY:t.yAxis.height)+(o-.3*i):o+t.yAxis.height,n.push({target:r,size:i,item:t}))},this),p(n,a.plotHeight)))t=e.item.legendItem||{},M(e.pos)&&(t.y=a.plotTop-a.spacing[0]+e.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),0v&&!1!==c.enabled?(this.clipHeight=m=Math.max(v-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=t,f.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=u.length;(!r||i-u[r-1]>m&&(x||i)!==u[r-1])&&(u.push(x||i),r++),y.pageIx=r-1,x&&((f[e-1].legendItem||{}).pageIx=r-1),e===f.length-1&&i+s-u[r-1]>m&&i>u[r-1]&&(u.push(i),y.pageIx=r),i!==x&&(x=i)}),S||(S=s.clipRect=o.clipRect(0,l-2,9999,0),s.contentGroup.clip(S)),e(m),b||(this.nav=b=o.g().attr({zIndex:1}).add(this.group),this.up=o.symbol("triangle",0,0,g,g).add(b),i("upTracker").on("click",function(){s.scroll(-1,p)}),this.pager=o.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(b),this.down=o.symbol("triangle-down",0,0,g,g).add(b),i("downTracker").on("click",function(){s.scroll(1,p)})),s.scroll(0),t=v):b&&(e(),this.nav=b.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;0<(l=l>r?r:l)&&(void 0!==e&&c(e,i),this.nav.attr({translateX:h,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===r?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),O(()=>{k(this,"afterScroll",{currentPage:l})},d(w(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},o=s.chart.renderer.boxWrapper,a=i instanceof u,n=i instanceof g,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=e?[t,r.symbol]:[r.group],c=e=>{s.allItems.forEach(t=>{i!==t&&[t].concat(t.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(var p of d)p&&p.on("mouseover",function(){i.visible&&c("inactive"),i.setState("hover"),i.visible&&o.addClass(h),l||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(C(i.visible?s.itemStyle:s.itemHiddenStyle)),c(""),o.removeClass(h),i.setState()}).on("click",function(t){o.removeClass(h),k(s,"itemClick",{browserEvent:t,legendItem:i},function(){i.setVisible&&i.setVisible(),c(i.visible?"inactive":"")}),a?i.firePointEvent("legendItemClick",{browserEvent:t}):n&&k(i,"legendItemClick",{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),m(e.checkbox,"click",function(t){t=t.target;k(e.series||e,"checkboxClick",{checked:t.checked,item:e},function(){e.select()})})}}return(a=L=L||{}).compose=function(t){A(h,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},L}),e(t,"Core/Chart/Chart.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Defaults.js"],t["Core/Templating.js"],t["Core/Foundation.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Time.js"],t["Core/Utilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Axis/Tick.js"]],function(t,s,e,i,z,a,N,W,H,G,g,r,c,X){let{animate:n,animObject:U,setAnimation:f}=t,{defaultOptions:h,defaultTime:F}=e,Y=i["numberFormat"],u=z["registerEventOptions"],{charts:p,doc:m,marginNames:l,svg:V,win:o}=a,d=H["seriesTypes"],{addEvent:x,attr:y,createElement:v,css:b,defined:C,diffObjects:S,discardElement:q,erase:_,error:k,extend:w,find:M,fireEvent:A,getStyle:T,isArray:Z,isNumber:P,isObject:K,isString:O,merge:L,objectEach:E,pick:D,pInt:$,relativeLength:j,removeEvent:B,splat:R,syncTimeout:J,uniqueKey:Q}=r;class I{static chart(t,e,i){return new I(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(O(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){var t=this.options.chart,e=t.zooming;this.zooming={...e,type:D(t.zoomType,e.type),key:D(t.zoomKey,e.key),pinchType:D(t.pinchType,e.pinchType),singleTouch:D(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:L(e.resetButton,t.resetZoomButton)}}init(i,s){A(this,"init",{args:arguments},function(){var t=L(h,i),e=t.chart;this.userOptions=w({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=s,this.isResizing=0,this.options=t,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new g(i.time):a.time,this.numberFormatter=e.numberFormatter||Y,this.styledMode=e.styledMode,this.hasCartesianSeries=e.showAxes,this.index=p.length,p.push(this),a.chartCount++,u(this,e),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),A(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=d[i],r=(s||k(17,!0,this,{missingModuleFor:i}),new s);return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,i=0){let s=this[t],r=this.options[t]=R(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?R(this.userOptions[t]).slice():[];if(this.hasRendered&&(r.splice(i),o.splice(i)),s)for(let e=i,t=s.length;e=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(u.isInsidePlot=!1)),!i.ignoreY&&u.isInsidePlot&&(e=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},(t=i.paneCoordinates?e.pos+g:a+g)>=Math.max(l+a,e.pos)&&t<=Math.min(l+a+c.height,e.pos+e.len)||(u.isInsidePlot=!1)),A(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(t){A(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,g=this.isDirtyLegend,u;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((u=i[c]).options.stacking||u.options.centerInCategory)&&(d=!0,u.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(u=i[c]).options.stacking&&(u.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):o&&(o.labelFormatter||o.labelFormat)&&(g=!0)),t.isDirtyData&&A(t,"updatedData")}),g&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){var e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){A(t,"afterSetExtremes",w(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),A(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),A(this,"redraw"),A(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(e){var i=this.series;function s(t){return t.id===e||t.options&&t.options.id===e}let r=M(this.axes,s)||M(this.series,s);for(let t=0;!r&&t(t.getPointsCollection().forEach(t=>{D(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(i,t){let s=this,e=this.options[i]=L(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),e&&!r&&((r=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align,class:"highcharts-"+i,zIndex:e.zIndex||4}).add()).update=function(t,e){s.applyDescription(i,t),s.layOutTitles(e)},this.styledMode||r.css(w("title"===i?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[i]=r)}layOutTitles(t=!0){let a=[0,0,0],n=this.renderer,h=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let e=this[t],i=this.options[t],s=i.verticalAlign||"top",r="title"===t?"top"===s?-3:0:"top"===s?a[0]+2:0;var o;e&&(e.css({width:(i.width||h.width+(i.widthAdjust||0))+"px"}),t=n.fontMetrics(e).b,o=Math.round(e.getBBox(i.useHTML).height),e.align(w({y:"bottom"===s?t:r+t,height:o},i),!1,"spacingBox"),i.floating||("top"===s?a[0]=Math.ceil(a[0]+o):"bottom"===s&&(a[2]=Math.ceil(a[2]+o))))},this),a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin),a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);var e=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a,A(this,"afterLayOutTitles"),!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{var e;if(t!==this.container)return e=t.style.display,t.style.display="none",[t,e]}),e={width:T(this.renderTo,"width",!0)||0,height:T(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){var t=this.options.chart,e=t.width,t=t.height,i=this.getContainerBox(),s=1{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};var i;"function"==typeof ResizeObserver?new ResizeObserver(t).observe(e.renderTo):(i=x(o,"resize",t),x(this,"destroy",i))}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,f(i,s);var i=r.globalAnimation,{chartWidth:t,chartHeight:e,scrollablePixelsX:o=0,scrollablePixelsY:a=0}=(s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize(),s);!s.isDirtyBox&&t===s.oldChartWidth&&e===s.oldChartHeight||(s.styledMode||(i?n:b)(s.container,{width:t+o+"px",height:e+a+"px"},i),s.setChartSize(!0),r.setSize(t,e,i),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(i),s.oldChartHeight=void 0,A(s,"resize"),setTimeout(()=>{s&&A(s,"endResize")},U(i).duration)),--s.isResizing}setChartSize(t){var e,i,s,r;let{chartHeight:o,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=n?r:s,this.plotSizeY=n?s:r,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:o-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:r},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),A(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){A(this,"resetMargins");let r=this,o=r.options.chart,t=o.plotBorderWidth||0,e=t/2;["margin","spacing"].forEach(function(i){let t=o[i],s=K(t)?t:[t,t,t,t];["Top","Right","Bottom","Left"].forEach(function(t,e){r[i][e]=D(o[i+t],s[e])})}),l.forEach(function(t,e){r[t]=D(r.margin[e],r.spacing[e])}),r.axisOffset=[0,0,0,0],r.clipOffset=[e,e,e,e],r.plotBorderWidth=t}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,g=this.plotBox,u=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,v,b,S,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),r?v=b=m.strokeWidth():(b=(v=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(v||m["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=v),m.attr(S).shadow(t.shadow)),m[k]({x:b/2,y:b/2,width:i-b-v%2,height:s-b-v%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](g),r||(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(g)):this.plotBGImage=e.image(h,l,d,c,p).add())),u?u.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,A(this,"afterDrawChartBox")}propFromSeries(){let e,i,s,r=this,o=r.options.chart,a=r.options.series;["inverted","angular","polar"].forEach(function(t){for(i=d[o.type],s=o[t]||i&&i.prototype[t],e=a&&a.length;!s&&e--;)(i=d[a[e].type])&&i.prototype[t]&&(s=!0);r[t]=s})}linkSeries(t){let s=this,e=s.series;e.forEach(function(t){t.linkedSeries.length=0}),e.forEach(function(e){var i=e.options["linkedTo"];if(O(i)){let t;(t=":previous"===i?s.series[e.index-1]:s.get(i))&&t.linkedParent!==e&&(t.linkedSeries.push(e),(e.linkedParent=t).enabledDataSorting&&e.setDataSortingOptions(),e.visible=D(e.options.visible,t.options.visible,e.visible))}}),A(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(var l of(this.setTitle(),A(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){var d=l["options"],c=d["labels"];if(this.hasCartesianSeries&&l.horiz&&l.visible&&c.enabled&&l.series.length&&"colorAxis"!==l.coll&&!this.polar){o=d.tickLength,l.createGroups();let t=new X(l,0,"",!0),e=t.createLabel("x",c);if(t.destroy(),o=e&&D(c.reserveSpace,!P(d.crossing))?e.getBBox().height+c.distance+Math.max(d.offset||0,0):o){e?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||1(h?1:1.1),n=u/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=L(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(o.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,i=this,e=i.axes,s=i.series,r=i.container,o=r&&r.parentNode;for(A(i,"destroy"),i.renderer.forExport?_(p,i):p[i.index]=void 0,a.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),B(i),t=e.length;t--;)e[t]=e[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),r&&(r.innerHTML=c.emptyHTML,B(r),o&&q(r)),E(i,function(t,e){delete i[e]})}firstRender(){let e=this,t=e.options,i=(e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),Z(t.series)?t.series:[]);t.series=[],i.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),A(e,"beforeRender"),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),A(this,"load"),A(this,"render"),C(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),A(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),b(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:s,from:i={},reset:r,selection:o,to:a={},trigger:n}=t,h=this["inverted"],l=!1,d,c;for(var p of(this.hoverPoints?.forEach(t=>t.setState()),e)){var{horiz:g,len:u,minPointOffset:f=0,options:m,reversed:x}=p,y=g?"width":"height",v=g?"x":"y",b=D(a[y],p.len),y=D(i[y],p.len),S=Math.abs(b)<10?1:b/y,y=(i[v]||0)+y/2-p.pos,v=y-((a[v]??p.pos)+b/2-p.pos)/S,b=x&&!h||!x&&h?-1:1;if(r||!(y<0||y>p.len)){let t=p.toValue(v,!0)+(o||p.isOrdinal?0:f*b),e=p.toValue(v+u/S,!0)-(!o&&!p.isOrdinal&&f*b||0),i=p.allExtremes;if(t>e&&([t,e]=[e,t]),1==S&&!r&&"yAxis"===p.coll&&!i){for(var k of p.series){k=k.getExtremes(k.getProcessedData(!0).yData,!0);i=i??{dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},P(k.dataMin)&&P(k.dataMax)&&(i.dataMin=Math.min(k.dataMin,i.dataMin),i.dataMax=Math.max(k.dataMax,i.dataMax))}p.allExtremes=i}var{dataMin:x,dataMax:y,min:u,max:f}=w(p.getExtremes(),i||{}),b=x??m.min,x=y??m.max,y=e-t,M=p.categories?0:Math.min(y,x-b),b=b-M*(C(m.min)?0:m.minPadding),x=x+M*(C(m.max)?0:m.maxPadding),M=p.allowZoomOutside||1==S||"zoom"!==n&&1m&&(e=m,1<=S&&(t=e-y)),(r||p.series.length&&(t!==u||e!==f)&&t>=b&&e<=m)&&(o?o[p.coll].push({axis:p,min:t,max:e}):(p.isPanning="zoom"!==n,p.isPanning&&(c=!0),p.setExtremes(r?void 0:t,r?void 0:e,!1,!1,{move:v,trigger:n,scale:S}),!r&&(t>b||e{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return w(I.prototype,{callbacks:[],collectionsWithInit:{xAxis:[I.prototype.addAxis,[!0]],yAxis:[I.prototype.addAxis,[!1]],series:[I.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),I}),e(t,"Extensions/ScrollablePlotArea.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Utilities.js"]],function(t,e,p,i){let w=t["stop"],s=e["composed"],{addEvent:g,createElement:u,css:A,defined:T,merge:f,pushUnique:r}=i;function o(){let t=this.scrollablePlotArea;!this.scrollablePixelsX&&!this.scrollablePixelsY||t||(this.scrollablePlotArea=t=new h(this)),t?.applyFixed()}function a(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class h{static compose(t,e,i){r(s,this.compose)&&(g(t,"afterInit",a),g(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),g(e,"render",o),g(i,"show",a))}static afterSetSize(t,e){let i,s,r,{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=f(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),T(s)&&(t.scrollablePlotBox=f(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,r=!1)),T(r)&&!e.skipAxes))for(var c of t.axes)c.horiz===r&&(c.setAxisSize(),c.setAxisTranslation())}constructor(i){let s,t=i.options.chart,e=p.getRendererType(),r=t.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"},n=(i.scrollablePixelsX&&(a.overflowX="auto"),i.scrollablePixelsY&&(a.overflowY="auto"),this.chart=i,this.parentDiv=u("div",{className:"highcharts-scrolling-parent"},{position:"relative"},i.renderTo)),h=this.scrollingContainer=u("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=u("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=u("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(t.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new e(d,i.chartWidth,i.chartHeight,t.style);this.mask=c.path().attr({fill:t.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),A(i.renderTo,{overflow:"visible"}),g(i,"afterShowResetZoom",o),g(i,"afterApplyDrilldown",o),g(i,"afterLayOutTitles",o),g(h,"scroll",()=>{let{pointer:t,hoverPoint:e}=i;t&&(delete t.chartPosition,e&&(s=e),t.runPointActions(void 0,s,!0))}),l.appendChild(i.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:o,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:g=0}=t,{scrollPositionX:u=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=o+p,x=a+g,y=(e.setSize(o,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),w(t.container),A(n,{width:m+"px",height:x+"px"}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),A(s,{width:o+"px",height:a+"px"}),T(i)||(s.scrollLeft=p*u,s.scrollTop=g*f),d-r[0]-1),v=l-r[3]-1,b=d+h+r[2]+1,S=l+c+r[1]+1,k=l+c-p,M=d+h-g,C=[["M",0,0]];p?C=[["M",0,y],["L",l-1,y],["L",l-1,b],["L",0,b],["Z"],["M",k,y],["L",o,y],["L",o,b],["L",k,b],["Z"]]:g&&(C=[["M",v,0],["L",v,d-1],["L",S,d-1],["L",S,0],["Z"],["M",v,M],["L",v,a],["L",S,a],["L",S,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:C})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=h.fixedSelectors;for(var n of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(t+":not(.highcharts-radial-axis)",t+"-labels:not(.highcharts-radial-axis-labels)"),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return h.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],h}),e(t,"Core/Axis/Stacking/StackItem.js",[t["Core/Templating.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let o=t["format"],u=e["series"],{destroyObjectProperties:s,fireEvent:f,isNumber:m,pick:x}=i;return class{constructor(t,e,i,s,r){var o=t.chart.inverted,a=t.reversed,t=(this.axis=t,this.isNegative=!!i!=!!a);this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?t?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":t?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?t?"right":"left":"center")}destroy(){s(this,this.axis)}render(e){let i=this.axis.chart,s=this.options,t=s.format,r=t?o(t,this,i):s.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=i.renderer.label(r,null,void 0,s.shape,void 0,void 0,s.useHTML,!1,"stack-labels");let t={r:s.borderRadius||0,text:r,padding:x(s.padding,5),visibility:"hidden"};i.styledMode||(t.fill=s.backgroundColor,t.stroke=s.borderColor,t["stroke-width"]=s.borderWidth,this.label.css(s.style||{})),this.label.attr(t),this.label.added||this.label.add(e)}this.label.labelrank=i.plotSizeY,f(this,"afterRender")}setOffset(t,e,r,o,i,s){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:r,boxTop:o,defaultX:i,xAxis:s}),g=a["verticalAlign"];if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===x(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;var{x:r,y:o}=this.adjustStackPosition({labelBox:t,verticalAlign:g,textAlign:d});p.x-=r,p.y-=o,h.align(a,!1,p),(i=(s=c.isInsidePlot(h.alignAttr.x+a.x+r,h.alignAttr.y+a.y+o))?i:!1)&&u.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:t.height/2}),x(!i&&l.crop,!0)&&(s=m(h.x)&&m(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}f(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){var s={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:t.width/2+t.width/2*s[i],y:t.height/2*s[e]}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:x(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=x(r,d.translate(this.x))+o,p=Math.abs(l-e.toPixels(n||m(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(u?l-p:l)-i.plotTop,width:a,height:p}}}}),e(t,"Core/Axis/Stacking/StackingAxis.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Axis/Axis.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(t,e,i,A,s){let a=t["getDeferredAnimation"],{prototype:r}=i["series"],{addEvent:o,correctFloat:T,defined:P,destroyObjectProperties:n,fireEvent:h,isArray:O,isNumber:l,objectEach:d,pick:L}=s;function c(){let i=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,L(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function p(){let t=this.stacking;if(t){let i=t.stacks;d(i,(t,e)=>{n(t),delete i[e]}),t.stackTotalGroup?.destroy()}}function g(){this.stacking||(this.stacking=new v(this))}function u(t,e,i,s){return!P(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function f(){let o,a=this,t=a.yAxis,e=a.stackKey||"",n=t.stacking.stacks,h=a.processedXData,i=a.options.stacking,l=a[i+"Stacker"];l&&[e,"-"+e].forEach(t=>{let e=h.length,i,s,r;for(;e--;)i=h[e],o=a.getStackIndicator(o,i,a.index,t),(r=(s=n[t]?.[i])?.points[o.key||""])&&l.call(a,r,s,e)})}function m(t,e,i){e=e.total?100/e.total:0;t[0]=T(t[0]*e),t[1]=T(t[1]*e),this.stackedYData[i]=t[1]}function x(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&1{d(t,t=>{t.cumulative=t.total})}))}resetStacks(){d(this.stacks,i=>{d(i,(t,e)=>{l(t.touched)&&t.touched{d(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return{compose:function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(o(t,"init",g),o(t,"destroy",p),s.getStacks=c,r.getStackIndicator=u,r.modifyStacks=f,r.percentStacker=m,r.setGroupedPoints=x,r.setStackedPoints=y)}}}),e(t,"Series/Line/LineSeries.js",[t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{defined:m,merge:l,isObject:d}=i;class s extends t{drawGraph(){let a=this.options,n=(this.gappedPath||this.getGraphPath).call(this),h=this.chart.styledMode;[this,...this.zones].forEach((t,e)=>{let i,s=t.graph,r=s?"animate":"attr",o=t.dashStyle||a.dashStyle;s?(s.endX=this.preventGraphAnimation?null:n.xMap,s.animate({d:n})):n.length&&(t.graph=s=this.chart.renderer.path(n).addClass("highcharts-graph"+(e?` highcharts-zone-graph-${e-1} `:" ")+(e&&t.className||"")).attr({zIndex:1}).add(this.group)),s&&!h&&(i={stroke:!e&&a.lineColor||t.color||this.color||"#cccccc","stroke-width":a.lineWidth||0,fill:this.fillGraph&&this.color||"none"},o?i.dashstyle=o:"square"!==a.linecap&&(i["stroke-linecap"]=i["stroke-linejoin"]="round"),s[r](i).shadow(e<2&&a.shadow&&l({filterUnits:"userSpaceOnUse"},d(a.shadow)?a.shadow:{}))),s&&(s.startX=n.xMap,s.isArea=n.isArea)})}getGraphPath(n,h,l){let d=this,c=d.options,p=[],g=[],u,f=c.step,t=(n=n||d.points).reversed;return t&&n.reverse(),(f={right:1,center:2}[f]||f&&3)&&t&&(f=4-f),(n=this.getValidPoints(n,!1,!(c.connectNulls&&!h&&!l))).forEach(function(t,e){let i,s=t.plotX,r=t.plotY,o=n[e-1],a=t.isNull||"number"!=typeof r;(t.leftCliff||o&&o.rightCliff)&&!l&&(u=!0),u=a&&!m(h)&&0{let i={},s=t.fillColor||n.fillColor,r=t.area,o=r?"animate":"attr";r?(r.endX=this.preventGraphAnimation?null:a.xMap,r.animate({d:a})):(i.zIndex=0,(r=t.area=this.chart.renderer.path(a).addClass("highcharts-area"+(e?` highcharts-zone-area-${e-1} `:" ")+(e&&t.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=s||t.color||this.color,i["fill-opacity"]=s?1:n.fillOpacity??.75,r.css({pointerEvents:this.stickyTracking?"none":"auto"})),r[o](i),r.startX=a.xMap,r.shiftUnit=n.step?2:1})}getGraphPath(d){function i(t,e,i){let s=d[t],r=p&&x[s.x].points[m],o=s[i+"Null"]||0,a=s[i+"Cliff"]||0,n,h,l=!0;a||o?(n=(o?r[0]:r[1])+a,h=r[0]+a,l=!!o):!p&&d[e]&&d[e].isNull&&(n=h=y),void 0!==n&&(f.push({plotX:c,plotY:null===n?v:g.getThreshold(n),isNull:l,isCliff:!0}),u.push({plotX:c,plotY:null===h?v:g.getThreshold(h),doCurve:!1}))}let c,s,r,t=S.prototype.getGraphPath,e=this.options,p=e.stacking,g=this.yAxis,u=[],f=[],m=this.index,x=g.stacking.stacks[this.stackKey],y=e.threshold,v=Math.round(g.getThreshold(e.threshold)),o=k(e.connectNulls,"percent"===p);d=d||this.points;for(let t=0,e=(d=p?this.getStackPoints(d):d).length;tt.isCliff)&&(l.hasStackedCliffs=b.hasStackedCliffs=!0),l.xMap=a.xMap,this.areaPath=l,b}getStackPoints(e){let d=this,s=[],c=[],r=this.xAxis,p=this.yAxis,g=p.stacking.stacks[this.stackKey],u={},f=p.series,m=f.length,x=p.options.reversedStacks?1:-1,y=f.indexOf(d);if(e=e||this.points,this.options.stacking){for(let t=0;tt.visible);c.forEach(function(o,a){let e=0,n,h;if(u[o]&&!u[o].isNull)s.push(u[o]),[-1,1].forEach(function(t){let e=1===t?"rightNull":"leftNull",i=g[c[a+t]],s=0;if(i){let t=y;for(;0<=t&&te&&n>c?(n=Math.max(e,c),l=2*c-n):ns&&l>c?(l=Math.max(s,c),n=2*c-l):lt.visible).map(t=>t.index),s=0,r=0;c(this.xAxis.stacking?.stacks,t=>{if("number"==typeof o.x){let e=t[o.x.toString()];if(e&&d(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&1-1!==i.indexOf(t)).sort((t,e)=>e-t);s=t.indexOf(this.index),r=t.length}}}),s=this.xAxis.reversed?r-1-s:s;var n=(r-1)*a.paddedWidth+e;t=(o.plotX||0)+n/2-e-s*a.paddedWidth}return t}translate(){let c=this,p=c.chart,g=c.options,t=c.dense=c.closestPointRange*c.xAxis.transA<2,e=c.borderWidth=P(g.borderWidth,t?0:1),u=c.xAxis,f=c.yAxis,m=g.threshold,x=P(g.minPointLength,5),y=c.getColumnMetrics(),v=y.width,b=c.pointXOffset=y.offset,S=c.dataMin,k=c.dataMax,M=c.translatedThreshold=f.getThreshold(m),C=c.barW=Math.max(v,1+2*e);g.pointPadding&&(C=Math.ceil(C)),r.prototype.translate.apply(c),c.points.forEach(function(t){let e=P(t.yBottom,M),i=999+Math.abs(e),s=t.plotX||0,r=w(t.plotY,-i,f.len+i),o,a=Math.min(r,e),n=Math.max(r,e)-a,h=v,l=s+b,d=C;x&&Math.abs(n)x?e-x:M-(o?x:0)),A(t.options.pointWidth)&&(l-=Math.round(((h=d=Math.ceil(t.options.pointWidth))-v)/2)),g.centerInCategory&&!g.stacking&&(l=c.adjustForMissingColumns(l,h,t,y)),t.barX=l,t.pointWidth=h,t.tooltipPos=p.inverted?[w(f.len+f.pos-p.plotLeft-r,f.pos-p.plotLeft,f.len+f.pos-p.plotLeft),u.len+u.pos-p.plotTop-l-d/2,n]:[u.left-p.plotLeft+l+d/2,w(r+f.pos-p.plotTop,f.pos-p.plotTop,f.len+f.pos-p.plotTop),n],t.shapeType=c.pointClass.prototype.shapeType||"roundedRect",t.shapeArgs=c.crispCol(l,t.isNull?M:a,d,t.isNull?0:n)}),l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[r]||i[r]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[o]||i[o]||this[o]||0,g=P(t&&t.opacity,i.opacity,1),u=(t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&f(l).brighten(a.brightness).get()||l,d=a[r]||d,p=a[o]||p,c=a.dashStyle||c,g=P(a.opacity,g)),{fill:l,stroke:d,"stroke-width":p,opacity:g});return c&&(u.dashstyle=c),u}drawPoints(t=this.points){let o,a=this,n=this.chart,h=a.options,l=n.renderer,d=h.animationLimit||250;t.forEach(function(t){let e=t.plotY,i=t.graphic,s=!!i,r=i&&n.pointCountt?.enabled)}function a(t,e,i,s,r){let{chart:o,enabledDataSorting:a}=this,n=this.isCartesian&&o.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=T(h)&&T(l)&&o.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===E(i.overflow,a?"none":"justify"),g=this.visible&&!1!==t.visible&&T(h)&&(t.series.forceDL||a&&!p||c||E(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),u=t.pos();var f,m,x,y,v;g&&u&&(f=e.getBBox(),m=e.getBBox(void 0,0),x={right:1,center:.5}[i.align||0]||0,y={bottom:1,middle:.5}[i.verticalAlign||0]||0,s=b({x:u[0],y:Math.round(u[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),b(i,{width:f.width,height:f.height}),v=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,r,c,v),e.align(S(i,{width:m.width,height:m.height}),!1,s,!1),e.alignAttr.x+=x*(m.width-f.width),e.alignAttr.y+=y*(m.height-f.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(f.width-m.width)/2,y:e.alignAttr.y+(f.height-m.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&0<=s.height?this.justifyDataLabel(e,i,e.alignAttr,f,s,r):E(i.crop,!0)&&({x:t,y:v}=e.alignAttr,g=o.isInsidePlot(t,v,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+f.width-1,v+f.height-1,{paneCoordinates:!0,series:this})),i.shape&&!d&&e[r?"attr":"animate"]({anchorX:u[0],anchorY:u[1]})),r&&a&&(e.placed=!1),g||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function l(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function d(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function c(t){let b,S=(t=t||this.points,this),k=S.chart,M=S.options,C=k.renderer,{backgroundColor:e,plotBackgroundColor:i}=k.options.chart,w=C.getContrast(O(i)&&i||O(e)&&e||"#000000"),s=u(S),{animation:r,defer:o}=s[0],a=o?n(k,r,S):{defer:0,duration:0};P(this,"drawDataLabels"),S.hasDataLabels?.()&&(b=this.initDataLabels(a),t.forEach(y=>{let v=y.dataLabels||[],t=(h(g(s,y.dlOptions||y.options?.dataLabels)).forEach((t,e)=>{let i=t.enabled&&(y.visible||y.dataLabelOnHidden)&&(!y.isNull||y.dataLabelOnNull)&&(!(x=t.filter)||(f=x.operator,m=y[x.property],x=x.value,">"===f&&x="===f&&x<=m||"<="===f&&m<=x||"=="===f&&m==x||"==="===f&&m===x||"!="===f&&m!=x||"!=="===f&&m!==x)),{backgroundColor:s,borderColor:r,distance:o,style:a={}}=t,n,h,l,d,c={},p=v[e],g=!p,u;var f,m,x;i&&(h=E(t[y.formatPrefix+"Format"],t.format),n=y.getLabelConfig(),l=T(h)?A(h,n,k):(t[y.formatPrefix+"Formatter"]||t.formatter).call(n,t),d=t.rotation,k.styledMode||(a.color=E(t.color,a.color,O(S.color)?S.color:void 0,"#000000"),"contrast"===a.color?("none"!==s&&(u=s),y.contrastColor=C.getContrast("auto"!==u&&u||y.color||S.color),a.color=u||!T(o)&&t.inside||D(o||0)<0||M.stacking?y.contrastColor:w):delete y.contrastColor,M.cursor&&(a.cursor=M.cursor)),c={r:t.borderRadius||0,rotation:d,padding:t.padding,zIndex:1},k.styledMode||(c.fill="auto"===s?y.color:s,c.stroke="auto"===r?y.color:r,c["stroke-width"]=t.borderWidth),L(c,(t,e)=>{void 0===t&&delete c[e]})),!p||i&&T(l)&&!!p.div==!!t.useHTML&&(p.rotation&&t.rotation||p.rotation===t.rotation)||(p=void 0,g=!0),i&&T(l)&&(p?c.text=l:(p=C.label(l,0,0,t.shape,void 0,void 0,t.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+y.colorIndex+" "+(t.className||"")+(t.useHTML?" highcharts-tracker":"")),p&&(p.options=t,p.attr(c),k.styledMode?a.width&&p.css({width:a.width,textOverflow:a.textOverflow}):p.css(a).shadow(t.shadow),P(p,"beforeAddingDataLabel",{labelOptions:t,point:y}),p.added||p.add(b),S.alignDataLabel(y,p,t,void 0,g),p.isActive=!0,v[e]&&v[e]!==p&&v[e].destroy(),v[e]=p))}),v.length);for(;t--;)v[t]&&v[t].isActive?v[t].isActive=!1:(v[t]?.destroy(),v.splice(t,1));y.dataLabel=v[0],y.dataLabels=v})),P(this,"afterDrawDataLabels")}function p(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=!t.box&&t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:u=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&0<=u?(e.align="left",e.inside=!0):u-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&u<=0?(e.align="right",e.inside=!0):u+=a.plotWidth-m,x=!0),(m=i.y+l+g)<0&&("bottom"===h&&0<=f?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+g)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=u,e.y=f,t.placed=!o,t.align(e,void 0,r)),x}function g(e,i){let t=[],s;if(r(e)&&!r(i))t=e.map(function(t){return S(t,i)});else if(r(i)&&!r(e))t=i.map(function(t){return S(e,t)});else if(r(e)||r(i)){if(r(e)&&r(i))for(s=Math.max(e.length,i.length);s--;)t[s]=S(e[s],i[s])}else t=S(e,i);return t}function u(t){var e=t.chart.options.plotOptions;return h(g(g(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function f(t,e,i,s,r){var o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,t=t.pointWidth,t=t?t/2:0;e.startXPos=a?r.x:h?-l-t:n.width-l+t,e.startYPos=a?h?this.yAxis.height-l+t:-l-t:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}}),e(t,"Series/Column/ColumnDataLabel.js",[t["Core/Series/DataLabel.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i,s){var r;let o=t["composed"],c=i["series"],{merge:p,pick:g,pushUnique:a}=s;return(r||(r={})).compose=function(t){e.compose(c),a(o,"ColumnDataLabel")&&(t.prototype.alignDataLabel=n)},r;function n(t,e,i,s,r){var o=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,a=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,l=g(t.below,t.plotY>g(this.translatedThreshold,a)),d=g(i.inside,!!this.options.stacking);h&&(s=p(h),"allow"===i.overflow&&!1===i.crop||(s.y<0&&(s.height+=s.y,s.y=0),0<(h=s.y+s.height-a)&&h {series.name}
    ',pointFormat:"x: {point.x}
    y: {point.y}
    "}}}),e(t,"Series/Scatter/ScatterSeries.js",[t["Series/Scatter/ScatterSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let h=this,l=this.options.jitter,d=this.points.length;l&&this.points.forEach(function(a,n){["x","y"].forEach(function(t,e){var i,s,r,o;l[t]&&!a.isNull&&(i="plot"+t.toUpperCase(),o=h[t+"Axis"],s=l[t]*o.transA,o&&!o.logarithmic&&(r=Math.max(0,(a[i]||0)-s),o=Math.min(o.len,(a[i]||0)+s),a[i]=r+(o-r)*function(t){t=1e4*Math.sin(t);return t-Math.floor(t)}(n+e*d),"x"===t&&(a.clientX=a.plotX)))})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),e(t,"Series/CenteredUtilities.js",[t["Core/Globals.js"],t["Core/Series/Series.js"],t["Core/Utilities.js"]],function(t,u,e){let i=t["deg2rad"],{fireEvent:f,isNumber:m,pick:x,relativeLength:y}=e;return t={getCenter:function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,r=e.plotHeight-2*i,o=t.center,a=Math.min(s,r),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p,g=("string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d)),[x(o[0],"50%"),x(o[1],"50%"),x(l&&l<0?void 0:t.size,"100%"),x(d&&d<0?void 0:t.innerSize||0,"0%")]);for(!e.angular||this instanceof u||(g[3]=0),c=0;c<4;++c)p=g[c],h=c<2||2===c&&/%$/.test(p),g[c]=y(p,[s,r,a,g[2]][c])+(h?i:0);return g[3]>g[2]&&(g[3]=g[2]),m(n)&&2*n{this.slice("select"===t.type)};s(this,"select",t),s(this,"unselect",t)}isValid(){return n(this.y)&&0<=this.y}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;r(i,s.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(l.prototype,{connectorShapes:{fixedOffset:function(t,e,i){var s=e.breakAt,e=e.touchingSliceAt,i=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-e.x,2*s.y-e.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],i,["L",e.x,e.y]]},straight:function(t,e){e=e.touchingSliceAt;return[["M",t.x,t.y],["L",e.x,e.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,o=this["series"],[a,n,h]=o.center,l=h/2,{plotLeft:d,plotWidth:c}=o.chart,p="left"===t.alignment,{x:g,y:u}=t,f=s.x;f=i.crookDistance?(e=x(i.crookDistance,1),p?a+l+(c+d-a-l)*(1-e):d+(a-l)*e):a+(n-u)*Math.tan((this.angle||0)-Math.PI/2);let m=[["M",g,u]];return(p?f<=g&&f>=s.x:f>=g&&f<=s.x)&&m.push(["L",f,u]),m.push(["L",s.x,s.y],["L",r.x,r.y]),m}}}),l}),e(t,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),e(t,"Series/Pie/PieSeries.js",[t["Series/CenteredUtilities.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Series/Pie/PiePoint.js"],t["Series/Pie/PieSeriesDefaults.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let y=t["getStartAndEndRadians"],l=i["noop"],{clamp:d,extend:c,fireEvent:v,merge:p,pick:g}=h;class u extends o{animate(t){let s=this,e=s.points,r=s.startAngleRad;t||e.forEach(function(t){let e=t.graphic,i=t.shapeArgs;e&&i&&(e.attr({r:g(t.startR,s.center&&s.center[3]/2),start:r,end:r}),e.animate({r:i.r,start:i.start,end:i.end},s.options.animation))})}drawEmpty(){var t,e,i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){var r=this.center,i=this.radii?this.radii[i.index]||0:r[2]/2,o=s.dataLabelPosition?.distance||0,t=Math.asin(d((t-r[1])/(i+o),-1,1));return r[0]+Math.cos(t)*(i+o)*(e?-1:1)+(01.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,g=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*g],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}v(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){t=t.getBBox().width;return e?t+s:i-t-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function d(t,e){var{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),o=Math.sin(o),n=i[0]+a*r,i=i[1]+o*r,r=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:n+a*e,y:i+o*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n+a*r,y:i+o*r},touchingSliceAt:{x:n,y:i}},distance:e}}function f(){let f=this,t=f.points,a=f.chart,m=a.plotWidth,x=a.plotHeight,y=a.plotLeft,o=Math.round(a.chartWidth/3),v=f.center,b=v[2]/2,n=v[1],h=[[],[]],S=[0,0,0,0],k=f.dataLabelPositioners,l,M,C,d=0;f.visible&&f.hasDataLabels?.()&&(t.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),p.prototype.drawDataLabels.apply(f),t.forEach(r=>{(r.dataLabels||[]).forEach((t,e)=>{var i=v[2]/2,s=t.options,i=u(s?.distance||0,i);0===e&&h[r.half].push(r),!w(s?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+"px"}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(r,i),d=Math.max(d,i)})}),h.forEach((p,g)=>{let t=p.length,u=[],e,i,s=0,r;t&&(f.sortByAngle(p,g-.5),0{(i.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e&&0{(c.dataLabels||[]).forEach(e=>{let t=e.options||{},i=c.distributeBox,s=e.dataLabelPosition,r=s?.natural.y||0,o=t.connectorPadding||0,a=e.lineHeight||21,n=(a-e.getBBox().height)/2,h=0,l=r,d="inherit";if(s){if(u&&w(i)&&0m-o&&0===g&&(t=Math.round(h+M-m+o),S[1]=Math.max(t,S[1])),l-C/2<0?S[0]=Math.max(Math.round(-l+C/2),S[0]):l+C/2>x&&(S[2]=Math.max(Math.round(l+C/2-x),S[2])),s.sideOverflow=t}}})}))}),0!==g(S)&&!this.verifyDataLabelOverflow(S)||(this.placeDataLabels(),this.points.forEach(o=>{(o.dataLabels||[]).forEach(t=>{var e,{connectorColor:i,connectorWidth:s=1}=t.options||{},r=t.dataLabelPosition;s&&(l=t.connector,r&&0{(t.dataLabels||[]).forEach(t=>{var e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function x(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return a||(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=h(o,r,e[2]-Math.max(t[0],t[2])):(o=h(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},getDistanceBetweenPoints:function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},getAngleBetweenPoints:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},pointInPolygon:function({x:t,y:e},i){let s=i.length,r,o,a=!1;for(r=0,o=s-1;r(e.labelrank||0)-(t.labelrank||0));for(let t=0;t{for(var i of t)if(p({x:i[0],y:i[1]},e))return!0;return!1})(h,l)&&(t=!0):(l=a,(d=n).x>=l.x+l.width||d.x+d.width<=l.x||d.y>=l.y+l.height||d.y+d.height<=l.y||(t=!0)),t){let t=r.labelrank{a(t,t=>{t.label&&r.push(t.label)})});for(var i of s.series||[]){var o;i.visible&&i.hasDataLabels?.()&&((o=t=>{for(let i of t)i.visible&&(i.dataLabels||[]).forEach(t=>{var e=t.options||{};t.labelrank=n(e.labelrank,i.labelrank,i.shapeArgs?.height),e.allowOverlap??0this.borderWidth?"all":a)||"end";var f=Math.min(x(d.radius,t),t/2,"all"===a?e/2:1/0)||0;"end"===a&&(o&&(s-=f),r+=f),m(u,{brBoxHeight:r,brBoxY:s,r:f})}}}}function y(t,e){return a(t)||(t={radius:t||0}),n(h,e,t)}function p(){var e,i=y(this.options.borderRadius);for(e of this.points){let t=e.shapeArgs;t&&(t.borderRadius=x(i.radius,(t.r||0)-(t.innerR||0)))}}function g(t,e,i,s,r={}){let o=C(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=-.1Math.sqrt(Math.pow(t,2)-Math.pow(e,2));return g&&(r=M(c,c-g),f[0]-=r,m[0]+=r,x[1]=k[1]=e+c-g),s=s(i.minWidth,0)&&this.chartHeight>=s(i.minHeight,0)}).call(this)&&e.push(t._id)}function o(t,e){let i=this.options.responsive,s=this.currentResponsive,r=[],o,a=(!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=d()),this.matchResponsiveRule(t,r)},this),l(...r.map(e=>h((i||{}).rules||[],t=>t._id===e)).map(t=>t&&t.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;e=s&&s.ruleIds;r!==e&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),r?((o=n(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:o},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}}),e(t,"masters/highcharts.src.js",[t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Defaults.js"],t["Core/Animation/Fx.js"],t["Core/Animation/AnimationUtilities.js"],t["Core/Renderer/HTML/AST.js"],t["Core/Templating.js"],t["Core/Renderer/RendererRegistry.js"],t["Core/Renderer/RendererUtilities.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Renderer/HTML/HTMLElement.js"],t["Core/Axis/Axis.js"],t["Core/Axis/DateTimeAxis.js"],t["Core/Axis/LogarithmicAxis.js"],t["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],t["Core/Axis/Tick.js"],t["Core/Tooltip.js"],t["Core/Series/Point.js"],t["Core/Pointer.js"],t["Core/Legend/Legend.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Chart/Chart.js"],t["Extensions/ScrollablePlotArea.js"],t["Core/Axis/Stacking/StackingAxis.js"],t["Core/Axis/Stacking/StackItem.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Column/ColumnDataLabel.js"],t["Series/Pie/PieDataLabel.js"],t["Core/Series/DataLabel.js"],t["Extensions/OverlappingDataLabels.js"],t["Extensions/BorderRadius.js"],t["Core/Responsive.js"],t["Core/Color/Color.js"],t["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,g,u,f,m,x,y,v,b,S,k,M,C,w,A,T,P,O,L,E,D,j,B,R){return t.AST=o,t.Axis=p,t.Chart=k,t.Color=B,t.DataLabel=L,t.Fx=s,t.HTMLElement=c,t.Legend=b,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||E,t.PlotLineOrBand=f,t.Point=y,t.Pointer=v,t.RendererRegistry=n,t.Series=A,t.SeriesRegistry=T,t.StackItem=w,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=R,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=k.chart,t.color=B.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=T.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),L.compose(t.Series),g.compose(t.Axis),c.compose(t.SVGRenderer),b.compose(t.Chart),u.compose(t.Axis),E.compose(t.Chart),O.compose(t.Series.types.pie),f.compose(t.Chart,t.Axis),v.compose(t.Chart),j.compose(t.Chart),M.compose(t.Axis,t.Chart,t.Series),C.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e(t,"Stock/Navigator/ChartNavigatorComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,s){let r,i=t["isTouchDevice"],{addEvent:o,merge:a,pick:n}=s,h=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function d(){let t,e,i,s=this.legend,r=this.navigator;var o,a;r&&(t=s&&s.options,e=r.xAxis,i=r.yAxis,{scrollbarHeight:o,scrollButtonSize:a}=r,this.inverted?(r.left=r.opposite?this.chartWidth-o-r.height:this.spacing[3]+o,r.top=this.plotTop+a):(r.left=n(e.left,this.plotLeft+a),r.top=r.navigatorOptions.top||this.chartHeight-r.height-o-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=r.left:e.options.top=i.options.top=r.top,e.setAxisSize(),i.setAxisSize()))}function c(t){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new r(this),n(t.redraw,!0)&&this.redraw(t.animation))}function p(){var t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function g(){var t=this.options,e=t.navigator,t=t.rangeSelector;if((e&&e.enabled||t&&t.enabled)&&(!i&&"x"===this.zooming.type||i&&"x"===this.zooming.pinchType))return!1}function u(t){let e=t.navigator;e&&t.xAxis[0]&&(t=t.xAxis[0].getExtremes(),e.render(t.min,t.max))}function f(t){var e=t.options.navigator||{},i=t.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!i.enabled||(a(!0,this.options.navigator,e),a(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(e,i){if(s.pushUnique(h,e)){let t=e.prototype;r=i,t.callbacks.push(u),o(e,"afterAddSeries",l),o(e,"afterSetChartSize",d),o(e,"afterUpdate",c),o(e,"beforeRender",p),o(e,"beforeShowResetZoom",g),o(e,"update",f)}}}}),e(t,"Core/Axis/NavigatorAxisComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){let d=t["isTouchDevice"],{addEvent:i,correctFloat:h,defined:c,isNumber:l,pick:p}=e;function s(){this.navigatorAxis||(this.navigatorAxis=new o(this))}function r(t){let e,i=this.chart,s=i.options,r=s.navigator,o=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;var l;this.isXAxis&&(r?.enabled||n?.enabled)&&("y"===h&&"zoom"===t.trigger?e=!1:("zoom"===t.trigger&&"xy"===h||d&&"xy"===a)&&this.options.range&&(l=o.previousZoom,c(t.min)?o.previousZoom=[this.min,this.max]:l&&(t.min=l[0],t.max=l[1],o.previousZoom=void 0))),void 0!==e&&t.preventDefault()}class o{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}return class{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),i(t,"init",s),i(t,"setExtremes",r))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let r=this.axis,o=(r.pointRange||0)/2,a=p(i,r.translate(t,!0,!r.horiz)),n=p(s,r.translate(e,!0,!r.horiz));return c(i)||(a=h(a+o)),c(s)||(n=h(n-o)),{min:a=l(a)&&l(n)?a:n=void 0,max:n}}}}),e(t,"Stock/Navigator/NavigatorDefaults.js",[t["Core/Color/Color.js"],t["Core/Series/SeriesRegistry.js"]],function(t,e){let i=t["parse"],s=e["seriesTypes"];return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),e(t,"Stock/Navigator/NavigatorSymbols.js",[t["Core/Renderer/SVG/Symbols.js"],t["Core/Utilities.js"]],function(a,t){let n=t["relativeLength"];return{"navigator-handle":function(t,e,i,s,r={}){var i=r.width?r.width/2:i,o=n(r.borderRadius||0,Math.min(2*i,s));return[["M",-1.5,(s=r.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...a.rect(-i-1,.5,2*i+1,s,{r:o})]}}}),e(t,"Stock/Utilities/StockUtilities.js",[t["Core/Utilities.js"]],function(t){let i=t["defined"];return{setFixedRange:function(t){var e=this.xAxis[0];i(e.dataMax)&&i(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}}}),e(t,"Stock/Navigator/NavigatorComposition.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/NavigatorAxisComposition.js"],t["Stock/Navigator/NavigatorDefaults.js"],t["Stock/Navigator/NavigatorSymbols.js"],t["Core/Renderer/RendererRegistry.js"],t["Stock/Utilities/StockUtilities.js"],t["Core/Utilities.js"]],function(t,e,s,r,o,i,a,n){let h=t["setOptions"],l=e["composed"],d=i["getRendererType"],c=a["setFixedRange"],{addEvent:p,extend:g,pushUnique:u}=n;function f(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,i){s.compose(e),u(l,"Navigator")&&(t.prototype.setFixedRange=c,g(d().prototype.symbols,o),p(i,"afterUpdate",f),h({navigator:r}))}}}),e(t,"Core/Axis/ScrollbarAxis.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(t,e){var s;let r=t["composed"],{addEvent:o,defined:d,pick:a,pushUnique:n}=e;{t=s=s||{};let i;function c(t){var e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:d(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:d(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-1/0)):i}}function h(){var t=this.scrollbar,e=t&&!t.options.opposite,e=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=t.size+(t.options.margin||0))}function l(){let n=this;n.options&&n.options.scrollbar&&n.options.scrollbar.enabled&&(n.options.scrollbar.vertical=!n.horiz,n.options.startOnTick=n.options.endOnTick=!1,n.scrollbar=new i(n.chart.renderer,n.options.scrollbar,n.chart),o(n.scrollbar,"changed",function(t){let e,i;var{axisMin:s,axisMax:r,scrollMin:o,scrollMax:a}=c(n),a=a-o;d(s)&&d(r)&&(i=n.horiz&&!n.reversed||!n.horiz&&n.reversed?(e=o+a*this.to,o+a*this.from):(e=o+a*(1-this.from),o+a*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)?(s="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0,n.setExtremes(i,e,!0,s,t)):this.setRange(this.from,this.to))}))}function p(){let t,e,i,{scrollMin:s,scrollMax:r}=c(this),o=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,h=this.options.margin||0;var l;o&&n&&(t=this.horiz?(this.opposite||(n[1]+=a),o.position(this.left,this.top+this.height+2+n[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(n[1]+=h),1):(this.opposite&&(n[0]+=a),l=o.options.opposite?this.left+this.width+2+n[0]-(this.opposite?0:h):this.opposite?0:h,o.position(l,this.top,this.width,this.height),this.opposite&&(n[0]+=h),0),n[t]+=o.size+(o.options.margin||0),isNaN(s)||isNaN(r)||!d(this.min)||!d(this.max)||this.dataMin===this.dataMax?o.setRange(0,1):this.min===this.max?(l=this.pointRange/(this.dataMax+1),e=l*this.min,i=l*(this.max+1),o.setRange(e,i)):(e=(this.min-s)/(r-s),i=(this.max-s)/(r-s),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,i):o.setRange(1-i,1-e)))}t.compose=function(t,e){n(r,"Axis.Scrollbar")&&(i=e,o(t,"afterGetOffset",h),o(t,"afterInit",l),o(t,"afterRender",p))}}return s}),e(t,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),e(t,"Stock/Scrollbar/Scrollbar.js",[t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Axis/ScrollbarAxis.js"],t["Stock/Scrollbar/ScrollbarDefaults.js"],t["Core/Utilities.js"]],function(t,e,i,s,r){let o=t["defaultOptions"],{addEvent:h,correctFloat:d,crisp:a,defined:c,destroyObjectProperties:n,fireEvent:l,merge:p,pick:g,removeEvent:u}=r;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach(e=>{var i,s=e.length;for(let t=0;tthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-e)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,n(t.scrollbarButtons))}drawScrollbarButton(i){let s=this.renderer,r=this.scrollbarButtons,o=this.options,a=this.size,n=s.g().add(this.group);if(r.push(n),o.buttonsEnabled){let t=s.rect().addClass("highcharts-scrollbar-button").add(n),e=(this.chart.styledMode||t.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroundColor}),t.attr(t.crisp({x:-.5,y:-.5,width:a,height:a,r:o.buttonBorderRadius},t.strokeWidth())),s.path(f.swapXY([["M",a/2+(i?-1:1),a/2-3],["L",a/2+(i?-1:1),a/2+3],["L",a/2+(i?2:-2),a/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(r[i]));this.chart.styledMode||e.attr({fill:o.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,o.scrollbar,e),this.options.margin=g(this.options.margin,10),this.chart=i,this.size=g(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){t=this.chart.pointer?.normalize(t)||t,t=this.cursorToScrollbarPosition(t);this.chartX=t.chartX,this.chartY=t.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){var e=this.chart.pointer?.normalize(t)||t,i=this.options.vertical?"chartY":"chartX",s=this.initPositions||[];!this.grabbedCenter||t.touches&&0===t.touches[0][i]||(e=this.cursorToScrollbarPosition(e)[i]-this[i],this.hasDragged=!0,this.updatePosition(s[0]+e,s[1]+e),this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:r,margin:o=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=r?this.size:0,this.barWidth=s-(r?2*i:0),this.x=t+=o):(this.height=s=this.size,this.xOffset=h=r?this.size:0,this.barWidth=i-(r?2*s:0),this.y=this.y+o),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){u.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,r=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=r,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});var o=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-a(0,o),y:-a(0,o)}),this.scrollbarGroup=t.g().add(r),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-o,width:i-o,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-a(0,this.scrollbarStrokeWidth),-a(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;var r,o=this.options,a=o.vertical,n=o.minWidth,h=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";c(h)&&(r=h*Math.min(e,1),i=Math.ceil(h*(t=Math.max(t,0))),this.calculatedWidth=s=d(r-i),ss||!this.options.vertical&&e.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),l(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){1{t[s]({x:a[e],y:n[e],width:o[e],height:r[e]})})}renderElements(){let a=this,n=a.navigatorOptions,t=n.maskInside,h=a.chart,e=h.inverted,l=h.renderer,d={cursor:e?"ns-resize":"ew-resize"},c=a.navigatorGroup??(a.navigatorGroup=l.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!t,t,!t].forEach((t,e)=>{let i=a.shades[e]??(a.shades[e]=l.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(c));h.styledMode||(i.attr({fill:t?n.maskFill:"rgba(0,0,0,0)"}),1===e&&i.css(d))}),a.outline||(a.outline=l.path().addClass("highcharts-navigator-outline").add(c)),h.styledMode||a.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}),n.handles?.enabled){let s=n.handles,{height:r,width:o}=s;[0,1].forEach(t=>{var e,i=s.symbols[t];a.handles[t]&&a.handles[t].symbolUrl===i?a.handles[t].isImg||a.handles[t].symbolName===i||(e=p[i].call(p,-o/2-1,0,o,r),a.handles[t].attr({d:e}),a.handles[t].symbolName=i):(a.handles[t]?.destroy(),a.handles[t]=l.symbol(i,-o/2-1,0,o,r,s),a.handles[t].attr({zIndex:7-t}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][t]).add(c),a.addMouseEvents()),h.inverted&&a.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-o/2),rotationOriginY:(r+o)/2}),h.styledMode||a.handles[t].attr({fill:s.backgroundColor,stroke:s.borderColor,"stroke-width":s.lineWidth,width:s.width,height:s.height,x:-o/2-1,y:0}).css(d)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(S(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),C(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);var r;this.navigatorEnabled&&(!(this.isDirty=!0)===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{P(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)&&(this.height=t.height??this.height,r=this.getXAxisOffsets(),this.xAxis.update({...t.xAxis,offsets:r,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)),e&&i.redraw()}render(t,e,i,s){let r=this.chart,o=this.xAxis,a=o.pointRange||0,n=o.navigatorAxis.fake?r.xAxis[0]:o,h=this.navigatorEnabled,l=this.rendered,d=r.inverted,c=r.xAxis[0].minRange,p=r.xAxis[0].options.maxRange,g=this.scrollButtonSize,u,f,m,x=this.scrollbarHeight,y,v;if(!this.hasDragged||C(i)){if(this.isDirty&&this.renderElements(),t=M(t-a/2),e=M(e+a/2),!A(t)||!A(e)){if(!l)return;i=0,s=T(o.width,n.width)}this.left=T(o.left,r.plotLeft+g+(d?r.plotWidth:0));var b=this.size=y=T(o.len,(d?r.plotHeight:r.plotWidth)-2*g),t=(u=d?x:y+2*g,i=T(i,o.toPixels(t,!0)),s=T(s,o.toPixels(e,!0)),A(i)&&Math.abs(i)!==1/0||(i=0,s=u),o.toValue(i,!0)),e=o.toValue(s,!0),S=((S=Math.abs(M(e-t)))p&&(this.grabbedLeft?i=o.toPixels(e-p-a,!0):this.grabbedRight&&(s=o.toPixels(t+p+a,!0))),this.zoomedMax=k(Math.max(i,s),0,b),this.zoomedMin=k(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,b),this.range=this.zoomedMax-this.zoomedMin,b=Math.round(this.zoomedMax),Math.round(this.zoomedMin));h&&(this.navigatorGroup.attr({visibility:"inherit"}),v=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,b,d,v),this.drawOutline(S,b,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,v),this.drawHandle(b,1,d,v))),this.scrollbar&&(d?(m=this.top-g,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*g):(m=this.top+(h?this.height:-x),f=this.left-g),this.scrollbar.position(f,m,u,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,w(this,"afterRender")}}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],r,o;e.mouseMoveHandler=r=function(t){e.onMouseMove(t)},e.mouseUpHandler=o=function(t){e.onMouseUp(t)},(s=e.getPartsEvents("mousedown")).push(y(t.renderTo,"mousemove",r),y(i.ownerDocument,"mouseup",o),y(t.renderTo,"touchmove",r),y(i.ownerDocument,"touchend",o)),s.concat(e.getPartsEvents("touchstart")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(y(e.series[0].xAxis,"foundExtremes",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(s){let r=this,o=[];return["shades","handles"].forEach(function(i){r[i].forEach(function(t,e){o.push(y(t.element,s,function(t){r[i+"Mousedown"](t,e)}))})}),o}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,r=this.zoomedMin,o=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-r):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=o&&(p=o-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==r&&(this.fixedWidth=a,C((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&w(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],r=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,r=e.range,o=e.dragOffset,a=i.inverted,n=e.left,h;t.touches&&0===t.touches[0].pageX||(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+o-r&&(h=s+o-r),e.render(0,0,h-o,h-o+r)),e.hasDragged&&e.scrollbar&&T(e.scrollbar.options.liveRedraw,!l&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,r,o,a,n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==t.trigger||(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),C((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,o)).min)&&w(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&A(this.zoomedMin)&&A(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){P(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&P(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let t=n.options,e=t.navigator||{},i=e.enabled,s=t.scrollbar||{},r=s.enabled,o=i&&e.height||0,a=r&&s.height||0,h=s.buttonsEnabled&&a||0,l=(this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=o,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=i,this.navigatorOptions=e,this.scrollbarOptions=s,this.setOpposite(),this),d=l.baseSeries,c=n.xAxis.length,p=n.yAxis.length,g=d&&d[0]&&d[0].xAxis||n.xAxis[0]||{options:{}};var u;if(n.isDirtyBox=!0,l.navigatorEnabled?(u=this.getXAxisOffsets(),l.xAxis=new f(n,S({breaks:g.options.breaks,ordinal:g.options.ordinal,overscroll:g.options.overscroll},e.xAxis,{type:"datetime",yAxis:e.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:g.options.ordinal?0:g.options.minPadding,maxPadding:g.options.ordinal?0:g.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:u,width:o}:{offsets:u,height:o}),"xAxis"),l.yAxis=new f(n,S(e.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:T(e.yAxis&&e.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:o}:{height:o}),"yAxis"),d||e.series.data?l.updateNavigatorSeries(!1):0===n.series.length&&(l.unbindRedraw=y(n,"beforeRedraw",function(){0!t.options.isInternal).index:0),(e.series||[]).forEach((t,e)=>{t.options.isInternal||!t.options.showInNavigator&&(e!==i&&t.options.id!==i||!1===t.options.showInNavigator)||s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(t,r){let o=this,a=o.chart,n=o.baseSeries,h={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},l=o.series=(o.series||[]).filter(t=>{let e=t.baseSeries;return!(n.indexOf(e)<0&&(e&&(P(e,"updatedData",o.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),d,c,p=o.navigatorOptions.series,g;n&&n.length&&n.forEach(t=>{let e=t.navigatorSeries,i=v({color:t.color,visible:t.visible},b(p)?u.navigator.series:p);var s;e&&!1===o.navigatorOptions.adaptToUpdatedData||(h.name="Navigator "+n.length,g=(d=t.options||{}).navigatorOptions||{},i.dataLabels=O(i.dataLabels),(c=S(d,h,i,g)).pointRange=T(i.pointRange,g.pointRange,u.plotOptions[c.type||"line"].pointRange),s=g.data||i.data,o.hasNavigatorData=o.hasNavigatorData||!!s,c.data=s||d.data&&d.data.slice(0),e&&e.options?e.update(c,r):(t.navigatorSeries=a.initSeries(c),a.setSortedData(),t.navigatorSeries.baseSeries=t,l.push(t.navigatorSeries)))}),(!p.data||n&&n.length)&&!b(p)||(o.hasNavigatorData=!1,(p=O(p)).forEach((t,e)=>{h.name="Navigator "+(l.length+1),(c=S(u.navigator.series,{color:a.series[e]&&!a.series[e].options.isInternal&&a.series[e].color||a.options.colors[e]||a.options.colors[0]},h,t)).data=t.data,c.data&&(o.hasNavigatorData=!0,l.push(a.initSeries(c)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,i=e.baseSeries||[];i[0]&&i[0].xAxis&&i[0].eventsToUnbind.push(y(i[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),i.forEach(t=>{t.eventsToUnbind.push(y(t,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),t.eventsToUnbind.push(y(t,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&t.xAxis&&t.eventsToUnbind.push(y(t,"updatedData",this.updatedDataHandler)),t.eventsToUnbind.push(y(t,"remove",function(){i&&n(i,t),this.navigatorSeries&&(n(e.series,this.navigatorSeries),C(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;var e;void 0===t.getExtremes||!(e=this.getUnionExtremes(!0))||e.dataMin===t.min&&e.dataMax===t.max||(t.min=e.dataMin,t.max=e.dataMax)}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),r=s.min,o=s.max,a=s.dataMin,n=s.dataMax,h=o-r,l=i.stickToMin,d=i.stickToMax,c=T(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],g=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),g&&(l||d)&&A(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=T(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){var e=e.getBaseSeriesMin(t.xData[0]),i=(t=t.xAxis).max,s=t.min,t=t.options.range;return!(!A(i)||!A(s))&&(t&&0{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{a(t)}),this.navigatorEnabled=!1}}}),e(t,"Stock/Navigator/StandaloneNavigatorDefaults.js",[],function(){return{chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}}}),e(t,"Stock/Navigator/StandaloneNavigator.js",[t["Core/Chart/Chart.js"],t["Stock/Navigator/Navigator.js"],t["Core/Globals.js"],t["Core/Utilities.js"],t["Core/Axis/Axis.js"],t["Stock/Navigator/StandaloneNavigatorDefaults.js"]],function(s,r,o,t,i,a){let{merge:n,addEvent:h,fireEvent:l,pick:d}=t;return class c{static navigator(t,e){return t=new c(t,e),o.navigators?o.navigators.push(t):o.navigators=[t],t}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=n(o.getOptions(),a,{navigator:e});let i=new s(t,this.chartOptions);i.options=n(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new r(i),i.navigator=this.navigator,this.initNavigator()}bind(r,o=!0){let a=this,n=r instanceof s?r.xAxis[0]:r;if(n instanceof i){let{min:t,max:e}=this.navigator.xAxis,i=[],s=(o&&(r=h(n,"setExtremes",t=>{"pan"!==t.trigger&&"zoom"!==t.trigger&&"mouseWheelZoom"!==t.trigger||a.setRange(t.min,t.max,!0,"pan"!==t.trigger,{trigger:n})}),i.push(r)),o=h(this.navigator,"setRange",t=>{n.setExtremes(t.min,t.max,t.redraw,t.animation)}),i.push(o),this.boundAxes.filter(function(t){return t.axis===n})[0]);s||(s={axis:n,callbacks:[]},this.boundAxes.push(s)),s.callbacks=i,n.series.forEach(t=>{t.options.showInNavigator&&a.addSeries(t.options)}),n.setExtremes(t,e),h(n,"destroy",t=>{t.keepEvents||this.unbind(n)})}}unbind(t){if(!t)return this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),void(this.boundAxes.length=0);var e=t instanceof i?t:t.xAxis[0];for(let t=this.boundAxes.length-1;0<=t;t--)this.boundAxes[t].axis===e&&(this.boundAxes[t].callbacks.forEach(t=>t()),this.boundAxes.splice(t,1))}destroy(){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=n(this.chartOptions,{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries(n(t,{showInNavigator:d(t.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});var{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){var{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:r,max:o}=this.navigator.xAxis.getExtremes();return{min:d(t,r),max:d(e,o),dataMin:r,dataMax:o,userMin:i,userMax:s}}setRange(t,e,i,s,r){l(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:n(r,{trigger:"navigator"})})}getInitialExtremes(){var{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}}),e(t,"masters/modules/navigator.src.js",[t["Core/Globals.js"],t["Stock/Navigator/StandaloneNavigator.js"],t["Stock/Navigator/NavigatorComposition.js"]],function(t,e,i){return t.StandaloneNavigator=t.StandaloneNavigator||e,t.navigator=t.StandaloneNavigator.navigator,i.compose(t.Chart,t.Axis,t.Series),t}),e(t,"masters/standalone-navigator.src.js",[t["masters/highcharts.src.js"]],function(t){return t}),(t["masters/standalone-navigator.src.js"]._modules=t)["masters/standalone-navigator.src.js"]}); \ No newline at end of file diff --git a/assets/js/external/mermaid/mermaid.min.js b/assets/js/external/mermaid/mermaid.min.js index 2195371..ebea00b 100644 --- a/assets/js/external/mermaid/mermaid.min.js +++ b/assets/js/external/mermaid/mermaid.min.js @@ -1,16 +1,16 @@ -"use strict";var __esbuild_esm_mermaid=(()=>{var B1e=Object.create;var T1=Object.defineProperty;var F1e=Object.getOwnPropertyDescriptor;var z1e=Object.getOwnPropertyNames;var $1e=Object.getPrototypeOf,G1e=Object.prototype.hasOwnProperty;var s=(t,e)=>T1(t,"name",{value:e,configurable:!0});var _=(t,e)=>()=>(t&&(e=t(t=0)),e);var is=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ur=(t,e)=>{for(var r in e)T1(t,r,{get:e[r],enumerable:!0})},ob=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of z1e(e))!G1e.call(t,i)&&i!==r&&T1(t,i,{get:()=>e[i],enumerable:!(n=F1e(e,i))||n.enumerable});return t},lr=(t,e,r)=>(ob(t,e,"default"),r&&ob(r,e,"default")),ka=(t,e,r)=>(r=t!=null?B1e($1e(t)):{},ob(e||!t||!t.__esModule?T1(r,"default",{value:t,enumerable:!0}):r,t)),V1e=t=>ob(T1({},"__esModule",{value:!0}),t);function lb(t){for(var e=[],r=1;r{var Pve=Object.create;var $1=Object.defineProperty;var Bve=Object.getOwnPropertyDescriptor;var Fve=Object.getOwnPropertyNames;var zve=Object.getPrototypeOf,$ve=Object.prototype.hasOwnProperty;var o=(t,e)=>$1(t,"name",{value:e,configurable:!0});var R=(t,e)=>()=>(t&&(e=t(t=0)),e);var gi=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),hr=(t,e)=>{for(var r in e)$1(t,r,{get:e[r],enumerable:!0})},Rb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Fve(e))!$ve.call(t,i)&&i!==r&&$1(t,i,{get:()=>e[i],enumerable:!(n=Bve(e,i))||n.enumerable});return t},dr=(t,e,r)=>(Rb(t,e,"default"),r&&Rb(r,e,"default")),Xi=(t,e,r)=>(r=t!=null?Pve(zve(t)):{},Rb(e||!t||!t.__esModule?$1(r,"default",{value:t,enumerable:!0}):r,t)),Gve=t=>Rb($1({},"__esModule",{value:!0}),t);var Nb=gi((AC,_C)=>{"use strict";(function(t,e){typeof AC=="object"&&typeof _C<"u"?_C.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(AC,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(k){var I=["th","st","nd","rd"],C=k%100;return"["+k+(I[(C-20)%10]||I[C]||I[0])+"]"},"ordinal")},x=o(function(k,I,C){var O=String(k);return!O||O.length>=I?k:""+Array(I+1-O.length).join(C)+k},"m"),b={s:x,z:o(function(k){var I=-k.utcOffset(),C=Math.abs(I),O=Math.floor(C/60),D=C%60;return(I<=0?"+":"-")+x(O,2,"0")+":"+x(D,2,"0")},"z"),m:o(function k(I,C){if(I.date()1)return k(F[0])}else{var B=I.name;S[B]=I,D=B}return!O&&D&&(w=D),D||!O&&w},"t"),A=o(function(k,I){if(E(k))return k.clone();var C=typeof I=="object"?I:{};return C.date=k,C.args=arguments,new M(C)},"O"),L=b;L.l=_,L.i=E,L.w=function(k,I){return A(k,{locale:I.$L,utc:I.$u,x:I.$x,$offset:I.$offset})};var M=function(){function k(C){this.$L=_(C.locale,null,!0),this.parse(C),this.$x=this.$x||C.x||{},this[T]=!0}o(k,"M");var I=k.prototype;return I.parse=function(C){this.$d=function(O){var D=O.date,P=O.utc;if(D===null)return new Date(NaN);if(L.u(D))return new Date;if(D instanceof Date)return new Date(D);if(typeof D=="string"&&!/Z$/i.test(D)){var F=D.match(g);if(F){var B=F[2]-1||0,G=(F[7]||"0").substring(0,3);return P?new Date(Date.UTC(F[1],B,F[3]||1,F[4]||0,F[5]||0,F[6]||0,G)):new Date(F[1],B,F[3]||1,F[4]||0,F[5]||0,F[6]||0,G)}}return new Date(D)}(C),this.init()},I.init=function(){var C=this.$d;this.$y=C.getFullYear(),this.$M=C.getMonth(),this.$D=C.getDate(),this.$W=C.getDay(),this.$H=C.getHours(),this.$m=C.getMinutes(),this.$s=C.getSeconds(),this.$ms=C.getMilliseconds()},I.$utils=function(){return L},I.isValid=function(){return this.$d.toString()!==m},I.isSame=function(C,O){var D=A(C);return this.startOf(O)<=D&&D<=this.endOf(O)},I.isAfter=function(C,O){return A(C){"use strict";LF=Xi(Nb(),1),Zc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},V={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},G1=o(function(t="fatal"){let e=Zc.fatal;typeof t=="string"?t.toLowerCase()in Zc&&(e=Zc[t]):typeof t=="number"&&(e=t),V.trace=()=>{},V.debug=()=>{},V.info=()=>{},V.warn=()=>{},V.error=()=>{},V.fatal=()=>{},e<=Zc.fatal&&(V.fatal=console.error?console.error.bind(console,Eo("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Eo("FATAL"))),e<=Zc.error&&(V.error=console.error?console.error.bind(console,Eo("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Eo("ERROR"))),e<=Zc.warn&&(V.warn=console.warn?console.warn.bind(console,Eo("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Eo("WARN"))),e<=Zc.info&&(V.info=console.info?console.info.bind(console,Eo("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Eo("INFO"))),e<=Zc.debug&&(V.debug=console.debug?console.debug.bind(console,Eo("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Eo("DEBUG"))),e<=Zc.trace&&(V.trace=console.debug?console.debug.bind(console,Eo("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Eo("TRACE")))},"setLogLevel"),Eo=o(t=>`%c${(0,LF.default)().format("ss.SSS")} : ${t} : `,"format")});var Vve,np,LC,DF,Mb=R(()=>{"use strict";Vve=Object.freeze({left:0,top:0,width:16,height:16}),np=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),LC=Object.freeze({...Vve,...np}),DF=Object.freeze({...LC,body:"",hidden:!1})});var Uve,RF,NF=R(()=>{"use strict";Mb();Uve=Object.freeze({width:null,height:null}),RF=Object.freeze({...Uve,...np})});var Ib,DC,Ob,MF=R(()=>{"use strict";Ib=/^[a-z0-9]+(-[a-z0-9]+)*$/,DC=o((t,e,r,n="")=>{let i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!Ob(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!Ob(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!Ob(l,r)?null:l}return null},"stringToIcon"),Ob=o((t,e)=>t?!!((t.provider===""||t.provider.match(Ib))&&(e&&t.prefix===""||t.prefix.match(Ib))&&t.name.match(Ib)):!1,"validateIconName")});function IF(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var OF=R(()=>{"use strict";o(IF,"mergeIconTransformations")});function RC(t,e){let r=IF(t,e);for(let n in DF)n in np?n in t&&!(n in r)&&(r[n]=np[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var PF=R(()=>{"use strict";Mb();OF();o(RC,"mergeIconData")});function BF(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var FF=R(()=>{"use strict";o(BF,"getIconsTree")});function zF(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=RC(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),RC(t,a)}function NC(t,e){if(t.icons[e])return zF(t,e,[]);let r=BF(t,[e])[e];return r?zF(t,e,r):null}var $F=R(()=>{"use strict";PF();FF();o(zF,"internalGetIconData");o(NC,"getIconData")});function MC(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let n=t.split(Hve);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=Yve.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var Hve,Yve,GF=R(()=>{"use strict";Hve=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Yve=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(MC,"calculateSize")});function Wve(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function qve(t,e){return t?""+t+""+e:e}function VF(t,e,r){let n=Wve(t);return qve(n.defs,e+n.content+r)}var UF=R(()=>{"use strict";o(Wve,"splitSVGDefs");o(qve,"mergeDefsAndContent");o(VF,"wrapSVGContent")});function IC(t,e){let r={...LC,...t},n={...RF,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,w=y.rotate;x?b?w+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let S;switch(w<0&&(w-=Math.floor(w/4)*4),w=w%4,w){case 1:S=i.height/2+i.top,v.unshift("rotate(90 "+S.toString()+" "+S.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:S=i.width/2+i.left,v.unshift("rotate(-90 "+S.toString()+" "+S.toString()+")");break}w%2===1&&(i.left!==i.top&&(S=i.left,i.left=i.top,i.top=S),i.width!==i.height&&(S=i.width,i.width=i.height,i.height=S)),v.length&&(a=VF(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=MC(d,u/h)):(f=s==="auto"?u:s,d=l===null?MC(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{Xve(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var Xve,HF=R(()=>{"use strict";Mb();NF();GF();UF();Xve=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(IC,"iconToSVG")});function OC(t,e=Kve){let r=[],n;for(;n=jve.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(Qve++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var jve,Kve,Qve,YF=R(()=>{"use strict";jve=/\sid="(\S+)"/g,Kve="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),Qve=0;o(OC,"replaceIDs")});function PC(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var WF=R(()=>{"use strict";o(PC,"iconToHTML")});var XF=gi((ait,qF)=>{"use strict";var ip=1e3,ap=ip*60,sp=ap*60,Gf=sp*24,Zve=Gf*7,Jve=Gf*365.25;qF.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return e2e(t);if(r==="number"&&isFinite(t))return e.long?r2e(t):t2e(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function e2e(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Jve;case"weeks":case"week":case"w":return r*Zve;case"days":case"day":case"d":return r*Gf;case"hours":case"hour":case"hrs":case"hr":case"h":return r*sp;case"minutes":case"minute":case"mins":case"min":case"m":return r*ap;case"seconds":case"second":case"secs":case"sec":case"s":return r*ip;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}o(e2e,"parse");function t2e(t){var e=Math.abs(t);return e>=Gf?Math.round(t/Gf)+"d":e>=sp?Math.round(t/sp)+"h":e>=ap?Math.round(t/ap)+"m":e>=ip?Math.round(t/ip)+"s":t+"ms"}o(t2e,"fmtShort");function r2e(t){var e=Math.abs(t);return e>=Gf?Pb(t,e,Gf,"day"):e>=sp?Pb(t,e,sp,"hour"):e>=ap?Pb(t,e,ap,"minute"):e>=ip?Pb(t,e,ip,"second"):t+" ms"}o(r2e,"fmtLong");function Pb(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}o(Pb,"plural")});var KF=gi((oit,jF)=>{"use strict";function n2e(t){r.debug=r,r.default=r,r.coerce=u,r.disable=a,r.enable=i,r.enabled=s,r.humanize=XF(),r.destroy=h,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let d=0;for(let p=0;p{if(E==="%%")return"%";S++;let A=r.formatters[_];if(typeof A=="function"){let L=v[S];E=A.call(x,L),v.splice(S,1),S--}return E}),r.formatArgs.call(x,v),(x.log||r.log).apply(x,v)}return o(y,"debug"),y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:o(()=>p!==null?p:(m!==r.namespaces&&(m=r.namespaces,g=r.enabled(f)),g),"get"),set:o(v=>{p=v},"set")}),typeof r.init=="function"&&r.init(y),y}o(r,"createDebug");function n(f,d){let p=r(this.namespace+(typeof d>"u"?":":d)+f);return p.log=this.log,p}o(n,"extend");function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let d,p=(typeof f=="string"?f:"").split(/[\s,]+/),m=p.length;for(d=0;d"-"+d)].join(",");return r.enable(""),f}o(a,"disable");function s(f){if(f[f.length-1]==="*")return!0;let d,p;for(d=0,p=r.skips.length;d{"use strict";Ys.formatArgs=a2e;Ys.save=s2e;Ys.load=o2e;Ys.useColors=i2e;Ys.storage=l2e();Ys.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ys.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function i2e(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}o(i2e,"useColors");function a2e(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Bb.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}o(a2e,"formatArgs");Ys.log=console.debug||console.log||(()=>{});function s2e(t){try{t?Ys.storage.setItem("debug",t):Ys.storage.removeItem("debug")}catch{}}o(s2e,"save");function o2e(){let t;try{t=Ys.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}o(o2e,"load");function l2e(){try{return localStorage}catch{}}o(l2e,"localstorage");Bb.exports=KF()(Ys);var{formatters:c2e}=Bb.exports;c2e.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var uit,ZF=R(()=>{"use strict";MF();$F();HF();YF();WF();uit=Xi(QF(),1)});var FC,BC,JF,Fb,u2e,zb,V1=R(()=>{"use strict";ut();ZF();FC={body:'?',height:80,width:80},BC=new Map,JF=new Map,Fb=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(V.debug("Registering icon pack:",e.name),"loader"in e)JF.set(e.name,e.loader);else if("icons"in e)BC.set(e.name,e.icons);else throw V.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),u2e=o(async(t,e)=>{let r=DC(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=BC.get(n);if(!i){let s=JF.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},BC.set(n,i)}catch(l){throw V.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=NC(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),zb=o(async(t,e)=>{let r;try{r=await u2e(t,e?.fallbackPrefix)}catch(a){V.error(a),r=FC}let n=IC(r,e);return PC(OC(n.body),n.attributes)},"getIconSVG")});function $b(t){for(var e=[],r=1;r{"use strict";s(lb,"dedent")});var cb=is((X7,j7)=>{"use strict";(function(t,e){typeof X7=="object"&&typeof j7<"u"?j7.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(X7,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",o="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:s(function(L){var P=["th","st","nd","rd"],M=L%100;return"["+L+(P[(M-20)%10]||P[M]||P[0])+"]"},"ordinal")},x=s(function(L,P,M){var F=String(L);return!F||F.length>=P?L:""+Array(P+1-F.length).join(M)+L},"m"),b={s:x,z:s(function(L){var P=-L.utcOffset(),M=Math.abs(P),F=Math.floor(M/60),I=M%60;return(P<=0?"+":"-")+x(F,2,"0")+":"+x(I,2,"0")},"z"),m:s(function L(P,M){if(P.date()1)return L(z[0])}else{var N=P.name;A[N]=P,I=N}return!F&&I&&(k=I),I||!F&&k},"t"),E=s(function(L,P){if(T(L))return L.clone();var M=typeof P=="object"?P:{};return M.date=L,M.args=arguments,new R(M)},"O"),S=b;S.l=C,S.i=T,S.w=function(L,P){return E(L,{locale:P.$L,utc:P.$u,x:P.$x,$offset:P.$offset})};var R=function(){function L(M){this.$L=C(M.locale,null,!0),this.parse(M),this.$x=this.$x||M.x||{},this[w]=!0}s(L,"M");var P=L.prototype;return P.parse=function(M){this.$d=function(F){var I=F.date,O=F.utc;if(I===null)return new Date(NaN);if(S.u(I))return new Date;if(I instanceof Date)return new Date(I);if(typeof I=="string"&&!/Z$/i.test(I)){var z=I.match(g);if(z){var N=z[2]-1||0,U=(z[7]||"0").substring(0,3);return O?new Date(Date.UTC(z[1],N,z[3]||1,z[4]||0,z[5]||0,z[6]||0,U)):new Date(z[1],N,z[3]||1,z[4]||0,z[5]||0,z[6]||0,U)}}return new Date(I)}(M),this.init()},P.init=function(){var M=this.$d;this.$y=M.getFullYear(),this.$M=M.getMonth(),this.$D=M.getDate(),this.$W=M.getDay(),this.$H=M.getHours(),this.$m=M.getMinutes(),this.$s=M.getSeconds(),this.$ms=M.getMilliseconds()},P.$utils=function(){return S},P.isValid=function(){return this.$d.toString()!==m},P.isSame=function(M,F){var I=E(M);return this.startOf(F)<=I&&I<=this.endOf(F)},P.isAfter=function(M,F){return E(M){"use strict";LB=ka(cb(),1),Uc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},V={trace:s((...t)=>{},"trace"),debug:s((...t)=>{},"debug"),info:s((...t)=>{},"info"),warn:s((...t)=>{},"warn"),error:s((...t)=>{},"error"),fatal:s((...t)=>{},"fatal")},E1=s(function(t="fatal"){let e=Uc.fatal;typeof t=="string"?t.toLowerCase()in Uc&&(e=Uc[t]):typeof t=="number"&&(e=t),V.trace=()=>{},V.debug=()=>{},V.info=()=>{},V.warn=()=>{},V.error=()=>{},V.fatal=()=>{},e<=Uc.fatal&&(V.fatal=console.error?console.error.bind(console,fo("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",fo("FATAL"))),e<=Uc.error&&(V.error=console.error?console.error.bind(console,fo("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",fo("ERROR"))),e<=Uc.warn&&(V.warn=console.warn?console.warn.bind(console,fo("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",fo("WARN"))),e<=Uc.info&&(V.info=console.info?console.info.bind(console,fo("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",fo("INFO"))),e<=Uc.debug&&(V.debug=console.debug?console.debug.bind(console,fo("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fo("DEBUG"))),e<=Uc.trace&&(V.trace=console.debug?console.debug.bind(console,fo("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",fo("TRACE")))},"setLogLevel"),fo=s(t=>`%c${(0,LB.default)().format("ss.SSS")} : ${t} : `,"format")});var ub,Df,DB,hb=_(()=>{"use strict";ub=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Df=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,DB=/\s*%%.*\n/gm});var W0,K7=_(()=>{"use strict";W0=class extends Error{static{s(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var Rf,H0,fb,Q7,RB,Mf=_(()=>{"use strict";it();hb();K7();Rf={},H0=s(function(t,e){t=t.replace(ub,"").replace(Df,"").replace(DB,` -`);for(let[r,{detector:n}]of Object.entries(Rf))if(n(t,e))return r;throw new W0(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),fb=s((...t)=>{for(let{id:e,detector:r,loader:n}of t)Q7(e,r,n)},"registerLazyLoadedDiagrams"),Q7=s((t,e,r)=>{Rf[t]&&V.warn(`Detector with key ${t} already exists. Overwriting.`),Rf[t]={detector:e,loader:r},V.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),RB=s(t=>Rf[t].loader,"getDiagramLoader")});var C1,MB,Z7=_(()=>{"use strict";C1=function(){var t=s(function(_e,he,q,se){for(q=q||{},se=_e.length;se--;q[_e[se]]=he);return q},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],o=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],k=[1,35],A=[1,36],w=[1,37],T=[1,38],C=[1,39],E=[1,40],S=[1,41],R=[1,42],D=[1,43],L=[1,44],P=[1,45],M=[1,46],F=[1,47],I=[1,48],O=[1,50],z=[1,51],N=[1,52],U=[1,53],$=[1,54],W=[1,55],ee=[1,56],te=[1,57],ce=[1,58],Z=[1,59],fe=[1,60],ne=[14,42],H=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],K=[1,82],re=[1,83],ie=[1,84],ye=[1,85],j=[12,14,42],De=[12,14,33,42],oe=[12,14,33,42,76,77,79,80],Re=[12,33],Pe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Se={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:s(function(he,q,se,ue,X,ae,pe){var de=ae.length-1;switch(X){case 3:ue.setDirection("TB");break;case 4:ue.setDirection("BT");break;case 5:ue.setDirection("RL");break;case 6:ue.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:ue.setC4Type(ae[de-3]);break;case 19:ue.setTitle(ae[de].substring(6)),this.$=ae[de].substring(6);break;case 20:ue.setAccDescription(ae[de].substring(15)),this.$=ae[de].substring(15);break;case 21:this.$=ae[de].trim(),ue.setTitle(this.$);break;case 22:case 23:this.$=ae[de].trim(),ue.setAccDescription(this.$);break;case 28:ae[de].splice(2,0,"ENTERPRISE"),ue.addPersonOrSystemBoundary(...ae[de]),this.$=ae[de];break;case 29:ae[de].splice(2,0,"SYSTEM"),ue.addPersonOrSystemBoundary(...ae[de]),this.$=ae[de];break;case 30:ue.addPersonOrSystemBoundary(...ae[de]),this.$=ae[de];break;case 31:ae[de].splice(2,0,"CONTAINER"),ue.addContainerBoundary(...ae[de]),this.$=ae[de];break;case 32:ue.addDeploymentNode("node",...ae[de]),this.$=ae[de];break;case 33:ue.addDeploymentNode("nodeL",...ae[de]),this.$=ae[de];break;case 34:ue.addDeploymentNode("nodeR",...ae[de]),this.$=ae[de];break;case 35:ue.popBoundaryParseStack();break;case 39:ue.addPersonOrSystem("person",...ae[de]),this.$=ae[de];break;case 40:ue.addPersonOrSystem("external_person",...ae[de]),this.$=ae[de];break;case 41:ue.addPersonOrSystem("system",...ae[de]),this.$=ae[de];break;case 42:ue.addPersonOrSystem("system_db",...ae[de]),this.$=ae[de];break;case 43:ue.addPersonOrSystem("system_queue",...ae[de]),this.$=ae[de];break;case 44:ue.addPersonOrSystem("external_system",...ae[de]),this.$=ae[de];break;case 45:ue.addPersonOrSystem("external_system_db",...ae[de]),this.$=ae[de];break;case 46:ue.addPersonOrSystem("external_system_queue",...ae[de]),this.$=ae[de];break;case 47:ue.addContainer("container",...ae[de]),this.$=ae[de];break;case 48:ue.addContainer("container_db",...ae[de]),this.$=ae[de];break;case 49:ue.addContainer("container_queue",...ae[de]),this.$=ae[de];break;case 50:ue.addContainer("external_container",...ae[de]),this.$=ae[de];break;case 51:ue.addContainer("external_container_db",...ae[de]),this.$=ae[de];break;case 52:ue.addContainer("external_container_queue",...ae[de]),this.$=ae[de];break;case 53:ue.addComponent("component",...ae[de]),this.$=ae[de];break;case 54:ue.addComponent("component_db",...ae[de]),this.$=ae[de];break;case 55:ue.addComponent("component_queue",...ae[de]),this.$=ae[de];break;case 56:ue.addComponent("external_component",...ae[de]),this.$=ae[de];break;case 57:ue.addComponent("external_component_db",...ae[de]),this.$=ae[de];break;case 58:ue.addComponent("external_component_queue",...ae[de]),this.$=ae[de];break;case 60:ue.addRel("rel",...ae[de]),this.$=ae[de];break;case 61:ue.addRel("birel",...ae[de]),this.$=ae[de];break;case 62:ue.addRel("rel_u",...ae[de]),this.$=ae[de];break;case 63:ue.addRel("rel_d",...ae[de]),this.$=ae[de];break;case 64:ue.addRel("rel_l",...ae[de]),this.$=ae[de];break;case 65:ue.addRel("rel_r",...ae[de]),this.$=ae[de];break;case 66:ue.addRel("rel_b",...ae[de]),this.$=ae[de];break;case 67:ae[de].splice(0,1),ue.addRel("rel",...ae[de]),this.$=ae[de];break;case 68:ue.updateElStyle("update_el_style",...ae[de]),this.$=ae[de];break;case 69:ue.updateRelStyle("update_rel_style",...ae[de]),this.$=ae[de];break;case 70:ue.updateLayoutConfig("update_layout_config",...ae[de]),this.$=ae[de];break;case 71:this.$=[ae[de]];break;case 72:ae[de].unshift(ae[de-1]),this.$=ae[de];break;case 73:case 75:this.$=ae[de].trim();break;case 74:let Ie={};Ie[ae[de-1].trim()]=ae[de].trim(),this.$=Ie;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{14:[1,74]},t(ne,[2,13],{43:23,29:49,30:61,32:62,20:75,34:o,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe}),t(ne,[2,14]),t(H,[2,16],{12:[1,76]}),t(ne,[2,36],{12:[1,77]}),t(Q,[2,19]),t(Q,[2,20]),{25:[1,78]},{27:[1,79]},t(Q,[2,23]),{35:80,75:81,76:K,77:re,79:ie,80:ye},{35:86,75:81,76:K,77:re,79:ie,80:ye},{35:87,75:81,76:K,77:re,79:ie,80:ye},{35:88,75:81,76:K,77:re,79:ie,80:ye},{35:89,75:81,76:K,77:re,79:ie,80:ye},{35:90,75:81,76:K,77:re,79:ie,80:ye},{35:91,75:81,76:K,77:re,79:ie,80:ye},{35:92,75:81,76:K,77:re,79:ie,80:ye},{35:93,75:81,76:K,77:re,79:ie,80:ye},{35:94,75:81,76:K,77:re,79:ie,80:ye},{35:95,75:81,76:K,77:re,79:ie,80:ye},{35:96,75:81,76:K,77:re,79:ie,80:ye},{35:97,75:81,76:K,77:re,79:ie,80:ye},{35:98,75:81,76:K,77:re,79:ie,80:ye},{35:99,75:81,76:K,77:re,79:ie,80:ye},{35:100,75:81,76:K,77:re,79:ie,80:ye},{35:101,75:81,76:K,77:re,79:ie,80:ye},{35:102,75:81,76:K,77:re,79:ie,80:ye},{35:103,75:81,76:K,77:re,79:ie,80:ye},{35:104,75:81,76:K,77:re,79:ie,80:ye},t(j,[2,59]),{35:105,75:81,76:K,77:re,79:ie,80:ye},{35:106,75:81,76:K,77:re,79:ie,80:ye},{35:107,75:81,76:K,77:re,79:ie,80:ye},{35:108,75:81,76:K,77:re,79:ie,80:ye},{35:109,75:81,76:K,77:re,79:ie,80:ye},{35:110,75:81,76:K,77:re,79:ie,80:ye},{35:111,75:81,76:K,77:re,79:ie,80:ye},{35:112,75:81,76:K,77:re,79:ie,80:ye},{35:113,75:81,76:K,77:re,79:ie,80:ye},{35:114,75:81,76:K,77:re,79:ie,80:ye},{35:115,75:81,76:K,77:re,79:ie,80:ye},{20:116,29:49,30:61,32:62,34:o,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe},{12:[1,118],33:[1,117]},{35:119,75:81,76:K,77:re,79:ie,80:ye},{35:120,75:81,76:K,77:re,79:ie,80:ye},{35:121,75:81,76:K,77:re,79:ie,80:ye},{35:122,75:81,76:K,77:re,79:ie,80:ye},{35:123,75:81,76:K,77:re,79:ie,80:ye},{35:124,75:81,76:K,77:re,79:ie,80:ye},{35:125,75:81,76:K,77:re,79:ie,80:ye},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(ne,[2,15]),t(H,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(ne,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:o,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k,51:A,52:w,53:T,54:C,55:E,56:S,57:R,58:D,59:L,60:P,61:M,62:F,63:I,64:O,65:z,66:N,67:U,68:$,69:W,70:ee,71:te,72:ce,73:Z,74:fe}),t(Q,[2,21]),t(Q,[2,22]),t(j,[2,39]),t(De,[2,71],{75:81,35:132,76:K,77:re,79:ie,80:ye}),t(oe,[2,73]),{78:[1,133]},t(oe,[2,75]),t(oe,[2,76]),t(j,[2,40]),t(j,[2,41]),t(j,[2,42]),t(j,[2,43]),t(j,[2,44]),t(j,[2,45]),t(j,[2,46]),t(j,[2,47]),t(j,[2,48]),t(j,[2,49]),t(j,[2,50]),t(j,[2,51]),t(j,[2,52]),t(j,[2,53]),t(j,[2,54]),t(j,[2,55]),t(j,[2,56]),t(j,[2,57]),t(j,[2,58]),t(j,[2,60]),t(j,[2,61]),t(j,[2,62]),t(j,[2,63]),t(j,[2,64]),t(j,[2,65]),t(j,[2,66]),t(j,[2,67]),t(j,[2,68]),t(j,[2,69]),t(j,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(Re,[2,28]),t(Re,[2,29]),t(Re,[2,30]),t(Re,[2,31]),t(Re,[2,32]),t(Re,[2,33]),t(Re,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(H,[2,18]),t(ne,[2,38]),t(De,[2,72]),t(oe,[2,74]),t(j,[2,24]),t(j,[2,35]),t(Pe,[2,25]),t(Pe,[2,26],{12:[1,138]}),t(Pe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:s(function(he,q){if(q.recoverable)this.trace(he);else{var se=new Error(he);throw se.hash=q,se}},"parseError"),parse:s(function(he){var q=this,se=[0],ue=[],X=[null],ae=[],pe=this.table,de="",Ie=0,Ne=0,Be=0,ze=2,qe=1,Fe=ae.slice.call(arguments,1),we=Object.create(this.lexer),Je={yy:{}};for(var We in this.yy)Object.prototype.hasOwnProperty.call(this.yy,We)&&(Je.yy[We]=this.yy[We]);we.setInput(he,Je.yy),Je.yy.lexer=we,Je.yy.parser=this,typeof we.yylloc>"u"&&(we.yylloc={});var or=we.yylloc;ae.push(or);var Cr=we.options&&we.options.ranges;typeof Je.yy.parseError=="function"?this.parseError=Je.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ut(Bt){se.length=se.length-2*Bt,X.length=X.length-Bt,ae.length=ae.length-Bt}s(Ut,"popStack");function ar(){var Bt;return Bt=ue.pop()||we.lex()||qe,typeof Bt!="number"&&(Bt instanceof Array&&(ue=Bt,Bt=ue.pop()),Bt=q.symbols_[Bt]||Bt),Bt}s(ar,"lex");for(var ut,Rt,Qe,Dt,qt,yt,Et={},pt,Wt,ot,fr;;){if(Qe=se[se.length-1],this.defaultActions[Qe]?Dt=this.defaultActions[Qe]:((ut===null||typeof ut>"u")&&(ut=ar()),Dt=pe[Qe]&&pe[Qe][ut]),typeof Dt>"u"||!Dt.length||!Dt[0]){var vt="";fr=[];for(pt in pe[Qe])this.terminals_[pt]&&pt>ze&&fr.push("'"+this.terminals_[pt]+"'");we.showPosition?vt="Parse error on line "+(Ie+1)+`: -`+we.showPosition()+` -Expecting `+fr.join(", ")+", got '"+(this.terminals_[ut]||ut)+"'":vt="Parse error on line "+(Ie+1)+": Unexpected "+(ut==qe?"end of input":"'"+(this.terminals_[ut]||ut)+"'"),this.parseError(vt,{text:we.match,token:this.terminals_[ut]||ut,line:we.yylineno,loc:or,expected:fr})}if(Dt[0]instanceof Array&&Dt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Qe+", token: "+ut);switch(Dt[0]){case 1:se.push(ut),X.push(we.yytext),ae.push(we.yylloc),se.push(Dt[1]),ut=null,Rt?(ut=Rt,Rt=null):(Ne=we.yyleng,de=we.yytext,Ie=we.yylineno,or=we.yylloc,Be>0&&Be--);break;case 2:if(Wt=this.productions_[Dt[1]][1],Et.$=X[X.length-Wt],Et._$={first_line:ae[ae.length-(Wt||1)].first_line,last_line:ae[ae.length-1].last_line,first_column:ae[ae.length-(Wt||1)].first_column,last_column:ae[ae.length-1].last_column},Cr&&(Et._$.range=[ae[ae.length-(Wt||1)].range[0],ae[ae.length-1].range[1]]),yt=this.performAction.apply(Et,[de,Ne,Ie,Je.yy,Dt[1],X,ae].concat(Fe)),typeof yt<"u")return yt;Wt&&(se=se.slice(0,-1*Wt*2),X=X.slice(0,-1*Wt),ae=ae.slice(0,-1*Wt)),se.push(this.productions_[Dt[1]][0]),X.push(Et.$),ae.push(Et._$),ot=pe[se[se.length-2]][se[se.length-1]],se.push(ot);break;case 3:return!0}}return!0},"parse")},Ue=function(){var _e={EOF:1,parseError:s(function(q,se){if(this.yy.parser)this.yy.parser.parseError(q,se);else throw new Error(q)},"parseError"),setInput:s(function(he,q){return this.yy=q||this.yy||{},this._input=he,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var he=this._input[0];this.yytext+=he,this.yyleng++,this.offset++,this.match+=he,this.matched+=he;var q=he.match(/(?:\r\n?|\n).*/g);return q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),he},"input"),unput:s(function(he){var q=he.length,se=he.split(/(?:\r\n?|\n)/g);this._input=he+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-q),this.offset-=q;var ue=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),se.length-1&&(this.yylineno-=se.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===ue.length?this.yylloc.first_column:0)+ue[ue.length-se.length].length-se[0].length:this.yylloc.first_column-q},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-q]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(he){this.unput(this.match.slice(he))},"less"),pastInput:s(function(){var he=this.matched.substr(0,this.matched.length-this.match.length);return(he.length>20?"...":"")+he.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var he=this.match;return he.length<20&&(he+=this._input.substr(0,20-he.length)),(he.substr(0,20)+(he.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var he=this.pastInput(),q=new Array(he.length+1).join("-");return he+this.upcomingInput()+` -`+q+"^"},"showPosition"),test_match:s(function(he,q){var se,ue,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),ue=he[0].match(/(?:\r\n?|\n).*/g),ue&&(this.yylineno+=ue.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ue?ue[ue.length-1].length-ue[ue.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+he[0].length},this.yytext+=he[0],this.match+=he[0],this.matches=he,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(he[0].length),this.matched+=he[0],se=this.performAction.call(this,this.yy,this,q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var ae in X)this[ae]=X[ae];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var he,q,se,ue;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),ae=0;aeq[0].length)){if(q=se,ue=ae,this.options.backtrack_lexer){if(he=this.test_match(se,X[ae]),he!==!1)return he;if(this._backtrack){q=!1;continue}else return!1}else if(!this.options.flex)break}return q?(he=this.test_match(q,X[ue]),he!==!1?he:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var q=this.next();return q||this.lex()},"lex"),begin:s(function(q){this.conditionStack.push(q)},"begin"),popState:s(function(){var q=this.conditionStack.length-1;return q>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(q){return q=this.conditionStack.length-1-Math.abs(q||0),q>=0?this.conditionStack[q]:"INITIAL"},"topState"),pushState:s(function(q){this.begin(q)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(q,se,ue,X){var ae=X;switch(ue){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return _e}();Se.lexer=Ue;function Oe(){this.yy={}}return s(Oe,"Parser"),Oe.prototype=Se,Se.Parser=Oe,new Oe}();C1.parser=C1;MB=C1});var J7,An,Y0=_(()=>{"use strict";J7=s((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>J7(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=J7(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),An=J7});var db,IB,NB=_(()=>{"use strict";db={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:s(t=>t>=255?255:t<0?0:t,"r"),g:s(t=>t>=255?255:t<0?0:t,"g"),b:s(t=>t>=255?255:t<0?0:t,"b"),h:s(t=>t%360,"h"),s:s(t=>t>=100?100:t<0?0:t,"s"),l:s(t=>t>=100?100:t<0?0:t,"l"),a:s(t=>t>=1?1:t<0?0:t,"a")},toLinear:s(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:s((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:s(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return db.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return db.hue2rgb(a,i,t)*255;case"b":return db.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:s(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),o=(i+a)/2;if(n==="l")return o*100;if(i===a)return 0;let l=i-a,u=o>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";U1e={clamp:s((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:s(t=>Math.round(t*1e10)/1e10,"round")},OB=U1e});var q1e,BB,FB=_(()=>{"use strict";q1e={dec2hex:s(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},BB=q1e});var W1e,Ct,Ol=_(()=>{"use strict";NB();PB();FB();W1e={channel:IB,lang:OB,unit:BB},Ct=W1e});var qc,ki,S1=_(()=>{"use strict";Ol();qc={};for(let t=0;t<=255;t++)qc[t]=Ct.unit.dec2hex(t);ki={ALL:0,RGB:1,HSL:2}});var eE,zB,$B=_(()=>{"use strict";S1();eE=class{static{s(this,"Type")}constructor(){this.type=ki.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=ki.ALL}is(e){return this.type===e}},zB=eE});var tE,GB,VB=_(()=>{"use strict";Ol();$B();S1();tE=class{static{s(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new zB}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=ki.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=Ct.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=Ct.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=Ct.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=Ct.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=Ct.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=Ct.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(ki.HSL)&&r!==void 0?r:(this._ensureHSL(),Ct.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(ki.HSL)&&r!==void 0?r:(this._ensureHSL(),Ct.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(ki.HSL)&&r!==void 0?r:(this._ensureHSL(),Ct.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(ki.RGB)&&r!==void 0?r:(this._ensureRGB(),Ct.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(ki.RGB)&&r!==void 0?r:(this._ensureRGB(),Ct.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(ki.RGB)&&r!==void 0?r:(this._ensureRGB(),Ct.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(ki.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(ki.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(ki.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(ki.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(ki.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(ki.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},GB=tE});var H1e,th,_1=_(()=>{"use strict";VB();H1e=new GB({r:0,g:0,b:0,a:0},"transparent"),th=H1e});var UB,If,rE=_(()=>{"use strict";_1();S1();UB={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:s(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(UB.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,o=i>4,l=o?1:17,u=o?8:4,h=a?0:-1,f=o?255:15;return th.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:s(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${qc[Math.round(e)]}${qc[Math.round(r)]}${qc[Math.round(n)]}${qc[Math.round(i*255)]}`:`#${qc[Math.round(e)]}${qc[Math.round(r)]}${qc[Math.round(n)]}`},"stringify")},If=UB});var pb,A1,qB=_(()=>{"use strict";Ol();_1();pb={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:s(t=>{let e=t.match(pb.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return Ct.channel.clamp.h(parseFloat(r)*.9);case"rad":return Ct.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return Ct.channel.clamp.h(parseFloat(r)*360)}}return Ct.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:s(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(pb.re);if(!r)return;let[,n,i,a,o,l]=r;return th.set({h:pb._hue2deg(n),s:Ct.channel.clamp.s(parseFloat(i)),l:Ct.channel.clamp.l(parseFloat(a)),a:o?Ct.channel.clamp.a(l?parseFloat(o)/100:parseFloat(o)):1},t)},"parse"),stringify:s(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${Ct.lang.round(e)}, ${Ct.lang.round(r)}%, ${Ct.lang.round(n)}%, ${i})`:`hsl(${Ct.lang.round(e)}, ${Ct.lang.round(r)}%, ${Ct.lang.round(n)}%)`},"stringify")},A1=pb});var mb,nE,WB=_(()=>{"use strict";rE();mb={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:s(t=>{t=t.toLowerCase();let e=mb.colors[t];if(e)return If.parse(e)},"parse"),stringify:s(t=>{let e=If.stringify(t);for(let r in mb.colors)if(mb.colors[r]===e)return r},"stringify")},nE=mb});var HB,L1,YB=_(()=>{"use strict";Ol();_1();HB={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:s(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(HB.re);if(!r)return;let[,n,i,a,o,l,u,h,f]=r;return th.set({r:Ct.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:Ct.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:Ct.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?Ct.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:s(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${Ct.lang.round(e)}, ${Ct.lang.round(r)}, ${Ct.lang.round(n)}, ${Ct.lang.round(i)})`:`rgb(${Ct.lang.round(e)}, ${Ct.lang.round(r)}, ${Ct.lang.round(n)})`},"stringify")},L1=HB});var Y1e,wi,Wc=_(()=>{"use strict";rE();qB();WB();YB();S1();Y1e={format:{keyword:nE,hex:If,rgb:L1,rgba:L1,hsl:A1,hsla:A1},parse:s(t=>{if(typeof t!="string")return t;let e=If.parse(t)||L1.parse(t)||A1.parse(t)||nE.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:s(t=>!t.changed&&t.color?t.color:t.type.is(ki.HSL)||t.data.r===void 0?A1.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?L1.stringify(t):If.stringify(t),"stringify")},wi=Y1e});var X1e,gb,iE=_(()=>{"use strict";Ol();Wc();X1e=s((t,e)=>{let r=wi.parse(t);for(let n in e)r[n]=Ct.channel.clamp[n](e[n]);return wi.stringify(r)},"change"),gb=X1e});var j1e,Fs,aE=_(()=>{"use strict";Ol();_1();Wc();iE();j1e=s((t,e,r=0,n=1)=>{if(typeof t!="number")return gb(t,{a:e});let i=th.set({r:Ct.channel.clamp.r(t),g:Ct.channel.clamp.g(e),b:Ct.channel.clamp.b(r),a:Ct.channel.clamp.a(n)});return wi.stringify(i)},"rgba"),Fs=j1e});var K1e,D1,XB=_(()=>{"use strict";Ol();Wc();K1e=s((t,e)=>Ct.lang.round(wi.parse(t)[e]),"channel"),D1=K1e});var Q1e,jB,KB=_(()=>{"use strict";Ol();Wc();Q1e=s(t=>{let{r:e,g:r,b:n}=wi.parse(t),i=.2126*Ct.channel.toLinear(e)+.7152*Ct.channel.toLinear(r)+.0722*Ct.channel.toLinear(n);return Ct.lang.round(i)},"luminance"),jB=Q1e});var Z1e,QB,ZB=_(()=>{"use strict";KB();Z1e=s(t=>jB(t)>=.5,"isLight"),QB=Z1e});var J1e,Fa,JB=_(()=>{"use strict";ZB();J1e=s(t=>!QB(t),"isDark"),Fa=J1e});var eye,yb,sE=_(()=>{"use strict";Ol();Wc();eye=s((t,e,r)=>{let n=wi.parse(t),i=n[e],a=Ct.channel.clamp[e](i+r);return i!==a&&(n[e]=a),wi.stringify(n)},"adjustChannel"),yb=eye});var tye,ht,eF=_(()=>{"use strict";sE();tye=s((t,e)=>yb(t,"l",e),"lighten"),ht=tye});var rye,mt,tF=_(()=>{"use strict";sE();rye=s((t,e)=>yb(t,"l",-e),"darken"),mt=rye});var nye,Ce,rF=_(()=>{"use strict";Wc();iE();nye=s((t,e)=>{let r=wi.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return gb(t,n)},"adjust"),Ce=nye});var iye,nF,iF=_(()=>{"use strict";Wc();aE();iye=s((t,e,r=50)=>{let{r:n,g:i,b:a,a:o}=wi.parse(t),{r:l,g:u,b:h,a:f}=wi.parse(e),d=r/100,p=d*2-1,m=o-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,k=a*y+h*v,A=o*d+f*(1-d);return Fs(x,b,k,A)},"mix"),nF=iye});var aye,et,aF=_(()=>{"use strict";Wc();iF();aye=s((t,e=100)=>{let r=wi.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,nF(r,t,e)},"invert"),et=aye});var sF=_(()=>{"use strict";aE();XB();JB();eF();tF();rF();aF()});var Ho=_(()=>{"use strict";sF()});var rh,nh,R1=_(()=>{"use strict";rh="#ffffff",nh="#f2f2f2"});var ui,X0=_(()=>{"use strict";Ho();ui=s((t,e)=>e?Ce(t,{s:-40,l:10}):Ce(t,{s:-40,l:-10}),"mkBorder")});var oE,lF,cF=_(()=>{"use strict";Ho();R1();X0();oE=class{static{s(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Ce(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ce(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ui(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ui(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||et(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||et(this.tertiaryColor),this.lineColor=this.lineColor||et(this.background),this.arrowheadColor=this.arrowheadColor||et(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?mt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||mt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||et(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||ht(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},lF=s(t=>{let e=new oE;return e.calculate(t),e},"getThemeVariables")});var lE,uF,hF=_(()=>{"use strict";Ho();X0();lE=class{static{s(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=ht(this.primaryColor,16),this.tertiaryColor=Ce(this.primaryColor,{h:-160}),this.primaryBorderColor=et(this.background),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.tertiaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=ht(et("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Fs(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=mt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=mt(this.sectionBkgColor,10),this.taskBorderColor=Fs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Fs(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=ht(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=ht(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=ht(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Ce(this.primaryColor,{h:64}),this.fillType3=Ce(this.secondaryColor,{h:64}),this.fillType4=Ce(this.primaryColor,{h:-64}),this.fillType5=Ce(this.secondaryColor,{h:-64}),this.fillType6=Ce(this.primaryColor,{h:128}),this.fillType7=Ce(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},uF=s(t=>{let e=new lE;return e.calculate(t),e},"getThemeVariables")});var cE,j0,vb=_(()=>{"use strict";Ho();X0();R1();cE=class{static{s(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Ce(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Ce(this.primaryColor,{h:-160}),this.primaryBorderColor=ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.tertiaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Fs(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||mt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||mt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},j0=s(t=>{let e=new cE;return e.calculate(t),e},"getThemeVariables")});var uE,fF,dF=_(()=>{"use strict";Ho();R1();X0();uE=class{static{s(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=ht("#cde498",10),this.primaryBorderColor=ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.primaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=mt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ce(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ce(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ce(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ce(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ce(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ce(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ce(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ce(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ce(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||mt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||mt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},fF=s(t=>{let e=new uE;return e.calculate(t),e},"getThemeVariables")});var hE,pF,mF=_(()=>{"use strict";Ho();X0();R1();hE=class{static{s(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=ht(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Ce(this.primaryColor,{h:-160}),this.primaryBorderColor=ui(this.primaryColor,this.darkMode),this.secondaryBorderColor=ui(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ui(this.tertiaryColor,this.darkMode),this.primaryTextColor=et(this.primaryColor),this.secondaryTextColor=et(this.secondaryColor),this.tertiaryTextColor=et(this.tertiaryColor),this.lineColor=et(this.background),this.textColor=et(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=ht(this.contrast,55),this.border2=this.contrast,this.actorBorder=ht(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},pF=s(t=>{let e=new hE;return e.calculate(t),e},"getThemeVariables")});var po,xb=_(()=>{"use strict";cF();hF();vb();dF();mF();po={base:{getThemeVariables:lF},dark:{getThemeVariables:uF},default:{getThemeVariables:j0},forest:{getThemeVariables:fF},neutral:{getThemeVariables:pF}}});var Hc,gF=_(()=>{"use strict";Hc={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var yF,vF,xF,dr,Pl=_(()=>{"use strict";xb();gF();yF={...Hc,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"SIMPLE"},themeCSS:void 0,themeVariables:po.default.getThemeVariables(),sequence:{...Hc.sequence,messageFont:s(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:s(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:s(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},gantt:{...Hc.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Hc.c4,useWidth:void 0,personFont:s(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:s(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:s(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:s(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:s(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:s(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:s(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:s(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:s(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:s(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:s(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:s(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:s(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:s(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:s(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:s(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:s(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:s(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:s(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:s(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:s(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:s(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Hc.pie,useWidth:984},xyChart:{...Hc.xyChart,useWidth:void 0},requirement:{...Hc.requirement,useWidth:void 0},packet:{...Hc.packet}},vF=s((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...vF(t[n],"")]:[...r,e+n],[]),"keyify"),xF=new Set(vF(yF,"")),dr=yF});var K0,sye,fE=_(()=>{"use strict";Pl();it();K0=s(t=>{if(V.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>K0(e));return}for(let e of Object.keys(t)){if(V.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!xF.has(e)||t[e]==null){V.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){V.debug("sanitizing object",e),K0(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(V.debug("sanitizing css option",e),t[e]=sye(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}V.debug("After sanitization",t)}},"sanitizeDirective"),sye=s(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";Y0();it();xb();Pl();fE();ih=Object.freeze(dr),as=An({},ih),Q0=[],M1=An({},ih),bb=s((t,e)=>{let r=An({},t),n={};for(let i of e)EF(i),n=An(n,i);if(r=An(r,n),n.theme&&n.theme in po){let i=An({},kF),a=An(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in po&&(r.themeVariables=po[r.theme].getThemeVariables(a))}return M1=r,SF(M1),M1},"updateCurrentConfig"),dE=s(t=>(as=An({},ih),as=An(as,t),t.theme&&po[t.theme]&&(as.themeVariables=po[t.theme].getThemeVariables(t.themeVariables)),bb(as,Q0),as),"setSiteConfig"),wF=s(t=>{kF=An({},t)},"saveConfigFromInitialize"),TF=s(t=>(as=An(as,t),bb(as,Q0),as),"updateSiteConfig"),pE=s(()=>An({},as),"getSiteConfig"),kb=s(t=>(SF(t),An(M1,t),_r()),"setConfig"),_r=s(()=>An({},M1),"getConfig"),EF=s(t=>{t&&(["secure",...as.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(V.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&EF(t[e])}))},"sanitize"),CF=s(t=>{K0(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Q0.push(t),bb(as,Q0)},"addDirective"),I1=s((t=as)=>{Q0=[],bb(t,Q0)},"reset"),oye={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},bF={},lye=s(t=>{bF[t]||(V.warn(oye[t]),bF[t]=!0)},"issueWarning"),SF=s(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&lye("LAZY_LOAD_DEPRECATED")},"checkConfig")});var yE=is((mE,gE)=>{"use strict";(function(t,e){typeof mE=="object"&&typeof gE<"u"?gE.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.DOMPurify=e())})(mE,function(){"use strict";let{entries:t,setPrototypeOf:e,isFrozen:r,getPrototypeOf:n,getOwnPropertyDescriptor:i}=Object,{freeze:a,seal:o,create:l}=Object,{apply:u,construct:h}=typeof Reflect<"u"&&Reflect;a||(a=s(function(Se){return Se},"freeze")),o||(o=s(function(Se){return Se},"seal")),u||(u=s(function(Se,Ue,Oe){return Se.apply(Ue,Oe)},"apply")),h||(h=s(function(Se,Ue){return new Se(...Ue)},"construct"));let f=T(Array.prototype.forEach),d=T(Array.prototype.pop),p=T(Array.prototype.push),m=T(String.prototype.toLowerCase),g=T(String.prototype.toString),y=T(String.prototype.match),v=T(String.prototype.replace),x=T(String.prototype.indexOf),b=T(String.prototype.trim),k=T(Object.prototype.hasOwnProperty),A=T(RegExp.prototype.test),w=C(TypeError);function T(Pe){return function(Se){for(var Ue=arguments.length,Oe=new Array(Ue>1?Ue-1:0),_e=1;_e2&&arguments[2]!==void 0?arguments[2]:m;e&&e(Pe,null);let Oe=Se.length;for(;Oe--;){let _e=Se[Oe];if(typeof _e=="string"){let he=Ue(_e);he!==_e&&(r(Se)||(Se[Oe]=he),_e=he)}Pe[_e]=!0}return Pe}s(E,"addToSet");function S(Pe){for(let Se=0;Se/gm),ce=o(/\${[\w\W]*}/gm),Z=o(/^data-[\-\w.\u00B7-\uFFFF]/),fe=o(/^aria-[\-\w]+$/),ne=o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),H=o(/^(?:\w+script|data):/i),Q=o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),K=o(/^html$/i),re=o(/^[a-z][.\w]*(-[.\w]+)+$/i);var ie=Object.freeze({__proto__:null,MUSTACHE_EXPR:ee,ERB_EXPR:te,TMPLIT_EXPR:ce,DATA_ATTR:Z,ARIA_ATTR:fe,IS_ALLOWED_URI:ne,IS_SCRIPT_OR_DATA:H,ATTR_WHITESPACE:Q,DOCTYPE_NAME:K,CUSTOM_ELEMENT:re});let ye={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},j=s(function(){return typeof window>"u"?null:window},"getGlobal"),De=s(function(Se,Ue){if(typeof Se!="object"||typeof Se.createPolicy!="function")return null;let Oe=null,_e="data-tt-policy-suffix";Ue&&Ue.hasAttribute(_e)&&(Oe=Ue.getAttribute(_e));let he="dompurify"+(Oe?"#"+Oe:"");try{return Se.createPolicy(he,{createHTML(q){return q},createScriptURL(q){return q}})}catch{return console.warn("TrustedTypes policy "+he+" could not be created."),null}},"_createTrustedTypesPolicy");function oe(){let Pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:j(),Se=s(St=>oe(St),"DOMPurify");if(Se.version="3.1.6",Se.removed=[],!Pe||!Pe.document||Pe.document.nodeType!==ye.document)return Se.isSupported=!1,Se;let{document:Ue}=Pe,Oe=Ue,_e=Oe.currentScript,{DocumentFragment:he,HTMLTemplateElement:q,Node:se,Element:ue,NodeFilter:X,NamedNodeMap:ae=Pe.NamedNodeMap||Pe.MozNamedAttrMap,HTMLFormElement:pe,DOMParser:de,trustedTypes:Ie}=Pe,Ne=ue.prototype,Be=D(Ne,"cloneNode"),ze=D(Ne,"remove"),qe=D(Ne,"nextSibling"),Fe=D(Ne,"childNodes"),we=D(Ne,"parentNode");if(typeof q=="function"){let St=Ue.createElement("template");St.content&&St.content.ownerDocument&&(Ue=St.content.ownerDocument)}let Je,We="",{implementation:or,createNodeIterator:Cr,createDocumentFragment:Ut,getElementsByTagName:ar}=Ue,{importNode:ut}=Oe,Rt={};Se.isSupported=typeof t=="function"&&typeof we=="function"&&or&&or.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Qe,ERB_EXPR:Dt,TMPLIT_EXPR:qt,DATA_ATTR:yt,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:pt,ATTR_WHITESPACE:Wt,CUSTOM_ELEMENT:ot}=ie,{IS_ALLOWED_URI:fr}=ie,vt=null,Bt=E({},[...L,...P,...M,...I,...z]),Sr=null,zi=E({},[...N,...U,...$,...W]),rr=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Vn=null,Tn=null,Ki=!0,ci=!0,Pa=!1,En=!0,ti=!1,co=!0,uo=!1,Rl=!1,ts=!1,at=!1,xt=!1,Ft=!1,Ke=!0,Zt=!1,me="user-content-",Fc=!0,xe=!1,xi={},zc=null,g1=E({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ib=null,y1=E({},["audio","video","img","source","image","track"]),v1=null,ri=E({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ho="http://www.w3.org/1998/Math/MathML",Zu="http://www.w3.org/2000/svg",Ps="http://www.w3.org/1999/xhtml",Ju=Ps,ab=!1,x1=null,Qi=E({},[ho,Zu,Ps],g),$c=null,Gc=["application/xhtml+xml","text/html"],rs="text/html",bi=null,Ml=null,eh=Ue.createElement("form"),Af=s(function(Te){return Te instanceof RegExp||Te instanceof Function},"isRegexOrFunction"),Bs=s(function(){let Te=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Ml&&Ml===Te)){if((!Te||typeof Te!="object")&&(Te={}),Te=R(Te),$c=Gc.indexOf(Te.PARSER_MEDIA_TYPE)===-1?rs:Te.PARSER_MEDIA_TYPE,bi=$c==="application/xhtml+xml"?g:m,vt=k(Te,"ALLOWED_TAGS")?E({},Te.ALLOWED_TAGS,bi):Bt,Sr=k(Te,"ALLOWED_ATTR")?E({},Te.ALLOWED_ATTR,bi):zi,x1=k(Te,"ALLOWED_NAMESPACES")?E({},Te.ALLOWED_NAMESPACES,g):Qi,v1=k(Te,"ADD_URI_SAFE_ATTR")?E(R(ri),Te.ADD_URI_SAFE_ATTR,bi):ri,ib=k(Te,"ADD_DATA_URI_TAGS")?E(R(y1),Te.ADD_DATA_URI_TAGS,bi):y1,zc=k(Te,"FORBID_CONTENTS")?E({},Te.FORBID_CONTENTS,bi):g1,Vn=k(Te,"FORBID_TAGS")?E({},Te.FORBID_TAGS,bi):{},Tn=k(Te,"FORBID_ATTR")?E({},Te.FORBID_ATTR,bi):{},xi=k(Te,"USE_PROFILES")?Te.USE_PROFILES:!1,Ki=Te.ALLOW_ARIA_ATTR!==!1,ci=Te.ALLOW_DATA_ATTR!==!1,Pa=Te.ALLOW_UNKNOWN_PROTOCOLS||!1,En=Te.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ti=Te.SAFE_FOR_TEMPLATES||!1,co=Te.SAFE_FOR_XML!==!1,uo=Te.WHOLE_DOCUMENT||!1,at=Te.RETURN_DOM||!1,xt=Te.RETURN_DOM_FRAGMENT||!1,Ft=Te.RETURN_TRUSTED_TYPE||!1,ts=Te.FORCE_BODY||!1,Ke=Te.SANITIZE_DOM!==!1,Zt=Te.SANITIZE_NAMED_PROPS||!1,Fc=Te.KEEP_CONTENT!==!1,xe=Te.IN_PLACE||!1,fr=Te.ALLOWED_URI_REGEXP||ne,Ju=Te.NAMESPACE||Ps,rr=Te.CUSTOM_ELEMENT_HANDLING||{},Te.CUSTOM_ELEMENT_HANDLING&&Af(Te.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(rr.tagNameCheck=Te.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Te.CUSTOM_ELEMENT_HANDLING&&Af(Te.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(rr.attributeNameCheck=Te.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Te.CUSTOM_ELEMENT_HANDLING&&typeof Te.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(rr.allowCustomizedBuiltInElements=Te.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ti&&(ci=!1),xt&&(at=!0),xi&&(vt=E({},z),Sr=[],xi.html===!0&&(E(vt,L),E(Sr,N)),xi.svg===!0&&(E(vt,P),E(Sr,U),E(Sr,W)),xi.svgFilters===!0&&(E(vt,M),E(Sr,U),E(Sr,W)),xi.mathMl===!0&&(E(vt,I),E(Sr,$),E(Sr,W))),Te.ADD_TAGS&&(vt===Bt&&(vt=R(vt)),E(vt,Te.ADD_TAGS,bi)),Te.ADD_ATTR&&(Sr===zi&&(Sr=R(Sr)),E(Sr,Te.ADD_ATTR,bi)),Te.ADD_URI_SAFE_ATTR&&E(v1,Te.ADD_URI_SAFE_ATTR,bi),Te.FORBID_CONTENTS&&(zc===g1&&(zc=R(zc)),E(zc,Te.FORBID_CONTENTS,bi)),Fc&&(vt["#text"]=!0),uo&&E(vt,["html","head","body"]),vt.table&&(E(vt,["tbody"]),delete Vn.tbody),Te.TRUSTED_TYPES_POLICY){if(typeof Te.TRUSTED_TYPES_POLICY.createHTML!="function")throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Te.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Je=Te.TRUSTED_TYPES_POLICY,We=Je.createHTML("")}else Je===void 0&&(Je=De(Ie,_e)),Je!==null&&typeof We=="string"&&(We=Je.createHTML(""));a&&a(Te),Ml=Te}},"_parseConfig"),b1=E({},["mi","mo","mn","ms","mtext"]),Lf=E({},["foreignobject","annotation-xml"]),k1=E({},["title","style","font","a","script"]),xa=E({},[...P,...M,...F]),vB=E({},[...I,...O]),O1e=s(function(Te){let Ze=we(Te);(!Ze||!Ze.tagName)&&(Ze={namespaceURI:Ju,tagName:"template"});let bt=m(Te.tagName),fn=m(Ze.tagName);return x1[Te.namespaceURI]?Te.namespaceURI===Zu?Ze.namespaceURI===Ps?bt==="svg":Ze.namespaceURI===ho?bt==="svg"&&(fn==="annotation-xml"||b1[fn]):!!xa[bt]:Te.namespaceURI===ho?Ze.namespaceURI===Ps?bt==="math":Ze.namespaceURI===Zu?bt==="math"&&Lf[fn]:!!vB[bt]:Te.namespaceURI===Ps?Ze.namespaceURI===Zu&&!Lf[fn]||Ze.namespaceURI===ho&&!b1[fn]?!1:!vB[bt]&&(k1[bt]||!xa[bt]):!!($c==="application/xhtml+xml"&&x1[Te.namespaceURI]):!1},"_checkValidNamespace"),Il=s(function(Te){p(Se.removed,{element:Te});try{we(Te).removeChild(Te)}catch{ze(Te)}},"_forceRemove"),sb=s(function(Te,Ze){try{p(Se.removed,{attribute:Ze.getAttributeNode(Te),from:Ze})}catch{p(Se.removed,{attribute:null,from:Ze})}if(Ze.removeAttribute(Te),Te==="is"&&!Sr[Te])if(at||xt)try{Il(Ze)}catch{}else try{Ze.setAttribute(Te,"")}catch{}},"_removeAttribute"),xB=s(function(Te){let Ze=null,bt=null;if(ts)Te=""+Te;else{let Zi=y(Te,/^[\r\n\t ]+/);bt=Zi&&Zi[0]}$c==="application/xhtml+xml"&&Ju===Ps&&(Te=''+Te+"");let fn=Je?Je.createHTML(Te):Te;if(Ju===Ps)try{Ze=new de().parseFromString(fn,$c)}catch{}if(!Ze||!Ze.documentElement){Ze=or.createDocument(Ju,"template",null);try{Ze.documentElement.innerHTML=ab?We:fn}catch{}}let ba=Ze.body||Ze.documentElement;return Te&&bt&&ba.insertBefore(Ue.createTextNode(bt),ba.childNodes[0]||null),Ju===Ps?ar.call(Ze,uo?"html":"body")[0]:uo?Ze.documentElement:ba},"_initDocument"),bB=s(function(Te){return Cr.call(Te.ownerDocument||Te,Te,X.SHOW_ELEMENT|X.SHOW_COMMENT|X.SHOW_TEXT|X.SHOW_PROCESSING_INSTRUCTION|X.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),kB=s(function(Te){return Te instanceof pe&&(typeof Te.nodeName!="string"||typeof Te.textContent!="string"||typeof Te.removeChild!="function"||!(Te.attributes instanceof ae)||typeof Te.removeAttribute!="function"||typeof Te.setAttribute!="function"||typeof Te.namespaceURI!="string"||typeof Te.insertBefore!="function"||typeof Te.hasChildNodes!="function")},"_isClobbered"),wB=s(function(Te){return typeof se=="function"&&Te instanceof se},"_isNode"),Vc=s(function(Te,Ze,bt){Rt[Te]&&f(Rt[Te],fn=>{fn.call(Se,Ze,bt,Ml)})},"_executeHook"),TB=s(function(Te){let Ze=null;if(Vc("beforeSanitizeElements",Te,null),kB(Te))return Il(Te),!0;let bt=bi(Te.nodeName);if(Vc("uponSanitizeElement",Te,{tagName:bt,allowedTags:vt}),Te.hasChildNodes()&&!wB(Te.firstElementChild)&&A(/<[/\w]/g,Te.innerHTML)&&A(/<[/\w]/g,Te.textContent)||Te.nodeType===ye.progressingInstruction||co&&Te.nodeType===ye.comment&&A(/<[/\w]/g,Te.data))return Il(Te),!0;if(!vt[bt]||Vn[bt]){if(!Vn[bt]&&CB(bt)&&(rr.tagNameCheck instanceof RegExp&&A(rr.tagNameCheck,bt)||rr.tagNameCheck instanceof Function&&rr.tagNameCheck(bt)))return!1;if(Fc&&!zc[bt]){let fn=we(Te)||Te.parentNode,ba=Fe(Te)||Te.childNodes;if(ba&&fn){let Zi=ba.length;for(let ns=Zi-1;ns>=0;--ns){let Nl=Be(ba[ns],!0);Nl.__removalCount=(Te.__removalCount||0)+1,fn.insertBefore(Nl,qe(Te))}}}return Il(Te),!0}return Te instanceof ue&&!O1e(Te)||(bt==="noscript"||bt==="noembed"||bt==="noframes")&&A(/<\/no(script|embed|frames)/i,Te.innerHTML)?(Il(Te),!0):(ti&&Te.nodeType===ye.text&&(Ze=Te.textContent,f([Qe,Dt,qt],fn=>{Ze=v(Ze,fn," ")}),Te.textContent!==Ze&&(p(Se.removed,{element:Te.cloneNode()}),Te.textContent=Ze)),Vc("afterSanitizeElements",Te,null),!1)},"_sanitizeElements"),EB=s(function(Te,Ze,bt){if(Ke&&(Ze==="id"||Ze==="name")&&(bt in Ue||bt in eh))return!1;if(!(ci&&!Tn[Ze]&&A(yt,Ze))){if(!(Ki&&A(Et,Ze))){if(!Sr[Ze]||Tn[Ze]){if(!(CB(Te)&&(rr.tagNameCheck instanceof RegExp&&A(rr.tagNameCheck,Te)||rr.tagNameCheck instanceof Function&&rr.tagNameCheck(Te))&&(rr.attributeNameCheck instanceof RegExp&&A(rr.attributeNameCheck,Ze)||rr.attributeNameCheck instanceof Function&&rr.attributeNameCheck(Ze))||Ze==="is"&&rr.allowCustomizedBuiltInElements&&(rr.tagNameCheck instanceof RegExp&&A(rr.tagNameCheck,bt)||rr.tagNameCheck instanceof Function&&rr.tagNameCheck(bt))))return!1}else if(!v1[Ze]){if(!A(fr,v(bt,Wt,""))){if(!((Ze==="src"||Ze==="xlink:href"||Ze==="href")&&Te!=="script"&&x(bt,"data:")===0&&ib[Te])){if(!(Pa&&!A(pt,v(bt,Wt,"")))){if(bt)return!1}}}}}}return!0},"_isValidAttribute"),CB=s(function(Te){return Te!=="annotation-xml"&&y(Te,ot)},"_isBasicCustomElement"),SB=s(function(Te){Vc("beforeSanitizeAttributes",Te,null);let{attributes:Ze}=Te;if(!Ze)return;let bt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Sr},fn=Ze.length;for(;fn--;){let ba=Ze[fn],{name:Zi,namespaceURI:ns,value:Nl}=ba,w1=bi(Zi),Ba=Zi==="value"?Nl:b(Nl);if(bt.attrName=w1,bt.attrValue=Ba,bt.keepAttr=!0,bt.forceKeepAttr=void 0,Vc("uponSanitizeAttribute",Te,bt),Ba=bt.attrValue,co&&A(/((--!?|])>)|<\/(style|title)/i,Ba)){sb(Zi,Te);continue}if(bt.forceKeepAttr||(sb(Zi,Te),!bt.keepAttr))continue;if(!En&&A(/\/>/i,Ba)){sb(Zi,Te);continue}ti&&f([Qe,Dt,qt],AB=>{Ba=v(Ba,AB," ")});let _B=bi(Te.nodeName);if(EB(_B,w1,Ba)){if(Zt&&(w1==="id"||w1==="name")&&(sb(Zi,Te),Ba=me+Ba),Je&&typeof Ie=="object"&&typeof Ie.getAttributeType=="function"&&!ns)switch(Ie.getAttributeType(_B,w1)){case"TrustedHTML":{Ba=Je.createHTML(Ba);break}case"TrustedScriptURL":{Ba=Je.createScriptURL(Ba);break}}try{ns?Te.setAttributeNS(ns,Zi,Ba):Te.setAttribute(Zi,Ba),kB(Te)?Il(Te):d(Se.removed)}catch{}}}Vc("afterSanitizeAttributes",Te,null)},"_sanitizeAttributes"),P1e=s(function St(Te){let Ze=null,bt=bB(Te);for(Vc("beforeSanitizeShadowDOM",Te,null);Ze=bt.nextNode();)Vc("uponSanitizeShadowNode",Ze,null),!TB(Ze)&&(Ze.content instanceof he&&St(Ze.content),SB(Ze));Vc("afterSanitizeShadowDOM",Te,null)},"_sanitizeShadowDOM");return Se.sanitize=function(St){let Te=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ze=null,bt=null,fn=null,ba=null;if(ab=!St,ab&&(St=""),typeof St!="string"&&!wB(St))if(typeof St.toString=="function"){if(St=St.toString(),typeof St!="string")throw w("dirty is not a string, aborting")}else throw w("toString is not a function");if(!Se.isSupported)return St;if(Rl||Bs(Te),Se.removed=[],typeof St=="string"&&(xe=!1),xe){if(St.nodeName){let Nl=bi(St.nodeName);if(!vt[Nl]||Vn[Nl])throw w("root node is forbidden and cannot be sanitized in-place")}}else if(St instanceof se)Ze=xB(""),bt=Ze.ownerDocument.importNode(St,!0),bt.nodeType===ye.element&&bt.nodeName==="BODY"||bt.nodeName==="HTML"?Ze=bt:Ze.appendChild(bt);else{if(!at&&!ti&&!uo&&St.indexOf("<")===-1)return Je&&Ft?Je.createHTML(St):St;if(Ze=xB(St),!Ze)return at?null:Ft?We:""}Ze&&ts&&Il(Ze.firstChild);let Zi=bB(xe?St:Ze);for(;fn=Zi.nextNode();)TB(fn)||(fn.content instanceof he&&P1e(fn.content),SB(fn));if(xe)return St;if(at){if(xt)for(ba=Ut.call(Ze.ownerDocument);Ze.firstChild;)ba.appendChild(Ze.firstChild);else ba=Ze;return(Sr.shadowroot||Sr.shadowrootmode)&&(ba=ut.call(Oe,ba,!0)),ba}let ns=uo?Ze.outerHTML:Ze.innerHTML;return uo&&vt["!doctype"]&&Ze.ownerDocument&&Ze.ownerDocument.doctype&&Ze.ownerDocument.doctype.name&&A(K,Ze.ownerDocument.doctype.name)&&(ns=" -`+ns),ti&&f([Qe,Dt,qt],Nl=>{ns=v(ns,Nl," ")}),Je&&Ft?Je.createHTML(ns):ns},Se.setConfig=function(){let St=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bs(St),Rl=!0},Se.clearConfig=function(){Ml=null,Rl=!1},Se.isValidAttribute=function(St,Te,Ze){Ml||Bs({});let bt=bi(St),fn=bi(Te);return EB(bt,fn,Ze)},Se.addHook=function(St,Te){typeof Te=="function"&&(Rt[St]=Rt[St]||[],p(Rt[St],Te))},Se.removeHook=function(St){if(Rt[St])return d(Rt[St])},Se.removeHooks=function(St){Rt[St]&&(Rt[St]=[])},Se.removeAllHooks=function(){Rt={}},Se}s(oe,"createDOMPurify");var Re=oe();return Re})});var Jz={};ur(Jz,{default:()=>r2e});function mye(t){return String(t).replace(pye,e=>dye[e])}function xye(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function Sye(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function az(t){for(var e=0;e=Nb[e]&&t<=Nb[e+1])return!0;return!1}function Bye(t,e){zl[t]=e}function UE(t,e,r){if(!zl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=zl[e][n];if(!i&&t[0]in AF&&(n=AF[t[0]].charCodeAt(0),i=zl[e][n]),!i&&r==="text"&&az(n)&&(i=zl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function Fye(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!vE[e]){var r=vE[e]={cssEmPerMu:wb.quad[e]/18};for(var n in wb)wb.hasOwnProperty(n)&&(r[n]=wb[n][e])}return vE[e]}function RF(t){if(t instanceof ls)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function Vye(t){if(t instanceof Bf)return t;throw new Error("Expected span but got "+String(t)+".")}function B(t,e,r,n,i,a){dn[t][i]={font:e,group:r,replace:n},a&&n&&(dn[t][n]=dn[t][i])}function st(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:o}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(Lb(o,e)),o=[]),a.push(n[l]));o.length>0&&a.push(Lb(o,e));var h;r?(h=Lb(Ti(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=Qc(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=tt(f.height+f.depth),f.depth&&(d.style.verticalAlign=tt(-f.depth))}return f}function yz(t){return new Pf(t)}function PF(t,e,r,n,i){var a=cs(t,r),o;a.length===1&&a[0]instanceof os&&Mt.contains(["mrow","mtable"],a[0].type)?o=a[0]:o=new Xe.MathNode("mrow",a);var l=new Xe.MathNode("annotation",[new Xe.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new Xe.MathNode("semantics",[o,l]),h=new Xe.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Ae.makeSpan([f],[h])}function Jt(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function YE(t){var e=Wb(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Wb(t){return t&&(t.type==="atom"||qye.hasOwnProperty(t.type))?t:null}function kz(t,e){var r=Ti(t.body,e,!0);return bve([t.mclass],r,e)}function wz(t,e){var r,n=cs(t.body,e);return t.mclass==="minner"?r=new Xe.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new Xe.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new Xe.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function Tve(t,e,r){var n=kve[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},o=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,o,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function Eve(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new je("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',o[u]);var g=Tve(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=BF()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function Yb(t,e){var r=Wb(t);if(r&&Mt.contains(Bve,r.text))return r;throw r?new je("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new je("Invalid delimiter type '"+t.type+"'",t)}function $F(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Gl(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:o}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";$s=class t{static{s(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},go=class t{static{s(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,$s.range(this,e))}},je=class t{static{s(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,o=r&&r.loc;if(o&&o.start<=o.end){var l=o.lexer.input;i=o.start,a=o.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},pye=/[&><"']/g;s(mye,"escape");iz=s(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),gye=s(function(e){var r=iz(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),yye=s(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),vye=s(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),Mt={contains:cye,deflt:uye,escape:mye,hyphenate:fye,getBaseElem:iz,isCharacterBox:gye,protocolFromUrl:vye},Ib={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:s(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:s((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:s(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:s(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:s(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:s(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};s(xye,"getDefaultValue");F1=class{static{s(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in Ib)if(Ib.hasOwnProperty(r)){var n=Ib[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:xye(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new je("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=Mt.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Bl=class{static{s(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Fl[bye[this.id]]}sub(){return Fl[kye[this.id]]}fracNum(){return Fl[wye[this.id]]}fracDen(){return Fl[Tye[this.id]]}cramp(){return Fl[Eye[this.id]]}text(){return Fl[Cye[this.id]]}isTight(){return this.size>=2}},VE=0,Ob=1,ep=2,jc=3,z1=4,mo=5,tp=6,za=7,Fl=[new Bl(VE,0,!1),new Bl(Ob,0,!0),new Bl(ep,1,!1),new Bl(jc,1,!0),new Bl(z1,2,!1),new Bl(mo,2,!0),new Bl(tp,3,!1),new Bl(za,3,!0)],bye=[z1,mo,z1,mo,tp,za,tp,za],kye=[mo,mo,mo,mo,za,za,za,za],wye=[ep,jc,z1,mo,tp,za,tp,za],Tye=[jc,jc,mo,mo,za,za,za,za],Eye=[Ob,Ob,jc,jc,mo,mo,za,za],Cye=[VE,Ob,ep,jc,ep,jc,ep,jc],Nt={DISPLAY:Fl[VE],TEXT:Fl[ep],SCRIPT:Fl[z1],SCRIPTSCRIPT:Fl[tp]},DE=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];s(Sye,"scriptFromCodepoint");Nb=[];DE.forEach(t=>t.blocks.forEach(e=>Nb.push(...e)));s(az,"supportedCodepoint");J0=80,_ye=s(function(e,r){return"M95,"+(622+e+r)+` +`)),s+=d+n[u+1]}),s}var zC=R(()=>{"use strict";o($b,"dedent")});var Gb,Vf,ez,Vb=R(()=>{"use strict";Gb=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Vf=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,ez=/\s*%%.*\n/gm});var op,$C=R(()=>{"use strict";op=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var Uf,lp,Ub,GC,tz,Hf=R(()=>{"use strict";ut();Vb();$C();Uf={},lp=o(function(t,e){t=t.replace(Gb,"").replace(Vf,"").replace(ez,` +`);for(let[r,{detector:n}]of Object.entries(Uf))if(n(t,e))return r;throw new op(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),Ub=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)GC(e,r,n)},"registerLazyLoadedDiagrams"),GC=o((t,e,r)=>{Uf[t]&&V.warn(`Detector with key ${t} already exists. Overwriting.`),Uf[t]={detector:e,loader:r},V.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),tz=o(t=>Uf[t].loader,"getDiagramLoader")});var U1,rz,VC=R(()=>{"use strict";U1=function(){var t=o(function(_e,me,W,fe){for(W=W||{},fe=_e.length;fe--;W[_e[fe]]=me);return W},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],w=[1,35],S=[1,36],T=[1,37],E=[1,38],_=[1,39],A=[1,40],L=[1,41],M=[1,42],N=[1,43],k=[1,44],I=[1,45],C=[1,46],O=[1,47],D=[1,48],P=[1,50],F=[1,51],B=[1,52],G=[1,53],z=[1,54],Y=[1,55],Q=[1,56],X=[1,57],ie=[1,58],j=[1,59],J=[1,60],Z=[14,42],H=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],K=[1,82],se=[1,83],ce=[1,84],ue=[1,85],te=[12,14,42],De=[12,14,33,42],oe=[12,14,33,42,76,77,79,80],ke=[12,33],Ie=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Se={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(me,W,fe,ge,re,he,ne){var ae=he.length-1;switch(re){case 3:ge.setDirection("TB");break;case 4:ge.setDirection("BT");break;case 5:ge.setDirection("RL");break;case 6:ge.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:ge.setC4Type(he[ae-3]);break;case 19:ge.setTitle(he[ae].substring(6)),this.$=he[ae].substring(6);break;case 20:ge.setAccDescription(he[ae].substring(15)),this.$=he[ae].substring(15);break;case 21:this.$=he[ae].trim(),ge.setTitle(this.$);break;case 22:case 23:this.$=he[ae].trim(),ge.setAccDescription(this.$);break;case 28:he[ae].splice(2,0,"ENTERPRISE"),ge.addPersonOrSystemBoundary(...he[ae]),this.$=he[ae];break;case 29:he[ae].splice(2,0,"SYSTEM"),ge.addPersonOrSystemBoundary(...he[ae]),this.$=he[ae];break;case 30:ge.addPersonOrSystemBoundary(...he[ae]),this.$=he[ae];break;case 31:he[ae].splice(2,0,"CONTAINER"),ge.addContainerBoundary(...he[ae]),this.$=he[ae];break;case 32:ge.addDeploymentNode("node",...he[ae]),this.$=he[ae];break;case 33:ge.addDeploymentNode("nodeL",...he[ae]),this.$=he[ae];break;case 34:ge.addDeploymentNode("nodeR",...he[ae]),this.$=he[ae];break;case 35:ge.popBoundaryParseStack();break;case 39:ge.addPersonOrSystem("person",...he[ae]),this.$=he[ae];break;case 40:ge.addPersonOrSystem("external_person",...he[ae]),this.$=he[ae];break;case 41:ge.addPersonOrSystem("system",...he[ae]),this.$=he[ae];break;case 42:ge.addPersonOrSystem("system_db",...he[ae]),this.$=he[ae];break;case 43:ge.addPersonOrSystem("system_queue",...he[ae]),this.$=he[ae];break;case 44:ge.addPersonOrSystem("external_system",...he[ae]),this.$=he[ae];break;case 45:ge.addPersonOrSystem("external_system_db",...he[ae]),this.$=he[ae];break;case 46:ge.addPersonOrSystem("external_system_queue",...he[ae]),this.$=he[ae];break;case 47:ge.addContainer("container",...he[ae]),this.$=he[ae];break;case 48:ge.addContainer("container_db",...he[ae]),this.$=he[ae];break;case 49:ge.addContainer("container_queue",...he[ae]),this.$=he[ae];break;case 50:ge.addContainer("external_container",...he[ae]),this.$=he[ae];break;case 51:ge.addContainer("external_container_db",...he[ae]),this.$=he[ae];break;case 52:ge.addContainer("external_container_queue",...he[ae]),this.$=he[ae];break;case 53:ge.addComponent("component",...he[ae]),this.$=he[ae];break;case 54:ge.addComponent("component_db",...he[ae]),this.$=he[ae];break;case 55:ge.addComponent("component_queue",...he[ae]),this.$=he[ae];break;case 56:ge.addComponent("external_component",...he[ae]),this.$=he[ae];break;case 57:ge.addComponent("external_component_db",...he[ae]),this.$=he[ae];break;case 58:ge.addComponent("external_component_queue",...he[ae]),this.$=he[ae];break;case 60:ge.addRel("rel",...he[ae]),this.$=he[ae];break;case 61:ge.addRel("birel",...he[ae]),this.$=he[ae];break;case 62:ge.addRel("rel_u",...he[ae]),this.$=he[ae];break;case 63:ge.addRel("rel_d",...he[ae]),this.$=he[ae];break;case 64:ge.addRel("rel_l",...he[ae]),this.$=he[ae];break;case 65:ge.addRel("rel_r",...he[ae]),this.$=he[ae];break;case 66:ge.addRel("rel_b",...he[ae]),this.$=he[ae];break;case 67:he[ae].splice(0,1),ge.addRel("rel",...he[ae]),this.$=he[ae];break;case 68:ge.updateElStyle("update_el_style",...he[ae]),this.$=he[ae];break;case 69:ge.updateRelStyle("update_rel_style",...he[ae]),this.$=he[ae];break;case 70:ge.updateLayoutConfig("update_layout_config",...he[ae]),this.$=he[ae];break;case 71:this.$=[he[ae]];break;case 72:he[ae].unshift(he[ae-1]),this.$=he[ae];break;case 73:case 75:this.$=he[ae].trim();break;case 74:let we={};we[he[ae-1].trim()]=he[ae].trim(),this.$=we;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J},{14:[1,74]},t(Z,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J}),t(Z,[2,14]),t(H,[2,16],{12:[1,76]}),t(Z,[2,36],{12:[1,77]}),t(q,[2,19]),t(q,[2,20]),{25:[1,78]},{27:[1,79]},t(q,[2,23]),{35:80,75:81,76:K,77:se,79:ce,80:ue},{35:86,75:81,76:K,77:se,79:ce,80:ue},{35:87,75:81,76:K,77:se,79:ce,80:ue},{35:88,75:81,76:K,77:se,79:ce,80:ue},{35:89,75:81,76:K,77:se,79:ce,80:ue},{35:90,75:81,76:K,77:se,79:ce,80:ue},{35:91,75:81,76:K,77:se,79:ce,80:ue},{35:92,75:81,76:K,77:se,79:ce,80:ue},{35:93,75:81,76:K,77:se,79:ce,80:ue},{35:94,75:81,76:K,77:se,79:ce,80:ue},{35:95,75:81,76:K,77:se,79:ce,80:ue},{35:96,75:81,76:K,77:se,79:ce,80:ue},{35:97,75:81,76:K,77:se,79:ce,80:ue},{35:98,75:81,76:K,77:se,79:ce,80:ue},{35:99,75:81,76:K,77:se,79:ce,80:ue},{35:100,75:81,76:K,77:se,79:ce,80:ue},{35:101,75:81,76:K,77:se,79:ce,80:ue},{35:102,75:81,76:K,77:se,79:ce,80:ue},{35:103,75:81,76:K,77:se,79:ce,80:ue},{35:104,75:81,76:K,77:se,79:ce,80:ue},t(te,[2,59]),{35:105,75:81,76:K,77:se,79:ce,80:ue},{35:106,75:81,76:K,77:se,79:ce,80:ue},{35:107,75:81,76:K,77:se,79:ce,80:ue},{35:108,75:81,76:K,77:se,79:ce,80:ue},{35:109,75:81,76:K,77:se,79:ce,80:ue},{35:110,75:81,76:K,77:se,79:ce,80:ue},{35:111,75:81,76:K,77:se,79:ce,80:ue},{35:112,75:81,76:K,77:se,79:ce,80:ue},{35:113,75:81,76:K,77:se,79:ce,80:ue},{35:114,75:81,76:K,77:se,79:ce,80:ue},{35:115,75:81,76:K,77:se,79:ce,80:ue},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J},{12:[1,118],33:[1,117]},{35:119,75:81,76:K,77:se,79:ce,80:ue},{35:120,75:81,76:K,77:se,79:ce,80:ue},{35:121,75:81,76:K,77:se,79:ce,80:ue},{35:122,75:81,76:K,77:se,79:ce,80:ue},{35:123,75:81,76:K,77:se,79:ce,80:ue},{35:124,75:81,76:K,77:se,79:ce,80:ue},{35:125,75:81,76:K,77:se,79:ce,80:ue},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(Z,[2,15]),t(H,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(Z,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:S,52:T,53:E,54:_,55:A,56:L,57:M,58:N,59:k,60:I,61:C,62:O,63:D,64:P,65:F,66:B,67:G,68:z,69:Y,70:Q,71:X,72:ie,73:j,74:J}),t(q,[2,21]),t(q,[2,22]),t(te,[2,39]),t(De,[2,71],{75:81,35:132,76:K,77:se,79:ce,80:ue}),t(oe,[2,73]),{78:[1,133]},t(oe,[2,75]),t(oe,[2,76]),t(te,[2,40]),t(te,[2,41]),t(te,[2,42]),t(te,[2,43]),t(te,[2,44]),t(te,[2,45]),t(te,[2,46]),t(te,[2,47]),t(te,[2,48]),t(te,[2,49]),t(te,[2,50]),t(te,[2,51]),t(te,[2,52]),t(te,[2,53]),t(te,[2,54]),t(te,[2,55]),t(te,[2,56]),t(te,[2,57]),t(te,[2,58]),t(te,[2,60]),t(te,[2,61]),t(te,[2,62]),t(te,[2,63]),t(te,[2,64]),t(te,[2,65]),t(te,[2,66]),t(te,[2,67]),t(te,[2,68]),t(te,[2,69]),t(te,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(ke,[2,28]),t(ke,[2,29]),t(ke,[2,30]),t(ke,[2,31]),t(ke,[2,32]),t(ke,[2,33]),t(ke,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(H,[2,18]),t(Z,[2,38]),t(De,[2,72]),t(oe,[2,74]),t(te,[2,24]),t(te,[2,35]),t(Ie,[2,25]),t(Ie,[2,26],{12:[1,138]}),t(Ie,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(me,W){if(W.recoverable)this.trace(me);else{var fe=new Error(me);throw fe.hash=W,fe}},"parseError"),parse:o(function(me){var W=this,fe=[0],ge=[],re=[null],he=[],ne=this.table,ae="",we=0,Te=0,Ce=0,Ae=2,$e=1,Me=he.slice.call(arguments,1),ye=Object.create(this.lexer),He={yy:{}};for(var ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ze)&&(He.yy[ze]=this.yy[ze]);ye.setInput(me,He.yy),He.yy.lexer=ye,He.yy.parser=this,typeof ye.yylloc>"u"&&(ye.yylloc={});var Ze=ye.yylloc;he.push(Ze);var gt=ye.options&&ye.options.ranges;typeof He.yy.parseError=="function"?this.parseError=He.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function yt(St){fe.length=fe.length-2*St,re.length=re.length-St,he.length=he.length-St}o(yt,"popStack");function tt(){var St;return St=ge.pop()||ye.lex()||$e,typeof St!="number"&&(St instanceof Array&&(ge=St,St=ge.pop()),St=W.symbols_[St]||St),St}o(tt,"lex");for(var Ye,Je,Ve,je,kt,at,xt={},it,dt,lt,It;;){if(Ve=fe[fe.length-1],this.defaultActions[Ve]?je=this.defaultActions[Ve]:((Ye===null||typeof Ye>"u")&&(Ye=tt()),je=ne[Ve]&&ne[Ve][Ye]),typeof je>"u"||!je.length||!je[0]){var mt="";It=[];for(it in ne[Ve])this.terminals_[it]&&it>Ae&&It.push("'"+this.terminals_[it]+"'");ye.showPosition?mt="Parse error on line "+(we+1)+`: +`+ye.showPosition()+` +Expecting `+It.join(", ")+", got '"+(this.terminals_[Ye]||Ye)+"'":mt="Parse error on line "+(we+1)+": Unexpected "+(Ye==$e?"end of input":"'"+(this.terminals_[Ye]||Ye)+"'"),this.parseError(mt,{text:ye.match,token:this.terminals_[Ye]||Ye,line:ye.yylineno,loc:Ze,expected:It})}if(je[0]instanceof Array&&je.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ve+", token: "+Ye);switch(je[0]){case 1:fe.push(Ye),re.push(ye.yytext),he.push(ye.yylloc),fe.push(je[1]),Ye=null,Je?(Ye=Je,Je=null):(Te=ye.yyleng,ae=ye.yytext,we=ye.yylineno,Ze=ye.yylloc,Ce>0&&Ce--);break;case 2:if(dt=this.productions_[je[1]][1],xt.$=re[re.length-dt],xt._$={first_line:he[he.length-(dt||1)].first_line,last_line:he[he.length-1].last_line,first_column:he[he.length-(dt||1)].first_column,last_column:he[he.length-1].last_column},gt&&(xt._$.range=[he[he.length-(dt||1)].range[0],he[he.length-1].range[1]]),at=this.performAction.apply(xt,[ae,Te,we,He.yy,je[1],re,he].concat(Me)),typeof at<"u")return at;dt&&(fe=fe.slice(0,-1*dt*2),re=re.slice(0,-1*dt),he=he.slice(0,-1*dt)),fe.push(this.productions_[je[1]][0]),re.push(xt.$),he.push(xt._$),lt=ne[fe[fe.length-2]][fe[fe.length-1]],fe.push(lt);break;case 3:return!0}}return!0},"parse")},Ue=function(){var _e={EOF:1,parseError:o(function(W,fe){if(this.yy.parser)this.yy.parser.parseError(W,fe);else throw new Error(W)},"parseError"),setInput:o(function(me,W){return this.yy=W||this.yy||{},this._input=me,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var me=this._input[0];this.yytext+=me,this.yyleng++,this.offset++,this.match+=me,this.matched+=me;var W=me.match(/(?:\r\n?|\n).*/g);return W?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),me},"input"),unput:o(function(me){var W=me.length,fe=me.split(/(?:\r\n?|\n)/g);this._input=me+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-W),this.offset-=W;var ge=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var re=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===ge.length?this.yylloc.first_column:0)+ge[ge.length-fe.length].length-fe[0].length:this.yylloc.first_column-W},this.options.ranges&&(this.yylloc.range=[re[0],re[0]+this.yyleng-W]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(me){this.unput(this.match.slice(me))},"less"),pastInput:o(function(){var me=this.matched.substr(0,this.matched.length-this.match.length);return(me.length>20?"...":"")+me.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var me=this.match;return me.length<20&&(me+=this._input.substr(0,20-me.length)),(me.substr(0,20)+(me.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var me=this.pastInput(),W=new Array(me.length+1).join("-");return me+this.upcomingInput()+` +`+W+"^"},"showPosition"),test_match:o(function(me,W){var fe,ge,re;if(this.options.backtrack_lexer&&(re={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(re.yylloc.range=this.yylloc.range.slice(0))),ge=me[0].match(/(?:\r\n?|\n).*/g),ge&&(this.yylineno+=ge.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ge?ge[ge.length-1].length-ge[ge.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+me[0].length},this.yytext+=me[0],this.match+=me[0],this.matches=me,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(me[0].length),this.matched+=me[0],fe=this.performAction.call(this,this.yy,this,W,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var he in re)this[he]=re[he];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var me,W,fe,ge;this._more||(this.yytext="",this.match="");for(var re=this._currentRules(),he=0;heW[0].length)){if(W=fe,ge=he,this.options.backtrack_lexer){if(me=this.test_match(fe,re[he]),me!==!1)return me;if(this._backtrack){W=!1;continue}else return!1}else if(!this.options.flex)break}return W?(me=this.test_match(W,re[ge]),me!==!1?me:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var W=this.next();return W||this.lex()},"lex"),begin:o(function(W){this.conditionStack.push(W)},"begin"),popState:o(function(){var W=this.conditionStack.length-1;return W>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(W){return W=this.conditionStack.length-1-Math.abs(W||0),W>=0?this.conditionStack[W]:"INITIAL"},"topState"),pushState:o(function(W){this.begin(W)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(W,fe,ge,re){var he=re;switch(ge){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return _e}();Se.lexer=Ue;function Pe(){this.yy={}}return o(Pe,"Parser"),Pe.prototype=Se,Se.Parser=Pe,new Pe}();U1.parser=U1;rz=U1});var UC,On,cp=R(()=>{"use strict";UC=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>UC(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=UC(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),On=UC});var Hb,nz,iz=R(()=>{"use strict";Hb={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return Hb.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return Hb.hue2rgb(a,i,t)*255;case"b":return Hb.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";h2e={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},az=h2e});var f2e,oz,lz=R(()=>{"use strict";f2e={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},oz=f2e});var d2e,Bt,jl=R(()=>{"use strict";iz();sz();lz();d2e={channel:nz,lang:az,unit:oz},Bt=d2e});var Jc,Li,H1=R(()=>{"use strict";jl();Jc={};for(let t=0;t<=255;t++)Jc[t]=Bt.unit.dec2hex(t);Li={ALL:0,RGB:1,HSL:2}});var HC,cz,uz=R(()=>{"use strict";H1();HC=class{static{o(this,"Type")}constructor(){this.type=Li.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Li.ALL}is(e){return this.type===e}},cz=HC});var YC,hz,fz=R(()=>{"use strict";jl();uz();H1();YC=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new cz}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Li.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=Bt.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=Bt.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=Bt.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=Bt.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=Bt.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=Bt.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Li.HSL)&&r!==void 0?r:(this._ensureHSL(),Bt.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Li.HSL)&&r!==void 0?r:(this._ensureHSL(),Bt.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Li.HSL)&&r!==void 0?r:(this._ensureHSL(),Bt.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Li.RGB)&&r!==void 0?r:(this._ensureRGB(),Bt.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Li.RGB)&&r!==void 0?r:(this._ensureRGB(),Bt.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Li.RGB)&&r!==void 0?r:(this._ensureRGB(),Bt.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Li.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Li.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Li.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Li.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Li.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Li.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},hz=YC});var p2e,oh,Y1=R(()=>{"use strict";fz();p2e=new hz({r:0,g:0,b:0,a:0},"transparent"),oh=p2e});var dz,Yf,WC=R(()=>{"use strict";Y1();H1();dz={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(dz.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return oh.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}${Jc[Math.round(i*255)]}`:`#${Jc[Math.round(e)]}${Jc[Math.round(r)]}${Jc[Math.round(n)]}`},"stringify")},Yf=dz});var Yb,W1,pz=R(()=>{"use strict";jl();Y1();Yb={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:o(t=>{let e=t.match(Yb.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return Bt.channel.clamp.h(parseFloat(r)*.9);case"rad":return Bt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return Bt.channel.clamp.h(parseFloat(r)*360)}}return Bt.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(Yb.re);if(!r)return;let[,n,i,a,s,l]=r;return oh.set({h:Yb._hue2deg(n),s:Bt.channel.clamp.s(parseFloat(i)),l:Bt.channel.clamp.l(parseFloat(a)),a:s?Bt.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%, ${i})`:`hsl(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%)`},"stringify")},W1=Yb});var Wb,qC,mz=R(()=>{"use strict";WC();Wb={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:o(t=>{t=t.toLowerCase();let e=Wb.colors[t];if(e)return Yf.parse(e)},"parse"),stringify:o(t=>{let e=Yf.stringify(t);for(let r in Wb.colors)if(Wb.colors[r]===e)return r},"stringify")},qC=Wb});var gz,q1,yz=R(()=>{"use strict";jl();Y1();gz={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(gz.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return oh.set({r:Bt.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:Bt.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:Bt.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?Bt.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)}, ${Bt.lang.round(i)})`:`rgb(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)})`},"stringify")},q1=gz});var m2e,Di,eu=R(()=>{"use strict";WC();pz();mz();yz();H1();m2e={format:{keyword:qC,hex:Yf,rgb:q1,rgba:q1,hsl:W1,hsla:W1},parse:o(t=>{if(typeof t!="string")return t;let e=Yf.parse(t)||q1.parse(t)||W1.parse(t)||qC.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Li.HSL)||t.data.r===void 0?W1.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?q1.stringify(t):Yf.stringify(t),"stringify")},Di=m2e});var g2e,qb,XC=R(()=>{"use strict";jl();eu();g2e=o((t,e)=>{let r=Di.parse(t);for(let n in e)r[n]=Bt.channel.clamp[n](e[n]);return Di.stringify(r)},"change"),qb=g2e});var y2e,Ws,jC=R(()=>{"use strict";jl();Y1();eu();XC();y2e=o((t,e,r=0,n=1)=>{if(typeof t!="number")return qb(t,{a:e});let i=oh.set({r:Bt.channel.clamp.r(t),g:Bt.channel.clamp.g(e),b:Bt.channel.clamp.b(r),a:Bt.channel.clamp.a(n)});return Di.stringify(i)},"rgba"),Ws=y2e});var v2e,X1,vz=R(()=>{"use strict";jl();eu();v2e=o((t,e)=>Bt.lang.round(Di.parse(t)[e]),"channel"),X1=v2e});var x2e,xz,bz=R(()=>{"use strict";jl();eu();x2e=o(t=>{let{r:e,g:r,b:n}=Di.parse(t),i=.2126*Bt.channel.toLinear(e)+.7152*Bt.channel.toLinear(r)+.0722*Bt.channel.toLinear(n);return Bt.lang.round(i)},"luminance"),xz=x2e});var b2e,wz,Tz=R(()=>{"use strict";bz();b2e=o(t=>xz(t)>=.5,"isLight"),wz=b2e});var w2e,Wa,kz=R(()=>{"use strict";Tz();w2e=o(t=>!wz(t),"isDark"),Wa=w2e});var T2e,Xb,KC=R(()=>{"use strict";jl();eu();T2e=o((t,e,r)=>{let n=Di.parse(t),i=n[e],a=Bt.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Di.stringify(n)},"adjustChannel"),Xb=T2e});var k2e,Et,Ez=R(()=>{"use strict";KC();k2e=o((t,e)=>Xb(t,"l",e),"lighten"),Et=k2e});var E2e,Dt,Cz=R(()=>{"use strict";KC();E2e=o((t,e)=>Xb(t,"l",-e),"darken"),Dt=E2e});var C2e,Oe,Sz=R(()=>{"use strict";eu();XC();C2e=o((t,e)=>{let r=Di.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return qb(t,n)},"adjust"),Oe=C2e});var S2e,Az,_z=R(()=>{"use strict";eu();jC();S2e=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=Di.parse(t),{r:l,g:u,b:h,a:f}=Di.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,w=a*y+h*v,S=s*d+f*(1-d);return Ws(x,b,w,S)},"mix"),Az=S2e});var A2e,ot,Lz=R(()=>{"use strict";eu();_z();A2e=o((t,e=100)=>{let r=Di.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,Az(r,t,e)},"invert"),ot=A2e});var Dz=R(()=>{"use strict";jC();vz();kz();Ez();Cz();Sz();Lz()});var al=R(()=>{"use strict";Dz()});var lh,ch,j1=R(()=>{"use strict";lh="#ffffff",ch="#f2f2f2"});var yi,up=R(()=>{"use strict";al();yi=o((t,e)=>e?Oe(t,{s:-40,l:10}):Oe(t,{s:-40,l:-10}),"mkBorder")});var QC,Nz,Mz=R(()=>{"use strict";al();j1();up();QC=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Oe(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Oe(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||yi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||yi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||yi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||yi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||ot(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||ot(this.tertiaryColor),this.lineColor=this.lineColor||ot(this.background),this.arrowheadColor=this.arrowheadColor||ot(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Dt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Dt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||ot(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Et(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Oe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Oe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Oe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Oe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Oe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Oe(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Oe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Oe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Oe(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Nz=o(t=>{let e=new QC;return e.calculate(t),e},"getThemeVariables")});var ZC,Iz,Oz=R(()=>{"use strict";al();up();ZC=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Et(this.primaryColor,16),this.tertiaryColor=Oe(this.primaryColor,{h:-160}),this.primaryBorderColor=ot(this.background),this.secondaryBorderColor=yi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=yi(this.tertiaryColor,this.darkMode),this.primaryTextColor=ot(this.primaryColor),this.secondaryTextColor=ot(this.secondaryColor),this.tertiaryTextColor=ot(this.tertiaryColor),this.lineColor=ot(this.background),this.textColor=ot(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Et(ot("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Ws(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Dt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Dt(this.sectionBkgColor,10),this.taskBorderColor=Ws(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Ws(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=Et(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Et(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Et(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Oe(this.primaryColor,{h:64}),this.fillType3=Oe(this.secondaryColor,{h:64}),this.fillType4=Oe(this.primaryColor,{h:-64}),this.fillType5=Oe(this.secondaryColor,{h:-64}),this.fillType6=Oe(this.primaryColor,{h:128}),this.fillType7=Oe(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Oe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Oe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Oe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Oe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Oe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Oe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Oe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Oe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Oe(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Iz=o(t=>{let e=new ZC;return e.calculate(t),e},"getThemeVariables")});var JC,hp,jb=R(()=>{"use strict";al();up();j1();JC=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Oe(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Oe(this.primaryColor,{h:-160}),this.primaryBorderColor=yi(this.primaryColor,this.darkMode),this.secondaryBorderColor=yi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=yi(this.tertiaryColor,this.darkMode),this.primaryTextColor=ot(this.primaryColor),this.secondaryTextColor=ot(this.secondaryColor),this.tertiaryTextColor=ot(this.tertiaryColor),this.lineColor=ot(this.background),this.textColor=ot(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Ws(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Oe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Oe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Oe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Oe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Oe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Oe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Oe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Oe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Oe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Dt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Dt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},hp=o(t=>{let e=new JC;return e.calculate(t),e},"getThemeVariables")});var e7,Pz,Bz=R(()=>{"use strict";al();j1();up();e7=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Et("#cde498",10),this.primaryBorderColor=yi(this.primaryColor,this.darkMode),this.secondaryBorderColor=yi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=yi(this.tertiaryColor,this.darkMode),this.primaryTextColor=ot(this.primaryColor),this.secondaryTextColor=ot(this.secondaryColor),this.tertiaryTextColor=ot(this.primaryColor),this.lineColor=ot(this.background),this.textColor=ot(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=Dt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Oe(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Oe(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Oe(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Oe(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Oe(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Oe(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Oe(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Oe(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Oe(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Dt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Dt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Pz=o(t=>{let e=new e7;return e.calculate(t),e},"getThemeVariables")});var t7,Fz,zz=R(()=>{"use strict";al();up();j1();t7=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Et(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Oe(this.primaryColor,{h:-160}),this.primaryBorderColor=yi(this.primaryColor,this.darkMode),this.secondaryBorderColor=yi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=yi(this.tertiaryColor,this.darkMode),this.primaryTextColor=ot(this.primaryColor),this.secondaryTextColor=ot(this.secondaryColor),this.tertiaryTextColor=ot(this.tertiaryColor),this.lineColor=ot(this.background),this.textColor=ot(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=Et(this.contrast,55),this.border2=this.contrast,this.actorBorder=Et(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Fz=o(t=>{let e=new t7;return e.calculate(t),e},"getThemeVariables")});var Co,Kb=R(()=>{"use strict";Mz();Oz();jb();Bz();zz();Co={base:{getThemeVariables:Nz},dark:{getThemeVariables:Iz},default:{getThemeVariables:hp},forest:{getThemeVariables:Pz},neutral:{getThemeVariables:Fz}}});var tu,$z=R(()=>{"use strict";tu={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var Gz,Vz,Uz,mr,sl=R(()=>{"use strict";Kb();$z();Gz={...tu,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"SIMPLE"},themeCSS:void 0,themeVariables:Co.default.getThemeVariables(),sequence:{...tu.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},gantt:{...tu.gantt,tickInterval:void 0,useWidth:void 0},c4:{...tu.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...tu.pie,useWidth:984},xyChart:{...tu.xyChart,useWidth:void 0},requirement:{...tu.requirement,useWidth:void 0},packet:{...tu.packet}},Vz=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...Vz(t[n],"")]:[...r,e+n],[]),"keyify"),Uz=new Set(Vz(Gz,"")),mr=Gz});var fp,_2e,r7=R(()=>{"use strict";sl();ut();fp=o(t=>{if(V.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>fp(e));return}for(let e of Object.keys(t)){if(V.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!Uz.has(e)||t[e]==null){V.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){V.debug("sanitizing object",e),fp(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(V.debug("sanitizing css option",e),t[e]=_2e(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}V.debug("After sanitization",t)}},"sanitizeDirective"),_2e=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";cp();ut();Kb();sl();r7();uh=Object.freeze(mr),fs=On({},uh),dp=[],K1=On({},uh),Qb=o((t,e)=>{let r=On({},t),n={};for(let i of e)Xz(i),n=On(n,i);if(r=On(r,n),n.theme&&n.theme in Co){let i=On({},Yz),a=On(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in Co&&(r.themeVariables=Co[r.theme].getThemeVariables(a))}return K1=r,Kz(K1),K1},"updateCurrentConfig"),n7=o(t=>(fs=On({},uh),fs=On(fs,t),t.theme&&Co[t.theme]&&(fs.themeVariables=Co[t.theme].getThemeVariables(t.themeVariables)),Qb(fs,dp),fs),"setSiteConfig"),Wz=o(t=>{Yz=On({},t)},"saveConfigFromInitialize"),qz=o(t=>(fs=On(fs,t),Qb(fs,dp),fs),"updateSiteConfig"),i7=o(()=>On({},fs),"getSiteConfig"),Zb=o(t=>(Kz(t),On(K1,t),Or()),"setConfig"),Or=o(()=>On({},K1),"getConfig"),Xz=o(t=>{t&&(["secure",...fs.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(V.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&Xz(t[e])}))},"sanitize"),jz=o(t=>{fp(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),dp.push(t),Qb(fs,dp)},"addDirective"),Q1=o((t=fs)=>{dp=[],Qb(t,dp)},"reset"),L2e={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Hz={},D2e=o(t=>{Hz[t]||(V.warn(L2e[t]),Hz[t]=!0)},"issueWarning"),Kz=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&D2e("LAZY_LOAD_DEPRECATED")},"checkConfig")});var o7=gi((a7,s7)=>{"use strict";(function(t,e){typeof a7=="object"&&typeof s7<"u"?s7.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.DOMPurify=e())})(a7,function(){"use strict";let{entries:t,setPrototypeOf:e,isFrozen:r,getPrototypeOf:n,getOwnPropertyDescriptor:i}=Object,{freeze:a,seal:s,create:l}=Object,{apply:u,construct:h}=typeof Reflect<"u"&&Reflect;a||(a=o(function(Se){return Se},"freeze")),s||(s=o(function(Se){return Se},"seal")),u||(u=o(function(Se,Ue,Pe){return Se.apply(Ue,Pe)},"apply")),h||(h=o(function(Se,Ue){return new Se(...Ue)},"construct"));let f=E(Array.prototype.forEach),d=E(Array.prototype.pop),p=E(Array.prototype.push),m=E(String.prototype.toLowerCase),g=E(String.prototype.toString),y=E(String.prototype.match),v=E(String.prototype.replace),x=E(String.prototype.indexOf),b=E(String.prototype.trim),w=E(Object.prototype.hasOwnProperty),S=E(RegExp.prototype.test),T=_(TypeError);function E(Ie){return function(Se){for(var Ue=arguments.length,Pe=new Array(Ue>1?Ue-1:0),_e=1;_e2&&arguments[2]!==void 0?arguments[2]:m;e&&e(Ie,null);let Pe=Se.length;for(;Pe--;){let _e=Se[Pe];if(typeof _e=="string"){let me=Ue(_e);me!==_e&&(r(Se)||(Se[Pe]=me),_e=me)}Ie[_e]=!0}return Ie}o(A,"addToSet");function L(Ie){for(let Se=0;Se/gm),ie=s(/\${[\w\W]*}/gm),j=s(/^data-[\-\w.\u00B7-\uFFFF]/),J=s(/^aria-[\-\w]+$/),Z=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),H=s(/^(?:\w+script|data):/i),q=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),K=s(/^html$/i),se=s(/^[a-z][.\w]*(-[.\w]+)+$/i);var ce=Object.freeze({__proto__:null,MUSTACHE_EXPR:Q,ERB_EXPR:X,TMPLIT_EXPR:ie,DATA_ATTR:j,ARIA_ATTR:J,IS_ALLOWED_URI:Z,IS_SCRIPT_OR_DATA:H,ATTR_WHITESPACE:q,DOCTYPE_NAME:K,CUSTOM_ELEMENT:se});let ue={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},te=o(function(){return typeof window>"u"?null:window},"getGlobal"),De=o(function(Se,Ue){if(typeof Se!="object"||typeof Se.createPolicy!="function")return null;let Pe=null,_e="data-tt-policy-suffix";Ue&&Ue.hasAttribute(_e)&&(Pe=Ue.getAttribute(_e));let me="dompurify"+(Pe?"#"+Pe:"");try{return Se.createPolicy(me,{createHTML(W){return W},createScriptURL(W){return W}})}catch{return console.warn("TrustedTypes policy "+me+" could not be created."),null}},"_createTrustedTypesPolicy");function oe(){let Ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:te(),Se=o(Ft=>oe(Ft),"DOMPurify");if(Se.version="3.1.6",Se.removed=[],!Ie||!Ie.document||Ie.document.nodeType!==ue.document)return Se.isSupported=!1,Se;let{document:Ue}=Ie,Pe=Ue,_e=Pe.currentScript,{DocumentFragment:me,HTMLTemplateElement:W,Node:fe,Element:ge,NodeFilter:re,NamedNodeMap:he=Ie.NamedNodeMap||Ie.MozNamedAttrMap,HTMLFormElement:ne,DOMParser:ae,trustedTypes:we}=Ie,Te=ge.prototype,Ce=N(Te,"cloneNode"),Ae=N(Te,"remove"),$e=N(Te,"nextSibling"),Me=N(Te,"childNodes"),ye=N(Te,"parentNode");if(typeof W=="function"){let Ft=Ue.createElement("template");Ft.content&&Ft.content.ownerDocument&&(Ue=Ft.content.ownerDocument)}let He,ze="",{implementation:Ze,createNodeIterator:gt,createDocumentFragment:yt,getElementsByTagName:tt}=Ue,{importNode:Ye}=Pe,Je={};Se.isSupported=typeof t=="function"&&typeof ye=="function"&&Ze&&Ze.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Ve,ERB_EXPR:je,TMPLIT_EXPR:kt,DATA_ATTR:at,ARIA_ATTR:xt,IS_SCRIPT_OR_DATA:it,ATTR_WHITESPACE:dt,CUSTOM_ELEMENT:lt}=ce,{IS_ALLOWED_URI:It}=ce,mt=null,St=A({},[...k,...I,...C,...D,...F]),gr=null,xn=A({},[...B,...G,...z,...Y]),jt=Object.seal(l(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),rn=null,Er=null,Kn=!0,hn=!0,Qn=!1,on=!0,Rn=!1,Ha=!0,_a=!1,To=!1,qi=!1,ht=!1,At=!1,Gt=!1,rt=!0,Ot=!1,pe="user-content-",ur=!0,be=!1,Ir={},Xc=null,M1=A({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),_b=null,I1=A({},["audio","video","img","source","image","track"]),O1=null,ci=A({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ko="http://www.w3.org/1998/Math/MathML",ih="http://www.w3.org/2000/svg",Us="http://www.w3.org/1999/xhtml",ah=Us,Lb=!1,P1=null,sa=A({},[ko,ih,Us],g),jc=null,Kc=["application/xhtml+xml","text/html"],us="text/html",_i=null,Wl=null,sh=Ue.createElement("form"),zf=o(function(Re){return Re instanceof RegExp||Re instanceof Function},"isRegexOrFunction"),Hs=o(function(){let Re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Wl&&Wl===Re)){if((!Re||typeof Re!="object")&&(Re={}),Re=M(Re),jc=Kc.indexOf(Re.PARSER_MEDIA_TYPE)===-1?us:Re.PARSER_MEDIA_TYPE,_i=jc==="application/xhtml+xml"?g:m,mt=w(Re,"ALLOWED_TAGS")?A({},Re.ALLOWED_TAGS,_i):St,gr=w(Re,"ALLOWED_ATTR")?A({},Re.ALLOWED_ATTR,_i):xn,P1=w(Re,"ALLOWED_NAMESPACES")?A({},Re.ALLOWED_NAMESPACES,g):sa,O1=w(Re,"ADD_URI_SAFE_ATTR")?A(M(ci),Re.ADD_URI_SAFE_ATTR,_i):ci,_b=w(Re,"ADD_DATA_URI_TAGS")?A(M(I1),Re.ADD_DATA_URI_TAGS,_i):I1,Xc=w(Re,"FORBID_CONTENTS")?A({},Re.FORBID_CONTENTS,_i):M1,rn=w(Re,"FORBID_TAGS")?A({},Re.FORBID_TAGS,_i):{},Er=w(Re,"FORBID_ATTR")?A({},Re.FORBID_ATTR,_i):{},Ir=w(Re,"USE_PROFILES")?Re.USE_PROFILES:!1,Kn=Re.ALLOW_ARIA_ATTR!==!1,hn=Re.ALLOW_DATA_ATTR!==!1,Qn=Re.ALLOW_UNKNOWN_PROTOCOLS||!1,on=Re.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Rn=Re.SAFE_FOR_TEMPLATES||!1,Ha=Re.SAFE_FOR_XML!==!1,_a=Re.WHOLE_DOCUMENT||!1,ht=Re.RETURN_DOM||!1,At=Re.RETURN_DOM_FRAGMENT||!1,Gt=Re.RETURN_TRUSTED_TYPE||!1,qi=Re.FORCE_BODY||!1,rt=Re.SANITIZE_DOM!==!1,Ot=Re.SANITIZE_NAMED_PROPS||!1,ur=Re.KEEP_CONTENT!==!1,be=Re.IN_PLACE||!1,It=Re.ALLOWED_URI_REGEXP||Z,ah=Re.NAMESPACE||Us,jt=Re.CUSTOM_ELEMENT_HANDLING||{},Re.CUSTOM_ELEMENT_HANDLING&&zf(Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(jt.tagNameCheck=Re.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Re.CUSTOM_ELEMENT_HANDLING&&zf(Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(jt.attributeNameCheck=Re.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Re.CUSTOM_ELEMENT_HANDLING&&typeof Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(jt.allowCustomizedBuiltInElements=Re.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Rn&&(hn=!1),At&&(ht=!0),Ir&&(mt=A({},F),gr=[],Ir.html===!0&&(A(mt,k),A(gr,B)),Ir.svg===!0&&(A(mt,I),A(gr,G),A(gr,Y)),Ir.svgFilters===!0&&(A(mt,C),A(gr,G),A(gr,Y)),Ir.mathMl===!0&&(A(mt,D),A(gr,z),A(gr,Y))),Re.ADD_TAGS&&(mt===St&&(mt=M(mt)),A(mt,Re.ADD_TAGS,_i)),Re.ADD_ATTR&&(gr===xn&&(gr=M(gr)),A(gr,Re.ADD_ATTR,_i)),Re.ADD_URI_SAFE_ATTR&&A(O1,Re.ADD_URI_SAFE_ATTR,_i),Re.FORBID_CONTENTS&&(Xc===M1&&(Xc=M(Xc)),A(Xc,Re.FORBID_CONTENTS,_i)),ur&&(mt["#text"]=!0),_a&&A(mt,["html","head","body"]),mt.table&&(A(mt,["tbody"]),delete rn.tbody),Re.TRUSTED_TYPES_POLICY){if(typeof Re.TRUSTED_TYPES_POLICY.createHTML!="function")throw T('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Re.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw T('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');He=Re.TRUSTED_TYPES_POLICY,ze=He.createHTML("")}else He===void 0&&(He=De(we,_e)),He!==null&&typeof ze=="string"&&(ze=He.createHTML(""));a&&a(Re),Wl=Re}},"_parseConfig"),B1=A({},["mi","mo","mn","ms","mtext"]),$f=A({},["foreignobject","annotation-xml"]),F1=A({},["title","style","font","a","script"]),La=A({},[...I,...C,...O]),vF=A({},[...D,...P]),Ive=o(function(Re){let st=ye(Re);(!st||!st.tagName)&&(st={namespaceURI:ah,tagName:"template"});let Rt=m(Re.tagName),bn=m(st.tagName);return P1[Re.namespaceURI]?Re.namespaceURI===ih?st.namespaceURI===Us?Rt==="svg":st.namespaceURI===ko?Rt==="svg"&&(bn==="annotation-xml"||B1[bn]):!!La[Rt]:Re.namespaceURI===ko?st.namespaceURI===Us?Rt==="math":st.namespaceURI===ih?Rt==="math"&&$f[bn]:!!vF[Rt]:Re.namespaceURI===Us?st.namespaceURI===ih&&!$f[bn]||st.namespaceURI===ko&&!B1[bn]?!1:!vF[Rt]&&(F1[Rt]||!La[Rt]):!!(jc==="application/xhtml+xml"&&P1[Re.namespaceURI]):!1},"_checkValidNamespace"),ql=o(function(Re){p(Se.removed,{element:Re});try{ye(Re).removeChild(Re)}catch{Ae(Re)}},"_forceRemove"),Db=o(function(Re,st){try{p(Se.removed,{attribute:st.getAttributeNode(Re),from:st})}catch{p(Se.removed,{attribute:null,from:st})}if(st.removeAttribute(Re),Re==="is"&&!gr[Re])if(ht||At)try{ql(st)}catch{}else try{st.setAttribute(Re,"")}catch{}},"_removeAttribute"),xF=o(function(Re){let st=null,Rt=null;if(qi)Re=""+Re;else{let oa=y(Re,/^[\r\n\t ]+/);Rt=oa&&oa[0]}jc==="application/xhtml+xml"&&ah===Us&&(Re=''+Re+"");let bn=He?He.createHTML(Re):Re;if(ah===Us)try{st=new ae().parseFromString(bn,jc)}catch{}if(!st||!st.documentElement){st=Ze.createDocument(ah,"template",null);try{st.documentElement.innerHTML=Lb?ze:bn}catch{}}let Da=st.body||st.documentElement;return Re&&Rt&&Da.insertBefore(Ue.createTextNode(Rt),Da.childNodes[0]||null),ah===Us?tt.call(st,_a?"html":"body")[0]:_a?st.documentElement:Da},"_initDocument"),bF=o(function(Re){return gt.call(Re.ownerDocument||Re,Re,re.SHOW_ELEMENT|re.SHOW_COMMENT|re.SHOW_TEXT|re.SHOW_PROCESSING_INSTRUCTION|re.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),wF=o(function(Re){return Re instanceof ne&&(typeof Re.nodeName!="string"||typeof Re.textContent!="string"||typeof Re.removeChild!="function"||!(Re.attributes instanceof he)||typeof Re.removeAttribute!="function"||typeof Re.setAttribute!="function"||typeof Re.namespaceURI!="string"||typeof Re.insertBefore!="function"||typeof Re.hasChildNodes!="function")},"_isClobbered"),TF=o(function(Re){return typeof fe=="function"&&Re instanceof fe},"_isNode"),Qc=o(function(Re,st,Rt){Je[Re]&&f(Je[Re],bn=>{bn.call(Se,st,Rt,Wl)})},"_executeHook"),kF=o(function(Re){let st=null;if(Qc("beforeSanitizeElements",Re,null),wF(Re))return ql(Re),!0;let Rt=_i(Re.nodeName);if(Qc("uponSanitizeElement",Re,{tagName:Rt,allowedTags:mt}),Re.hasChildNodes()&&!TF(Re.firstElementChild)&&S(/<[/\w]/g,Re.innerHTML)&&S(/<[/\w]/g,Re.textContent)||Re.nodeType===ue.progressingInstruction||Ha&&Re.nodeType===ue.comment&&S(/<[/\w]/g,Re.data))return ql(Re),!0;if(!mt[Rt]||rn[Rt]){if(!rn[Rt]&&CF(Rt)&&(jt.tagNameCheck instanceof RegExp&&S(jt.tagNameCheck,Rt)||jt.tagNameCheck instanceof Function&&jt.tagNameCheck(Rt)))return!1;if(ur&&!Xc[Rt]){let bn=ye(Re)||Re.parentNode,Da=Me(Re)||Re.childNodes;if(Da&&bn){let oa=Da.length;for(let hs=oa-1;hs>=0;--hs){let Xl=Ce(Da[hs],!0);Xl.__removalCount=(Re.__removalCount||0)+1,bn.insertBefore(Xl,$e(Re))}}}return ql(Re),!0}return Re instanceof ge&&!Ive(Re)||(Rt==="noscript"||Rt==="noembed"||Rt==="noframes")&&S(/<\/no(script|embed|frames)/i,Re.innerHTML)?(ql(Re),!0):(Rn&&Re.nodeType===ue.text&&(st=Re.textContent,f([Ve,je,kt],bn=>{st=v(st,bn," ")}),Re.textContent!==st&&(p(Se.removed,{element:Re.cloneNode()}),Re.textContent=st)),Qc("afterSanitizeElements",Re,null),!1)},"_sanitizeElements"),EF=o(function(Re,st,Rt){if(rt&&(st==="id"||st==="name")&&(Rt in Ue||Rt in sh))return!1;if(!(hn&&!Er[st]&&S(at,st))){if(!(Kn&&S(xt,st))){if(!gr[st]||Er[st]){if(!(CF(Re)&&(jt.tagNameCheck instanceof RegExp&&S(jt.tagNameCheck,Re)||jt.tagNameCheck instanceof Function&&jt.tagNameCheck(Re))&&(jt.attributeNameCheck instanceof RegExp&&S(jt.attributeNameCheck,st)||jt.attributeNameCheck instanceof Function&&jt.attributeNameCheck(st))||st==="is"&&jt.allowCustomizedBuiltInElements&&(jt.tagNameCheck instanceof RegExp&&S(jt.tagNameCheck,Rt)||jt.tagNameCheck instanceof Function&&jt.tagNameCheck(Rt))))return!1}else if(!O1[st]){if(!S(It,v(Rt,dt,""))){if(!((st==="src"||st==="xlink:href"||st==="href")&&Re!=="script"&&x(Rt,"data:")===0&&_b[Re])){if(!(Qn&&!S(it,v(Rt,dt,"")))){if(Rt)return!1}}}}}}return!0},"_isValidAttribute"),CF=o(function(Re){return Re!=="annotation-xml"&&y(Re,lt)},"_isBasicCustomElement"),SF=o(function(Re){Qc("beforeSanitizeAttributes",Re,null);let{attributes:st}=Re;if(!st)return;let Rt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:gr},bn=st.length;for(;bn--;){let Da=st[bn],{name:oa,namespaceURI:hs,value:Xl}=Da,z1=_i(oa),Ya=oa==="value"?Xl:b(Xl);if(Rt.attrName=z1,Rt.attrValue=Ya,Rt.keepAttr=!0,Rt.forceKeepAttr=void 0,Qc("uponSanitizeAttribute",Re,Rt),Ya=Rt.attrValue,Ha&&S(/((--!?|])>)|<\/(style|title)/i,Ya)){Db(oa,Re);continue}if(Rt.forceKeepAttr||(Db(oa,Re),!Rt.keepAttr))continue;if(!on&&S(/\/>/i,Ya)){Db(oa,Re);continue}Rn&&f([Ve,je,kt],_F=>{Ya=v(Ya,_F," ")});let AF=_i(Re.nodeName);if(EF(AF,z1,Ya)){if(Ot&&(z1==="id"||z1==="name")&&(Db(oa,Re),Ya=pe+Ya),He&&typeof we=="object"&&typeof we.getAttributeType=="function"&&!hs)switch(we.getAttributeType(AF,z1)){case"TrustedHTML":{Ya=He.createHTML(Ya);break}case"TrustedScriptURL":{Ya=He.createScriptURL(Ya);break}}try{hs?Re.setAttributeNS(hs,oa,Ya):Re.setAttribute(oa,Ya),wF(Re)?ql(Re):d(Se.removed)}catch{}}}Qc("afterSanitizeAttributes",Re,null)},"_sanitizeAttributes"),Ove=o(function Ft(Re){let st=null,Rt=bF(Re);for(Qc("beforeSanitizeShadowDOM",Re,null);st=Rt.nextNode();)Qc("uponSanitizeShadowNode",st,null),!kF(st)&&(st.content instanceof me&&Ft(st.content),SF(st));Qc("afterSanitizeShadowDOM",Re,null)},"_sanitizeShadowDOM");return Se.sanitize=function(Ft){let Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},st=null,Rt=null,bn=null,Da=null;if(Lb=!Ft,Lb&&(Ft=""),typeof Ft!="string"&&!TF(Ft))if(typeof Ft.toString=="function"){if(Ft=Ft.toString(),typeof Ft!="string")throw T("dirty is not a string, aborting")}else throw T("toString is not a function");if(!Se.isSupported)return Ft;if(To||Hs(Re),Se.removed=[],typeof Ft=="string"&&(be=!1),be){if(Ft.nodeName){let Xl=_i(Ft.nodeName);if(!mt[Xl]||rn[Xl])throw T("root node is forbidden and cannot be sanitized in-place")}}else if(Ft instanceof fe)st=xF(""),Rt=st.ownerDocument.importNode(Ft,!0),Rt.nodeType===ue.element&&Rt.nodeName==="BODY"||Rt.nodeName==="HTML"?st=Rt:st.appendChild(Rt);else{if(!ht&&!Rn&&!_a&&Ft.indexOf("<")===-1)return He&&Gt?He.createHTML(Ft):Ft;if(st=xF(Ft),!st)return ht?null:Gt?ze:""}st&&qi&&ql(st.firstChild);let oa=bF(be?Ft:st);for(;bn=oa.nextNode();)kF(bn)||(bn.content instanceof me&&Ove(bn.content),SF(bn));if(be)return Ft;if(ht){if(At)for(Da=yt.call(st.ownerDocument);st.firstChild;)Da.appendChild(st.firstChild);else Da=st;return(gr.shadowroot||gr.shadowrootmode)&&(Da=Ye.call(Pe,Da,!0)),Da}let hs=_a?st.outerHTML:st.innerHTML;return _a&&mt["!doctype"]&&st.ownerDocument&&st.ownerDocument.doctype&&st.ownerDocument.doctype.name&&S(K,st.ownerDocument.doctype.name)&&(hs=" +`+hs),Rn&&f([Ve,je,kt],Xl=>{hs=v(hs,Xl," ")}),He&&Gt?He.createHTML(hs):hs},Se.setConfig=function(){let Ft=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Hs(Ft),To=!0},Se.clearConfig=function(){Wl=null,To=!1},Se.isValidAttribute=function(Ft,Re,st){Wl||Hs({});let Rt=_i(Ft),bn=_i(Re);return EF(Rt,bn,st)},Se.addHook=function(Ft,Re){typeof Re=="function"&&(Je[Ft]=Je[Ft]||[],p(Je[Ft],Re))},Se.removeHook=function(Ft){if(Je[Ft])return d(Je[Ft])},Se.removeHooks=function(Ft){Je[Ft]&&(Je[Ft]=[])},Se.removeAllHooks=function(){Je={}},Se}o(oe,"createDOMPurify");var ke=oe();return ke})});var kG={};hr(kG,{default:()=>Ebe});function B2e(t){return String(t).replace(P2e,e=>O2e[e])}function G2e(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function X2e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function L$(t){for(var e=0;e=h4[e]&&t<=h4[e+1])return!0;return!1}function axe(t,e){Zl[t]=e}function M7(t,e,r){if(!Zl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Zl[e][n];if(!i&&t[0]in Zz&&(n=Zz[t[0]].charCodeAt(0),i=Zl[e][n]),!i&&r==="text"&&L$(n)&&(i=Zl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function sxe(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!l7[e]){var r=l7[e]={cssEmPerMu:Jb.quad[e]/18};for(var n in Jb)Jb.hasOwnProperty(n)&&(r[n]=Jb[n][e])}return l7[e]}function t$(t){if(t instanceof ms)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function uxe(t){if(t instanceof jf)return t;throw new Error("Expected span but got "+String(t)+".")}function $(t,e,r,n,i,a){wn[t][i]={font:e,group:r,replace:n},a&&n&&(wn[t][n]=wn[t][i])}function vt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(s4(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(s4(s,e));var h;r?(h=s4(Ri(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=su(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=ct(f.height+f.depth),f.depth&&(d.style.verticalAlign=ct(-f.depth))}return f}function G$(t){return new Xf(t)}function s$(t,e,r,n,i){var a=gs(t,r),s;a.length===1&&a[0]instanceof ps&&Vt.contains(["mrow","mtable"],a[0].type)?s=a[0]:s=new et.MathNode("mrow",a);var l=new et.MathNode("annotation",[new et.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new et.MathNode("semantics",[s,l]),h=new et.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Be.makeSpan([f],[h])}function ir(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function B7(t){var e=T4(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function T4(t){return t&&(t.type==="atom"||fxe.hasOwnProperty(t.type))?t:null}function Y$(t,e){var r=Ri(t.body,e,!0);return Vxe([t.mclass],r,e)}function W$(t,e){var r,n=gs(t.body,e);return t.mclass==="minner"?r=new et.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new et.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new et.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function Yxe(t,e,r){var n=Uxe[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function Wxe(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new nt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=Yxe(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=o$()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function E4(t,e){var r=T4(t);if(r&&Vt.contains(abe,r.text))return r;throw r?new nt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new nt("Invalid delimiter type '"+t.type+"'",t)}function u$(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function ec(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";Xs=class t{static{o(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Ao=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,Xs.range(this,e))}},nt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},P2e=/[&><"']/g;o(B2e,"escape");_$=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),F2e=o(function(e){var r=_$(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),z2e=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),$2e=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),Vt={contains:R2e,deflt:N2e,escape:B2e,hyphenate:I2e,getBaseElem:_$,isCharacterBox:F2e,protocolFromUrl:$2e},u4={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(G2e,"getDefaultValue");ry=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in u4)if(u4.hasOwnProperty(r)){var n=u4[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:G2e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new nt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=Vt.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Kl=class{static{o(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Ql[V2e[this.id]]}sub(){return Ql[U2e[this.id]]}fracNum(){return Ql[H2e[this.id]]}fracDen(){return Ql[Y2e[this.id]]}cramp(){return Ql[W2e[this.id]]}text(){return Ql[q2e[this.id]]}isTight(){return this.size>=2}},N7=0,f4=1,gp=2,iu=3,ny=4,So=5,yp=6,qa=7,Ql=[new Kl(N7,0,!1),new Kl(f4,0,!0),new Kl(gp,1,!1),new Kl(iu,1,!0),new Kl(ny,2,!1),new Kl(So,2,!0),new Kl(yp,3,!1),new Kl(qa,3,!0)],V2e=[ny,So,ny,So,yp,qa,yp,qa],U2e=[So,So,So,So,qa,qa,qa,qa],H2e=[gp,iu,ny,So,yp,qa,yp,qa],Y2e=[iu,iu,So,So,qa,qa,qa,qa],W2e=[f4,f4,iu,iu,So,So,qa,qa],q2e=[N7,f4,gp,iu,gp,iu,gp,iu],Ht={DISPLAY:Ql[N7],TEXT:Ql[gp],SCRIPT:Ql[ny],SCRIPTSCRIPT:Ql[yp]},b7=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(X2e,"scriptFromCodepoint");h4=[];b7.forEach(t=>t.blocks.forEach(e=>h4.push(...e)));o(L$,"supportedCodepoint");mp=80,j2e=o(function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 @@ -21,7 +21,7 @@ c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),Aye=s(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),K2e=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` @@ -31,7 +31,7 @@ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5, c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),Lye=s(function(e,r){return"M983 "+(10+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),Q2e=o(function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 @@ -40,7 +40,7 @@ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),Dye=s(function(e,r){return"M424,"+(2398+e+r)+` +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),Z2e=o(function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 @@ -50,18 +50,18 @@ v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` -h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),Rye=s(function(e,r){return"M473,"+(2713+e+r)+` +h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),J2e=o(function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),Mye=s(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),Iye=s(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),exe=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),txe=o(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),Nye=s(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=_ye(r,J0);break;case"sqrtSize1":i=Aye(r,J0);break;case"sqrtSize2":i=Lye(r,J0);break;case"sqrtSize3":i=Dye(r,J0);break;case"sqrtSize4":i=Rye(r,J0);break;case"sqrtTall":i=Iye(r,J0,n)}return i},"sqrtPath"),Oye=s(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),_F={doubleleftarrow:`M262 157 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),rxe=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=j2e(r,mp);break;case"sqrtSize1":i=K2e(r,mp);break;case"sqrtSize2":i=Q2e(r,mp);break;case"sqrtSize3":i=Z2e(r,mp);break;case"sqrtSize4":i=J2e(r,mp);break;case"sqrtTall":i=txe(r,mp,n)}return i},"sqrtPath"),nxe=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),Qz={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 @@ -236,7 +236,7 @@ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z` c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z -M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Pye=s(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},ixe=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 @@ -264,13 +264,13 @@ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, --470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Pf=class{static{s(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return Mt.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},zl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},wb={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},AF={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};s(Bye,"setFontMetrics");s(UE,"getCharacterMetrics");vE={};s(Fye,"getGlobalMetrics");zye=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],LF=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],DF=s(function(e,r){return r.size<2?e:zye[e-1][r.size-1]},"sizeAtStyle"),Pb=class t{static{s(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=LF[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:DF(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:LF[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=DF(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Fye(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};Pb.BASESIZE=6;RE={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},$ye={ex:!0,em:!0,mu:!0},sz=s(function(e){return typeof e!="string"&&(e=e.unit),e in RE||e in $ye||e==="ex"},"validUnit"),Bn=s(function(e,r){var n;if(e.unit in RE)n=RE[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new je("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),tt=s(function(e){return+e.toFixed(4)+"em"},"makeEm"),oh=s(function(e){return e.filter(r=>r).join(" ")},"createClass"),oz=s(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),lz=s(function(e){var r=document.createElement(e);r.className=oh(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a",r},"toMarkup"),Bf=class{static{s(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,oz.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Mt.contains(this.classes,e)}toNode(){return lz.call(this,"span")}toMarkup(){return cz.call(this,"span")}},$1=class{static{s(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,oz.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Mt.contains(this.classes,e)}toNode(){return lz.call(this,"a")}toMarkup(){return cz.call(this,"a")}},ME=class{static{s(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return Mt.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+Mt.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=tt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=oh(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=Mt.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+Mt.escape(n)+'"');var a=Mt.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},Xo=class{static{s(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},G1=class{static{s(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);B(G,Y,ve,"\u2208","\\in",!0);B(G,Y,ve,"\uE020","\\@not");B(G,Y,ve,"\u2282","\\subset",!0);B(G,Y,ve,"\u2283","\\supset",!0);B(G,Y,ve,"\u2286","\\subseteq",!0);B(G,Y,ve,"\u2287","\\supseteq",!0);B(G,ge,ve,"\u2288","\\nsubseteq",!0);B(G,ge,ve,"\u2289","\\nsupseteq",!0);B(G,Y,ve,"\u22A8","\\models");B(G,Y,ve,"\u2190","\\leftarrow",!0);B(G,Y,ve,"\u2264","\\le");B(G,Y,ve,"\u2264","\\leq",!0);B(G,Y,ve,"<","\\lt",!0);B(G,Y,ve,"\u2192","\\rightarrow",!0);B(G,Y,ve,"\u2192","\\to");B(G,ge,ve,"\u2271","\\ngeq",!0);B(G,ge,ve,"\u2270","\\nleq",!0);B(G,Y,Jc,"\xA0","\\ ");B(G,Y,Jc,"\xA0","\\space");B(G,Y,Jc,"\xA0","\\nobreakspace");B(Ye,Y,Jc,"\xA0","\\ ");B(Ye,Y,Jc,"\xA0"," ");B(Ye,Y,Jc,"\xA0","\\space");B(Ye,Y,Jc,"\xA0","\\nobreakspace");B(G,Y,Jc,null,"\\nobreak");B(G,Y,Jc,null,"\\allowbreak");B(G,Y,Ub,",",",");B(G,Y,Ub,";",";");B(G,ge,lt,"\u22BC","\\barwedge",!0);B(G,ge,lt,"\u22BB","\\veebar",!0);B(G,Y,lt,"\u2299","\\odot",!0);B(G,Y,lt,"\u2295","\\oplus",!0);B(G,Y,lt,"\u2297","\\otimes",!0);B(G,Y,ke,"\u2202","\\partial",!0);B(G,Y,lt,"\u2298","\\oslash",!0);B(G,ge,lt,"\u229A","\\circledcirc",!0);B(G,ge,lt,"\u22A1","\\boxdot",!0);B(G,Y,lt,"\u25B3","\\bigtriangleup");B(G,Y,lt,"\u25BD","\\bigtriangledown");B(G,Y,lt,"\u2020","\\dagger");B(G,Y,lt,"\u22C4","\\diamond");B(G,Y,lt,"\u22C6","\\star");B(G,Y,lt,"\u25C3","\\triangleleft");B(G,Y,lt,"\u25B9","\\triangleright");B(G,Y,Gs,"{","\\{");B(Ye,Y,ke,"{","\\{");B(Ye,Y,ke,"{","\\textbraceleft");B(G,Y,$a,"}","\\}");B(Ye,Y,ke,"}","\\}");B(Ye,Y,ke,"}","\\textbraceright");B(G,Y,Gs,"{","\\lbrace");B(G,Y,$a,"}","\\rbrace");B(G,Y,Gs,"[","\\lbrack",!0);B(Ye,Y,ke,"[","\\lbrack",!0);B(G,Y,$a,"]","\\rbrack",!0);B(Ye,Y,ke,"]","\\rbrack",!0);B(G,Y,Gs,"(","\\lparen",!0);B(G,Y,$a,")","\\rparen",!0);B(Ye,Y,ke,"<","\\textless",!0);B(Ye,Y,ke,">","\\textgreater",!0);B(G,Y,Gs,"\u230A","\\lfloor",!0);B(G,Y,$a,"\u230B","\\rfloor",!0);B(G,Y,Gs,"\u2308","\\lceil",!0);B(G,Y,$a,"\u2309","\\rceil",!0);B(G,Y,ke,"\\","\\backslash");B(G,Y,ke,"\u2223","|");B(G,Y,ke,"\u2223","\\vert");B(Ye,Y,ke,"|","\\textbar",!0);B(G,Y,ke,"\u2225","\\|");B(G,Y,ke,"\u2225","\\Vert");B(Ye,Y,ke,"\u2225","\\textbardbl");B(Ye,Y,ke,"~","\\textasciitilde");B(Ye,Y,ke,"\\","\\textbackslash");B(Ye,Y,ke,"^","\\textasciicircum");B(G,Y,ve,"\u2191","\\uparrow",!0);B(G,Y,ve,"\u21D1","\\Uparrow",!0);B(G,Y,ve,"\u2193","\\downarrow",!0);B(G,Y,ve,"\u21D3","\\Downarrow",!0);B(G,Y,ve,"\u2195","\\updownarrow",!0);B(G,Y,ve,"\u21D5","\\Updownarrow",!0);B(G,Y,hi,"\u2210","\\coprod");B(G,Y,hi,"\u22C1","\\bigvee");B(G,Y,hi,"\u22C0","\\bigwedge");B(G,Y,hi,"\u2A04","\\biguplus");B(G,Y,hi,"\u22C2","\\bigcap");B(G,Y,hi,"\u22C3","\\bigcup");B(G,Y,hi,"\u222B","\\int");B(G,Y,hi,"\u222B","\\intop");B(G,Y,hi,"\u222C","\\iint");B(G,Y,hi,"\u222D","\\iiint");B(G,Y,hi,"\u220F","\\prod");B(G,Y,hi,"\u2211","\\sum");B(G,Y,hi,"\u2A02","\\bigotimes");B(G,Y,hi,"\u2A01","\\bigoplus");B(G,Y,hi,"\u2A00","\\bigodot");B(G,Y,hi,"\u222E","\\oint");B(G,Y,hi,"\u222F","\\oiint");B(G,Y,hi,"\u2230","\\oiiint");B(G,Y,hi,"\u2A06","\\bigsqcup");B(G,Y,hi,"\u222B","\\smallint");B(Ye,Y,rp,"\u2026","\\textellipsis");B(G,Y,rp,"\u2026","\\mathellipsis");B(Ye,Y,rp,"\u2026","\\ldots",!0);B(G,Y,rp,"\u2026","\\ldots",!0);B(G,Y,rp,"\u22EF","\\@cdots",!0);B(G,Y,rp,"\u22F1","\\ddots",!0);B(G,Y,ke,"\u22EE","\\varvdots");B(G,Y,Ln,"\u02CA","\\acute");B(G,Y,Ln,"\u02CB","\\grave");B(G,Y,Ln,"\xA8","\\ddot");B(G,Y,Ln,"~","\\tilde");B(G,Y,Ln,"\u02C9","\\bar");B(G,Y,Ln,"\u02D8","\\breve");B(G,Y,Ln,"\u02C7","\\check");B(G,Y,Ln,"^","\\hat");B(G,Y,Ln,"\u20D7","\\vec");B(G,Y,Ln,"\u02D9","\\dot");B(G,Y,Ln,"\u02DA","\\mathring");B(G,Y,It,"\uE131","\\@imath");B(G,Y,It,"\uE237","\\@jmath");B(G,Y,ke,"\u0131","\u0131");B(G,Y,ke,"\u0237","\u0237");B(Ye,Y,ke,"\u0131","\\i",!0);B(Ye,Y,ke,"\u0237","\\j",!0);B(Ye,Y,ke,"\xDF","\\ss",!0);B(Ye,Y,ke,"\xE6","\\ae",!0);B(Ye,Y,ke,"\u0153","\\oe",!0);B(Ye,Y,ke,"\xF8","\\o",!0);B(Ye,Y,ke,"\xC6","\\AE",!0);B(Ye,Y,ke,"\u0152","\\OE",!0);B(Ye,Y,ke,"\xD8","\\O",!0);B(Ye,Y,Ln,"\u02CA","\\'");B(Ye,Y,Ln,"\u02CB","\\`");B(Ye,Y,Ln,"\u02C6","\\^");B(Ye,Y,Ln,"\u02DC","\\~");B(Ye,Y,Ln,"\u02C9","\\=");B(Ye,Y,Ln,"\u02D8","\\u");B(Ye,Y,Ln,"\u02D9","\\.");B(Ye,Y,Ln,"\xB8","\\c");B(Ye,Y,Ln,"\u02DA","\\r");B(Ye,Y,Ln,"\u02C7","\\v");B(Ye,Y,Ln,"\xA8",'\\"');B(Ye,Y,Ln,"\u02DD","\\H");B(Ye,Y,Ln,"\u25EF","\\textcircled");uz={"--":!0,"---":!0,"``":!0,"''":!0};B(Ye,Y,ke,"\u2013","--",!0);B(Ye,Y,ke,"\u2013","\\textendash");B(Ye,Y,ke,"\u2014","---",!0);B(Ye,Y,ke,"\u2014","\\textemdash");B(Ye,Y,ke,"\u2018","`",!0);B(Ye,Y,ke,"\u2018","\\textquoteleft");B(Ye,Y,ke,"\u2019","'",!0);B(Ye,Y,ke,"\u2019","\\textquoteright");B(Ye,Y,ke,"\u201C","``",!0);B(Ye,Y,ke,"\u201C","\\textquotedblleft");B(Ye,Y,ke,"\u201D","''",!0);B(Ye,Y,ke,"\u201D","\\textquotedblright");B(G,Y,ke,"\xB0","\\degree",!0);B(Ye,Y,ke,"\xB0","\\degree");B(Ye,Y,ke,"\xB0","\\textdegree",!0);B(G,Y,ke,"\xA3","\\pounds");B(G,Y,ke,"\xA3","\\mathsterling",!0);B(Ye,Y,ke,"\xA3","\\pounds");B(Ye,Y,ke,"\xA3","\\textsterling",!0);B(G,ge,ke,"\u2720","\\maltese");B(Ye,ge,ke,"\u2720","\\maltese");MF='0123456789/@."';for(Tb=0;Tb0)return Yo(a,h,i,r,o.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=Yye(a,i,r,o,n);d=m.fontName,p=[m.fontClass]}else l?(d=dz[u].fontName,p=[u]):(d=Ab(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(qb(a,d,i).metrics)return Yo(a,d,i,r,o.concat(p));if(uz.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(oh(t.classes)!==oh(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),Kye=s(t=>{for(var e=0;er&&(r=o.height),o.depth>n&&(n=o.depth),o.maxFontSize>i&&(i=o.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),ss=s(function(e,r,n,i){var a=new Bf(e,r,n,i);return qE(a),a},"makeSpan"),hz=s((t,e,r,n)=>new Bf(t,e,r,n),"makeSvgSpan"),Qye=s(function(e,r,n){var i=ss([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=tt(i.height),i.maxFontSize=1,i},"makeLineSpan"),Zye=s(function(e,r,n,i){var a=new $1(e,r,n,i);return qE(a),a},"makeAnchor"),fz=s(function(e){var r=new Pf(e);return qE(r),r},"makeFragment"),Jye=s(function(e,r){return e instanceof Pf?ss([],[e],r):e},"wrapFragment"),eve=s(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,o=1;o{var r=ss(["mspace"],[],e),n=Bn(t,e);return r.style.marginRight=tt(n),r},"makeGlue"),Ab=s(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),dz={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},pz={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},nve=s(function(e,r){var[n,i,a]=pz[e],o=new $l(n),l=new Xo([o],{width:tt(i),height:tt(a),style:"width:"+tt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=hz(["overlay"],[l],r);return u.height=a,u.style.height=tt(a),u.style.width=tt(i),u},"staticSvg"),Ae={fontMap:dz,makeSymbol:Yo,mathsym:Hye,makeSpan:ss,makeSvgSpan:hz,makeLineSpan:Qye,makeAnchor:Zye,makeFragment:fz,wrapFragment:Jye,makeVList:tve,makeOrd:Xye,makeGlue:rve,staticSvg:nve,svgData:pz,tryCombineChars:Kye},Pn={number:3,unit:"mu"},Nf={number:4,unit:"mu"},Xc={number:5,unit:"mu"},ive={mord:{mop:Pn,mbin:Nf,mrel:Xc,minner:Pn},mop:{mord:Pn,mop:Pn,mrel:Xc,minner:Pn},mbin:{mord:Nf,mop:Nf,mopen:Nf,minner:Nf},mrel:{mord:Xc,mop:Xc,mopen:Xc,minner:Xc},mopen:{},mclose:{mop:Pn,mbin:Nf,mrel:Xc,minner:Pn},mpunct:{mord:Pn,mop:Pn,mrel:Xc,mopen:Pn,mclose:Pn,mpunct:Pn,minner:Pn},minner:{mord:Pn,mop:Pn,mbin:Nf,mrel:Xc,mopen:Pn,mpunct:Pn,minner:Pn}},ave={mord:{mop:Pn},mop:{mord:Pn,mop:Pn},mbin:{},mrel:{},mopen:{},mclose:{mop:Pn},mpunct:{},minner:{mop:Pn}},mz={},Fb={},zb={};s(st,"defineFunction");s(Ff,"defineFunctionBuilders");$b=s(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),ni=s(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),Qc=Ae.makeSpan,sve=["leftmost","mbin","mopen","mrel","mop","mpunct"],ove=["rightmost","mrel","mclose","mpunct"],lve={display:Nt.DISPLAY,text:Nt.TEXT,script:Nt.SCRIPT,scriptscript:Nt.SCRIPTSCRIPT},cve={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Ti=s(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],o=0;o{var v=y.classes[0],x=g.classes[0];v==="mbin"&&Mt.contains(ove,x)?y.classes[0]="mord":x==="mbin"&&Mt.contains(sve,v)&&(g.classes[0]="mord")},{node:d},p,m),OF(a,(g,y)=>{var v=NE(y),x=NE(g),b=v&&x?g.hasClass("mtight")?ave[v][x]:ive[v][x]:null;if(b)return Ae.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),OF=s(function t(e,r,n,i,a){i&&e.push(i);for(var o=0;op=>{e.splice(d+1,0,p),o++})(o)}i&&e.pop()},"traverseNonSpaceNodes"),gz=s(function(e){return e instanceof Pf||e instanceof $1||e instanceof Bf&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),uve=s(function t(e,r){var n=gz(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),NE=s(function(e,r){return e?(r&&(e=uve(e,r)),cve[e.classes[0]]||null):null},"getTypeOfDomTree"),V1=s(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Qc(r.concat(n))},"makeNullDelimiter"),vr=s(function(e,r,n){if(!e)return Qc();if(Fb[e.type]){var i=Fb[e.type](e,r);if(n&&r.size!==n.size){i=Qc(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new je("Got group of unknown type: '"+e.type+"'")},"buildGroup");s(Lb,"buildHTMLUnbreakable");s(OE,"buildHTML");s(yz,"newDocumentFragment");os=class{static{s(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=oh(this.classes));for(var n=0;n0&&(e+=' class ="'+Mt.escape(oh(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},Of=class{static{s(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Mt.escape(this.toText())}toText(){return this.text}},PE=class{static{s(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",tt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},Xe={MathNode:os,TextNode:Of,SpaceNode:PE,newDocumentFragment:yz},yo=s(function(e,r,n){return dn[r][e]&&dn[r][e].replace&&e.charCodeAt(0)!==55349&&!(uz.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=dn[r][e].replace),new Xe.TextNode(e)},"makeText"),WE=s(function(e){return e.length===1?e[0]:new Xe.MathNode("mrow",e)},"makeRow"),HE=s(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(Mt.contains(["\\imath","\\jmath"],a))return null;dn[i][a]&&dn[i][a].replace&&(a=dn[i][a].replace);var o=Ae.fontMap[n].fontName;return UE(a,o,i)?Ae.fontMap[n].variant:null},"getVariant"),cs=s(function(e,r,n){if(e.length===1){var i=nn(e[0],r);return n&&i instanceof os&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],o,l=0;l0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),o=u}return a},"buildExpression"),lh=s(function(e,r,n){return WE(cs(e,r,n))},"buildExpressionRow"),nn=s(function(e,r){if(!e)return new Xe.MathNode("mrow");if(zb[e.type]){var n=zb[e.type](e,r);return n}else throw new je("Got group of unknown type: '"+e.type+"'")},"buildGroup");s(PF,"buildMathML");vz=s(function(e){return new Pb({style:e.displayMode?Nt.DISPLAY:Nt.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),xz=s(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Ae.makeSpan(n,[e])}return e},"displayWrap"),hve=s(function(e,r,n){var i=vz(n),a;if(n.output==="mathml")return PF(e,r,i,n.displayMode,!0);if(n.output==="html"){var o=OE(e,i);a=Ae.makeSpan(["katex"],[o])}else{var l=PF(e,r,i,n.displayMode,!1),u=OE(e,i);a=Ae.makeSpan(["katex"],[l,u])}return xz(a,n)},"buildTree"),fve=s(function(e,r,n){var i=vz(n),a=OE(e,i),o=Ae.makeSpan(["katex"],[a]);return xz(o,n)},"buildHTMLTree"),dve={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},pve=s(function(e){var r=new Xe.MathNode("mo",[new Xe.TextNode(dve[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),mve={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},gve=s(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),yve=s(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(Mt.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=gve(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new $l(p),v=new Xo([y],{width:"100%",height:tt(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:Ae.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=mve[u],[k,A,w]=b,T=w/1e3,C=k.length,E,S;if(C===1){var R=b[3];E=["hide-tail"],S=[R]}else if(C===2)E=["halfarrow-left","halfarrow-right"],S=["xMinYMin","xMaxYMin"];else if(C===3)E=["brace-left","brace-center","brace-right"],S=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support - `+C+" children.");for(var D=0;D0&&(i.style.minWidth=tt(a)),i},"svgSpan"),vve=s(function(e,r,n,i,a){var o,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(o=Ae.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(o.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new G1({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new G1({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Xo(h,{width:"100%",height:tt(l)});o=Ae.makeSvgSpan([],[f],a)}return o.height=l,o.style.height=tt(l),o},"encloseSpan"),Zc={encloseSpan:vve,mathMLnode:pve,svgSpan:yve};s(Jt,"assertNodeType");s(YE,"assertSymbolNodeType");s(Wb,"checkSymbolNodeType");XE=s((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Jt(t.base,"accent"),r=n.base,t.base=r,i=Vye(vr(t,e)),t.base=n):(n=Jt(t,"accent"),r=n.base);var a=vr(r,e.havingCrampedStyle()),o=n.isShifty&&Mt.isCharacterBox(r),l=0;if(o){var u=Mt.getBaseElem(r),h=vr(u,e.havingCrampedStyle());l=RF(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=Zc.svgSpan(n,e),p=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+tt(2*l)+")",marginLeft:tt(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Ae.staticSvg("vec",e),g=Ae.svgData.vec[1]):(m=Ae.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=RF(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Ae.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=tt(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Ae.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),bz=s((t,e)=>{var r=t.isStretchy?Zc.mathMLnode(t.label):new Xe.MathNode("mo",[yo(t.label,t.mode)]),n=new Xe.MathNode("mover",[nn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),xve=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));st({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:s((t,e)=>{var r=$b(e[0]),n=!xve.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:XE,mathmlBuilder:bz});st({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:s((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:XE,mathmlBuilder:bz});st({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:s((t,e)=>{var r=vr(t.base,e),n=Zc.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=Ae.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Ae.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=Zc.mathMLnode(t.label),n=new Xe.MathNode("munder",[nn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});Db=s(t=>{var e=new Xe.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");st({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=Ae.wrapFragment(vr(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var o;t.below&&(n=e.havingStyle(r.sub()),o=Ae.wrapFragment(vr(t.below,n,e),e),o.classes.push(a+"-arrow-pad"));var l=Zc.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(o){var d=-e.fontMetrics().axisHeight+o.height+.5*l.height+.111;f=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:o,shift:d}]},e)}else f=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),Ae.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=Zc.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=Db(nn(t.body,e));if(t.below){var a=Db(nn(t.below,e));n=new Xe.MathNode("munderover",[r,a,i])}else n=new Xe.MathNode("mover",[r,i])}else if(t.below){var o=Db(nn(t.below,e));n=new Xe.MathNode("munder",[r,o])}else n=Db(),n=new Xe.MathNode("mover",[r,n]);return n}});bve=Ae.makeSpan;s(kz,"htmlBuilder$9");s(wz,"mathmlBuilder$8");st({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ni(i),isCharacterBox:Mt.isCharacterBox(i)}},htmlBuilder:kz,mathmlBuilder:wz});Hb=s(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");st({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:Hb(e[0]),body:ni(e[1]),isCharacterBox:Mt.isCharacterBox(e[1])}}});st({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],o;n!=="\\stackrel"?o=Hb(i):o="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:ni(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:o,body:[u],isCharacterBox:Mt.isCharacterBox(u)}},htmlBuilder:kz,mathmlBuilder:wz});st({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:Hb(e[0]),body:ni(e[0])}},htmlBuilder(t,e){var r=Ti(t.body,e,!0),n=Ae.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=cs(t.body,e),n=new Xe.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});kve={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},BF=s(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),FF=s(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),wve=s((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");s(Tve,"cdArrow");s(Eve,"parseCD");st({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Ae.wrapFragment(vr(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=tt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new Xe.MathNode("mrow",[nn(t.label,e)]);return r=new Xe.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new Xe.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});st({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Ae.wrapFragment(vr(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new Xe.MathNode("mrow",[nn(t.fragment,e)])}});st({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=Jt(e[0],"ordgroup"),i=n.body,a="",o=0;o=1114111)throw new je("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});Tz=s((t,e)=>{var r=Ti(t.body,e.withColor(t.color),!1);return Ae.makeFragment(r)},"htmlBuilder$8"),Ez=s((t,e)=>{var r=cs(t.body,e.withColor(t.color)),n=new Xe.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");st({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=Jt(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:ni(i)}},htmlBuilder:Tz,mathmlBuilder:Ez});st({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=Jt(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Tz,mathmlBuilder:Ez});st({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&Jt(i,"size").value}},htmlBuilder(t,e){var r=Ae.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=tt(Bn(t.size,e)))),r},mathmlBuilder(t,e){var r=new Xe.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",tt(Bn(t.size,e)))),r}});BE={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Cz=s(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new je("Expected a control sequence",t);return e},"checkControlSequence"),Cve=s(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),Sz=s((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");st({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(BE[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=BE[n.text]),Jt(e.parseFunction(),"internal");throw new je("Invalid token after macro prefix",n)}});st({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new je("Expected a control sequence",n);for(var a=0,o,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){o=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new je('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new je('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new je("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return o&&u.unshift(o),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===BE[r]),{type:"internal",mode:e.mode}}});st({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Cz(e.gullet.popToken());e.gullet.consumeSpaces();var i=Cve(e);return Sz(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});st({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=Cz(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return Sz(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});P1=s(function(e,r,n){var i=dn.math[e]&&dn.math[e].replace,a=UE(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),jE=s(function(e,r,n,i){var a=n.havingBaseStyle(r),o=Ae.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return o.height*=l,o.depth*=l,o.maxFontSize=a.sizeMultiplier,o},"styleWrap"),_z=s(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=tt(a),e.height-=a,e.depth+=a},"centerSpan"),Sve=s(function(e,r,n,i,a,o){var l=Ae.makeSymbol(e,"Main-Regular",a,i),u=jE(l,r,i,o);return n&&_z(u,i,r),u},"makeSmallDelim"),_ve=s(function(e,r,n,i){return Ae.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),Az=s(function(e,r,n,i,a,o){var l=_ve(e,r,a,i),u=jE(Ae.makeSpan(["delimsizing","size"+r],[l],i),Nt.TEXT,i,o);return n&&_z(u,i,Nt.TEXT),u},"makeLargeDelim"),kE=s(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Ae.makeSpan(["delimsizinginner",i],[Ae.makeSpan([],[Ae.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),wE=s(function(e,r,n){var i=zl["Size4-Regular"][e.charCodeAt(0)]?zl["Size4-Regular"][e.charCodeAt(0)][4]:zl["Size1-Regular"][e.charCodeAt(0)][4],a=new $l("inner",Oye(e,Math.round(1e3*r))),o=new Xo([a],{width:tt(i),height:tt(r),style:"width:"+tt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=Ae.makeSvgSpan([],[o],n);return l.height=r,l.style.height=tt(r),l.style.width=tt(i),{type:"elem",elem:l}},"makeInner"),FE=.008,Rb={type:"kern",size:-1*FE},Ave=["|","\\lvert","\\rvert","\\vert"],Lve=["\\|","\\lVert","\\rVert","\\Vert"],Lz=s(function(e,r,n,i,a,o){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):Mt.contains(Ave,e)?(h="\u2223",d="vert",p=333):Mt.contains(Lve,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=P1(l,m,a),y=g.height+g.depth,v=P1(h,m,a),x=v.height+v.depth,b=P1(f,m,a),k=b.height+b.depth,A=0,w=1;if(u!==null){var T=P1(u,m,a);A=T.height+T.depth,w=2}var C=y+k+A,E=Math.max(0,Math.ceil((r-C)/(w*x))),S=C+E*w*x,R=i.fontMetrics().axisHeight;n&&(R*=i.sizeMultiplier);var D=S/2-R,L=[];if(d.length>0){var P=S-y-k,M=Math.round(S*1e3),F=Pye(d,Math.round(P*1e3)),I=new $l(d,F),O=(p/1e3).toFixed(3)+"em",z=(M/1e3).toFixed(3)+"em",N=new Xo([I],{width:O,height:z,viewBox:"0 0 "+p+" "+M}),U=Ae.makeSvgSpan([],[N],i);U.height=M/1e3,U.style.width=O,U.style.height=z,L.push({type:"elem",elem:U})}else{if(L.push(kE(f,m,a)),L.push(Rb),u===null){var $=S-y-k+2*FE;L.push(wE(h,$,i))}else{var W=(S-y-k-A)/2+2*FE;L.push(wE(h,W,i)),L.push(Rb),L.push(kE(u,m,a)),L.push(Rb),L.push(wE(h,W,i))}L.push(Rb),L.push(kE(l,m,a))}var ee=i.havingBaseStyle(Nt.TEXT),te=Ae.makeVList({positionType:"bottom",positionData:D,children:L},ee);return jE(Ae.makeSpan(["delimsizing","mult"],[te],ee),Nt.TEXT,i,o)},"makeStackedDelim"),TE=80,EE=.08,CE=s(function(e,r,n,i,a){var o=Nye(e,i,n),l=new $l(e,o),u=new Xo([l],{width:"400em",height:tt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Ae.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),Dve=s(function(e,r){var n=r.havingBaseSizing(),i=Iz("\\surd",e*n.sizeMultiplier,Mz,n),a=n.sizeMultiplier,o=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*o+TE,e<1?a=1:e<1.4&&(a=.7),u=(1+o+EE)/a,h=(1+o)/a,l=CE("sqrtMain",u,f,o,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+TE)*B1[i.size],h=(B1[i.size]+o)/a,u=(B1[i.size]+o+EE)/a,l=CE("sqrtSize"+i.size,u,f,o,r),l.style.minWidth="1.02em",d=1/a):(u=e+o+EE,h=e+o,f=Math.floor(1e3*e+o)+TE,l=CE("sqrtTall",u,f,o,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=tt(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+o)*a}},"makeSqrtImage"),Dz=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],Rve=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],Rz=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],B1=[0,1.2,1.8,2.4,3],Mve=s(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),Mt.contains(Dz,e)||Mt.contains(Rz,e))return Az(e,r,!1,n,i,a);if(Mt.contains(Rve,e))return Lz(e,B1[r],!1,n,i,a);throw new je("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),Ive=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Nve=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"stack"}],Mz=[{type:"small",style:Nt.SCRIPTSCRIPT},{type:"small",style:Nt.SCRIPT},{type:"small",style:Nt.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Ove=s(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),Iz=s(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),o=a;or)return n[o]}return n[n.length-1]},"traverseSequence"),Nz=s(function(e,r,n,i,a,o){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;Mt.contains(Rz,e)?l=Ive:Mt.contains(Dz,e)?l=Mz:l=Nve;var u=Iz(e,r,l,i);return u.type==="small"?Sve(e,u.style,n,i,a,o):u.type==="large"?Az(e,u.size,n,i,a,o):Lz(e,r,n,i,a,o)},"makeCustomSizedDelim"),Pve=s(function(e,r,n,i,a,o){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return Nz(e,d,!0,i,a,o)},"makeLeftRightDelim"),Kc={sqrtImage:Dve,sizedDelim:Mve,sizeToMaxHeight:B1,customSizedDelim:Nz,leftRightDelim:Pve},zF={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Bve=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];s(Yb,"checkDelimiter");st({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:s((t,e)=>{var r=Yb(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:zF[t.funcName].size,mclass:zF[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:s((t,e)=>t.delim==="."?Ae.makeSpan([t.mclass]):Kc.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:s(t=>{var e=[];t.delim!=="."&&e.push(yo(t.delim,t.mode));var r=new Xe.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=tt(Kc.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});s($F,"assertParsed");st({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new je("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:Yb(e[0],t).text,color:r}},"handler")});st({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var r=Yb(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=Jt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:s((t,e)=>{$F(t);for(var r=Ti(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,o=0;o{$F(t);var r=cs(t.body,e);if(t.left!=="."){var n=new Xe.MathNode("mo",[yo(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new Xe.MathNode("mo",[yo(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return WE(r)},"mathmlBuilder")});st({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var r=Yb(e[0],t);if(!t.parser.leftrightDepth)throw new je("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:s((t,e)=>{var r;if(t.delim===".")r=V1(e,[]);else{r=Kc.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?yo("|","text"):yo(t.delim,t.mode),n=new Xe.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});KE=s((t,e)=>{var r=Ae.wrapFragment(vr(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,o=0,l=Mt.isCharacterBox(t.body);if(n==="sout")a=Ae.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,o=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=Bn({number:.6,unit:"pt"},e),h=Bn({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=tt(d/2+u);var p=Math.floor(1e3*d*i),m=Mye(p),g=new Xo([new $l("phase",m)],{width:"400em",height:tt(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=Ae.makeSvgSpan(["hide-tail"],[g],e),a.style.height=tt(d),o=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=Zc.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=tt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=tt(x),a.style.borderRightWidth=tt(x)),o=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:o},{type:"elem",elem:r,shift:0}]},e);else{var k=/cancel|phase/.test(n)?["svg-align"]:[];b=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:o,wrapperClasses:k}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?Ae.makeSpan(["mord","cancel-lap"],[b],e):Ae.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),QE=s((t,e)=>{var r=0,n=new Xe.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[nn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");st({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Jt(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:KE,mathmlBuilder:QE});st({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=Jt(e[0],"color-token").color,o=Jt(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:o,borderColor:a,body:l}},htmlBuilder:KE,mathmlBuilder:QE});st({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});st({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:KE,mathmlBuilder:QE});st({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});Oz={};s(Gl,"defineEnvironment");Pz={};s(J,"defineMacro");s(GF,"getHLines");Xb=s(t=>{var e=t.parser.settings;if(!e.displayMode)throw new je("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");s(ZE,"getAutoTag");s(ch,"parseArray");s(JE,"dCellStyle");Vl=s(function(e,r){var n,i,a=e.body.length,o=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(Nt.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?Bn({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,k=0;function A(Re){for(var Pe=0;Pe0&&(k+=.25),h.push({pos:k,isDashed:Re[Pe]})}for(s(A,"setHLinePos"),A(o[0]),n=0;n0&&(D+=b,CRe))for(n=0;n=l)){var fe=void 0;(i>0||e.hskipBeforeAndAfter)&&(fe=Mt.deflt(W.pregap,p),fe!==0&&(F=Ae.makeSpan(["arraycolsep"],[]),F.style.width=tt(fe),M.push(F)));var ne=[];for(n=0;n0){for(var re=Ae.makeLineSpan("hline",r,f),ie=Ae.makeLineSpan("hdashline",r,f),ye=[{type:"elem",elem:u,shift:0}];h.length>0;){var j=h.pop(),De=j.pos-L;j.isDashed?ye.push({type:"elem",elem:ie,shift:De}):ye.push({type:"elem",elem:re,shift:De})}u=Ae.makeVList({positionType:"individualShift",children:ye},r)}if(O.length===0)return Ae.makeSpan(["mord"],[u],r);var oe=Ae.makeVList({positionType:"individualShift",children:O},r);return oe=Ae.makeSpan(["tag"],[oe],r),Ae.makeFragment([u,oe])},"htmlBuilder"),Fve={c:"center ",l:"left ",r:"right "},Ul=s(function(e,r){for(var n=[],i=new Xe.MathNode("mtd",[],["mtr-glue"]),a=new Xe.MathNode("mtd",[],["mml-eqn-num"]),o=0;o0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var k=x;k0?"left ":"",p+=E[E.length-1].length>0?"right ":"";for(var S=1;S-1?"alignat":"align",a=e.envName==="split",o=ch(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:ZE(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return o.colSeparationType=m?"align":"alignat",o},"alignedHandler");Gl({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=Wb(e[0]),n=r?[e[0]]:Jt(e[0],"ordgroup").body,i=n.map(function(o){var l=YE(o),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new je("Unknown column alignment: "+u,o)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return ch(t.parser,a,JE(t.envName))},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new je("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=ch(t.parser,n,JE(t.envName)),o=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(o).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=ch(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=Wb(e[0]),n=r?[e[0]]:Jt(e[0],"ordgroup").body,i=n.map(function(o){var l=YE(o),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new je("Unknown column alignment: "+u,o)});if(i.length>1)throw new je("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=ch(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new je("{subarray} can contain only one column");return a},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=ch(t.parser,e,JE(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Bz,htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){Mt.contains(["gather","gather*"],t.envName)&&Xb(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:ZE(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return ch(t.parser,e,"display")},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Bz,htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){Xb(t);var e={autoTag:ZE(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return ch(t.parser,e,"display")},htmlBuilder:Vl,mathmlBuilder:Ul});Gl({type:"array",names:["CD"],props:{numArgs:0},handler(t){return Xb(t),Eve(t.parser)},htmlBuilder:Vl,mathmlBuilder:Ul});J("\\nonumber","\\gdef\\@eqnsw{0}");J("\\notag","\\nonumber");st({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new je(t.funcName+" valid only within array environment")}});VF=Oz;st({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new je("Invalid environment name",i);for(var a="",o=0;o{var r=t.font,n=e.withFont(r);return vr(t.body,n)},"htmlBuilder$5"),zz=s((t,e)=>{var r=t.font,n=e.withFont(r);return nn(t.body,n)},"mathmlBuilder$4"),UF={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};st({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=$b(e[0]),a=n;return a in UF&&(a=UF[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:Fz,mathmlBuilder:zz});st({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:s((t,e)=>{var{parser:r}=t,n=e[0],i=Mt.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Hb(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});st({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:s((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,o=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:o}}},"handler"),htmlBuilder:Fz,mathmlBuilder:zz});$z=s((t,e)=>{var r=e;return t==="display"?r=r.id>=Nt.SCRIPT.id?r.text():Nt.DISPLAY:t==="text"&&r.size===Nt.DISPLAY.size?r=Nt.TEXT:t==="script"?r=Nt.SCRIPT:t==="scriptscript"&&(r=Nt.SCRIPTSCRIPT),r},"adjustStyle"),eC=s((t,e)=>{var r=$z(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var o=vr(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-o.depth-(b+.5*d){var r=new Xe.MathNode("mfrac",[nn(t.numer,e),nn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=Bn(t.barSize,e);r.setAttribute("linethickness",tt(n))}var i=$z(t.size,e.style);if(i.size!==e.style.size){r=new Xe.MathNode("mstyle",[r]);var a=i.size===Nt.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var o=[];if(t.leftDelim!=null){var l=new Xe.MathNode("mo",[new Xe.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),o.push(l)}if(o.push(r),t.rightDelim!=null){var u=new Xe.MathNode("mo",[new Xe.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),o.push(u)}return WE(o)}return r},"mathmlBuilder$3");st({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],o,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":o=!0;break;case"\\\\atopfrac":o=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":o=!1,l="(",u=")";break;case"\\\\bracefrac":o=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":o=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:o,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:eC,mathmlBuilder:tC});st({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});st({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});qF=["display","text","script","scriptscript"],WF=s(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");st({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=$b(e[0]),o=a.type==="atom"&&a.family==="open"?WF(a.text):null,l=$b(e[1]),u=l.type==="atom"&&l.family==="close"?WF(l.text):null,h=Jt(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=Jt(m.body[0],"textord");p=qF[Number(g.text)]}}else m=Jt(m,"textord"),p=qF[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:o,rightDelim:u,size:p}},htmlBuilder:eC,mathmlBuilder:tC});st({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Jt(e[0],"size").value,token:i}}});st({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=yye(Jt(e[1],"infix").size),o=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:o,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:eC,mathmlBuilder:tC});Gz=s((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?vr(t.sup,e.havingStyle(r.sup()),e):vr(t.sub,e.havingStyle(r.sub()),e),i=Jt(t.base,"horizBrace")):i=Jt(t,"horizBrace");var a=vr(i.base,e.havingBaseStyle(Nt.DISPLAY)),o=Zc.svgSpan(i,e),l;if(i.isOver?(l=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:o}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Ae.makeVList({positionType:"bottom",positionData:a.depth+.1+o.height,children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=Ae.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=Ae.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return Ae.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),zve=s((t,e)=>{var r=Zc.mathMLnode(t.label);return new Xe.MathNode(t.isOver?"mover":"munder",[nn(t.base,e),r])},"mathmlBuilder$2");st({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:Gz,mathmlBuilder:zve});st({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[1],i=Jt(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:ni(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:s((t,e)=>{var r=Ti(t.body,e,!1);return Ae.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=lh(t.body,e);return r instanceof os||(r=new os("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});st({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=Jt(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=Jt(e[0],"raw").string,o=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Ti(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Ae.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:s((t,e)=>lh(t.body,e),"mathmlBuilder")});st({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:ni(e[0]),mathml:ni(e[1])}},"handler"),htmlBuilder:s((t,e)=>{var r=Ti(t.html,e,!1);return Ae.makeFragment(r)},"htmlBuilder"),mathmlBuilder:s((t,e)=>lh(t.mathml,e),"mathmlBuilder")});SE=s(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new je("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!sz(n))throw new je("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");st({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:s((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},o={number:0,unit:"em"},l="";if(r[0])for(var u=Jt(r[0],"raw").string,h=u.split(","),f=0;f{var r=Bn(t.height,e),n=0;t.totalheight.number>0&&(n=Bn(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=Bn(t.width,e));var a={height:tt(r+n)};i>0&&(a.width=tt(i)),n>0&&(a.verticalAlign=tt(-n));var o=new ME(t.src,t.alt,a);return o.height=r,o.depth=n,o},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=new Xe.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=Bn(t.height,e),i=0;if(t.totalheight.number>0&&(i=Bn(t.totalheight,e)-n,r.setAttribute("valign",tt(-i))),r.setAttribute("height",tt(n+i)),t.width.number>0){var a=Bn(t.width,e);r.setAttribute("width",tt(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});st({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=Jt(e[0],"size");if(r.settings.strict){var a=n[1]==="m",o=i.value.unit==="mu";a?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return Ae.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=Bn(t.dimension,e);return new Xe.SpaceNode(r)}});st({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:s((t,e)=>{var r;t.alignment==="clap"?(r=Ae.makeSpan([],[vr(t.body,e)]),r=Ae.makeSpan(["inner"],[r],e)):r=Ae.makeSpan(["inner"],[vr(t.body,e)]);var n=Ae.makeSpan(["fix"],[]),i=Ae.makeSpan([t.alignment],[r,n],e),a=Ae.makeSpan(["strut"]);return a.style.height=tt(i.height+i.depth),i.depth&&(a.style.verticalAlign=tt(-i.depth)),i.children.unshift(a),i=Ae.makeSpan(["thinbox"],[i],e),Ae.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=new Xe.MathNode("mpadded",[nn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});st({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",o=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:o}}});st({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new je("Mismatched "+t.funcName)}});HF=s((t,e)=>{switch(e.style.size){case Nt.DISPLAY.size:return t.display;case Nt.TEXT.size:return t.text;case Nt.SCRIPT.size:return t.script;case Nt.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");st({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:s((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:ni(e[0]),text:ni(e[1]),script:ni(e[2]),scriptscript:ni(e[3])}},"handler"),htmlBuilder:s((t,e)=>{var r=HF(t,e),n=Ti(r,e,!1);return Ae.makeFragment(n)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=HF(t,e);return lh(r,e)},"mathmlBuilder")});Vz=s((t,e,r,n,i,a,o)=>{t=Ae.makeSpan([],[t]);var l=r&&Mt.isCharacterBox(r),u,h;if(e){var f=vr(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=vr(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+o;p=Ae.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:tt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:tt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-o;p=Ae.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:tt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+o;p=Ae.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:tt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=Ae.makeSpan(["mspace"],[],n);x.style.marginRight=tt(a),v.unshift(x)}return Ae.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),Uz=["\\smallint"],np=s((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Jt(t.base,"op"),i=!0):a=Jt(t,"op");var o=e.style,l=!1;o.size===Nt.DISPLAY.size&&a.symbol&&!Mt.contains(Uz,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=Ae.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=Ae.staticSvg(f+"Size"+(l?"2":"1"),e);u=Ae.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Ti(a.body,e,!0);m.length===1&&m[0]instanceof ls?(u=m[0],u.classes[0]="mop"):u=Ae.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new os("mo",[yo(t.name,t.mode)]),Mt.contains(Uz,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new os("mo",cs(t.body,e));else{r=new os("mi",[new Of(t.name.slice(1))]);var n=new os("mo",[yo("\u2061","text")]);t.parentIsSupSub?r=new os("mrow",[r,n]):r=yz([r,n])}return r},"mathmlBuilder$1"),$ve={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};st({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=$ve[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:np,mathmlBuilder:U1});st({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ni(n)}},"handler"),htmlBuilder:np,mathmlBuilder:U1});Gve={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};st({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:np,mathmlBuilder:U1});st({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:np,mathmlBuilder:U1});st({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=Gve[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:np,mathmlBuilder:U1});qz=s((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=Jt(t.base,"operatorname"),i=!0):a=Jt(t,"operatorname");var o;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Ti(l,e.withFont("mathrm"),!0),h=0;h{for(var r=cs(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new Xe.TextNode(l)]}var u=new Xe.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new Xe.MathNode("mo",[yo("\u2061","text")]);return t.parentIsSupSub?new Xe.MathNode("mrow",[u,h]):Xe.newDocumentFragment([u,h])},"mathmlBuilder");st({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:ni(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:qz,mathmlBuilder:Vve});J("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Ff({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Ae.makeFragment(Ti(t.body,e,!1)):Ae.makeSpan(["mord"],Ti(t.body,e,!0),e)},mathmlBuilder(t,e){return lh(t.body,e,!0)}});st({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=vr(t.body,e.havingCrampedStyle()),n=Ae.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Ae.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new Xe.MathNode("mo",[new Xe.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new Xe.MathNode("mover",[nn(t.body,e),r]);return n.setAttribute("accent","true"),n}});st({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:ni(n)}},"handler"),htmlBuilder:s((t,e)=>{var r=Ti(t.body,e.withPhantom(),!1);return Ae.makeFragment(r)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=cs(t.body,e);return new Xe.MathNode("mphantom",r)},"mathmlBuilder")});st({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:s((t,e)=>{var r=Ae.makeSpan([],[vr(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=cs(ni(t.body),e),n=new Xe.MathNode("mphantom",r),i=new Xe.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});st({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:s((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:s((t,e)=>{var r=Ae.makeSpan(["inner"],[vr(t.body,e.withPhantom())]),n=Ae.makeSpan(["fix"],[]);return Ae.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:s((t,e)=>{var r=cs(ni(t.body),e),n=new Xe.MathNode("mphantom",r),i=new Xe.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});st({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=Jt(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=vr(t.body,e),n=Bn(t.dy,e);return Ae.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new Xe.MathNode("mpadded",[nn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});st({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});st({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=Jt(e[0],"size"),o=Jt(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&Jt(i,"size").value,width:a.value,height:o.value}},htmlBuilder(t,e){var r=Ae.makeSpan(["mord","rule"],[],e),n=Bn(t.width,e),i=Bn(t.height,e),a=t.shift?Bn(t.shift,e):0;return r.style.borderRightWidth=tt(n),r.style.borderTopWidth=tt(i),r.style.bottom=tt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=Bn(t.width,e),n=Bn(t.height,e),i=t.shift?Bn(t.shift,e):0,a=e.color&&e.getColor()||"black",o=new Xe.MathNode("mspace");o.setAttribute("mathbackground",a),o.setAttribute("width",tt(r)),o.setAttribute("height",tt(n));var l=new Xe.MathNode("mpadded",[o]);return i>=0?l.setAttribute("height",tt(i)):(l.setAttribute("height",tt(i)),l.setAttribute("depth",tt(-i))),l.setAttribute("voffset",tt(i)),l}});s(Wz,"sizingGroup");YF=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Uve=s((t,e)=>{var r=e.havingSize(t.size);return Wz(t.body,r,e)},"htmlBuilder");st({type:"sizing",names:YF,props:{numArgs:0,allowedInText:!0},handler:s((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:YF.indexOf(n)+1,body:a}},"handler"),htmlBuilder:Uve,mathmlBuilder:s((t,e)=>{var r=e.havingSize(t.size),n=cs(t.body,r),i=new Xe.MathNode("mstyle",n);return i.setAttribute("mathsize",tt(r.sizeMultiplier)),i},"mathmlBuilder")});st({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:s((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,o=r[0]&&Jt(r[0],"ordgroup");if(o)for(var l="",u=0;u{var r=Ae.makeSpan([],[vr(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new Xe.MathNode("mpadded",[nn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});st({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=vr(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=Ae.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+o&&(o=(o+d-r.height-r.depth)/2);var p=u.height-r.height-o-h;r.style.paddingLeft=tt(f);var m=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(Nt.SCRIPTSCRIPT),y=vr(t.index,g,e),v=.6*(m.height-m.depth),x=Ae.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=Ae.makeSpan(["root"],[x]);return Ae.makeSpan(["mord","sqrt"],[b,m],e)}else return Ae.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new Xe.MathNode("mroot",[nn(r,e),nn(n,e)]):new Xe.MathNode("msqrt",[nn(r,e)])}});XF={display:Nt.DISPLAY,text:Nt.TEXT,script:Nt.SCRIPT,scriptscript:Nt.SCRIPTSCRIPT};st({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:o,body:a}},htmlBuilder(t,e){var r=XF[t.style],n=e.havingStyle(r).withFont("");return Wz(t.body,n,e)},mathmlBuilder(t,e){var r=XF[t.style],n=e.havingStyle(r),i=cs(t.body,n),a=new Xe.MathNode("mstyle",i),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=o[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});qve=s(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Nt.DISPLAY.size||n.alwaysHandleSupSub);return i?np:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Nt.DISPLAY.size||n.limits);return a?qz:null}else{if(n.type==="accent")return Mt.isCharacterBox(n.base)?XE:null;if(n.type==="horizBrace"){var o=!e.sub;return o===n.isOver?Gz:null}else return null}else return null},"htmlBuilderDelegate");Ff({type:"supsub",htmlBuilder(t,e){var r=qve(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,o=vr(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&Mt.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=vr(i,m,e),p||(f=o.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=vr(a,g,e),p||(d=o.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===Nt.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=tt(.5/h.ptPerEm/v),b=null;if(u){var k=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(o instanceof ls||k)&&(b=tt(-o.italic))}var A;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,T=4*w;if(f-l.depth-(u.height-d)0&&(f+=C,d-=C)}var E=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];A=Ae.makeVList({positionType:"individualShift",children:E},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var S=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];A=Ae.makeVList({positionType:"shift",positionData:d,children:S},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),A=Ae.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var R=NE(o,"right")||"mord";return Ae.makeSpan([R],[o,Ae.makeSpan(["msupsub"],[A])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[nn(t.base,e)];t.sub&&a.push(nn(t.sub,e)),t.sup&&a.push(nn(t.sup,e));var o;if(r)o=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===Nt.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===Nt.DISPLAY||h.limits)?o="munderover":o="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===Nt.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===Nt.DISPLAY)?o="munder":o="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Nt.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Nt.DISPLAY)?o="mover":o="msup"}return new Xe.MathNode(o,a)}});Ff({type:"atom",htmlBuilder(t,e){return Ae.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new Xe.MathNode("mo",[yo(t.text,t.mode)]);if(t.family==="bin"){var n=HE(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});Hz={mi:"italic",mn:"normal",mtext:"normal"};Ff({type:"mathord",htmlBuilder(t,e){return Ae.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new Xe.MathNode("mi",[yo(t.text,t.mode,e)]),n=HE(t,e)||"italic";return n!==Hz[r.type]&&r.setAttribute("mathvariant",n),r}});Ff({type:"textord",htmlBuilder(t,e){return Ae.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=yo(t.text,t.mode,e),n=HE(t,e)||"normal",i;return t.mode==="text"?i=new Xe.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new Xe.MathNode("mn",[r]):t.text==="\\prime"?i=new Xe.MathNode("mo",[r]):i=new Xe.MathNode("mi",[r]),n!==Hz[i.type]&&i.setAttribute("mathvariant",n),i}});_E={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},AE={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Ff({type:"spacing",htmlBuilder(t,e){if(AE.hasOwnProperty(t.text)){var r=AE[t.text].className||"";if(t.mode==="text"){var n=Ae.makeOrd(t,e,"textord");return n.classes.push(r),n}else return Ae.makeSpan(["mspace",r],[Ae.mathsym(t.text,t.mode,e)],e)}else{if(_E.hasOwnProperty(t.text))return Ae.makeSpan(["mspace",_E[t.text]],[],e);throw new je('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(AE.hasOwnProperty(t.text))r=new Xe.MathNode("mtext",[new Xe.TextNode("\xA0")]);else{if(_E.hasOwnProperty(t.text))return new Xe.MathNode("mspace");throw new je('Unknown type of space "'+t.text+'"')}return r}});jF=s(()=>{var t=new Xe.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Ff({type:"tag",mathmlBuilder(t,e){var r=new Xe.MathNode("mtable",[new Xe.MathNode("mtr",[jF(),new Xe.MathNode("mtd",[lh(t.body,e)]),jF(),new Xe.MathNode("mtd",[lh(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});KF={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},QF={"\\textbf":"textbf","\\textmd":"textmd"},Wve={"\\textit":"textit","\\textup":"textup"},ZF=s((t,e)=>{var r=t.font;if(r){if(KF[r])return e.withTextFontFamily(KF[r]);if(QF[r])return e.withTextFontWeight(QF[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(Wve[r])},"optionsWithFont");st({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:ni(i),font:n}},htmlBuilder(t,e){var r=ZF(t,e),n=Ti(t.body,r,!0);return Ae.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=ZF(t,e);return lh(t.body,r)}});st({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=vr(t.body,e),n=Ae.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ae.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Ae.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new Xe.MathNode("mo",[new Xe.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new Xe.MathNode("munder",[nn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});st({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=vr(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Ae.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new Xe.MathNode("mpadded",[nn(t.body,e)],["vcenter"])}});st({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new je("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=JF(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),sh=mz,Yz=`[ \r - ]`,Hve="\\\\[a-zA-Z@]+",Yve="\\\\[^\uD800-\uDFFF]",Xve="("+Hve+")"+Yz+"*",jve=`\\\\( +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Xf=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return Vt.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},Zl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Jb={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Zz={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(axe,"setFontMetrics");o(M7,"getCharacterMetrics");l7={};o(sxe,"getGlobalMetrics");oxe=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Jz=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],e$=o(function(e,r){return r.size<2?e:oxe[e-1][r.size-1]},"sizeAtStyle"),d4=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=Jz[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:e$(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Jz[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=e$(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=sxe(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};d4.BASESIZE=6;w7={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},lxe={ex:!0,em:!0,mu:!0},D$=o(function(e){return typeof e!="string"&&(e=e.unit),e in w7||e in lxe||e==="ex"},"validUnit"),Hn=o(function(e,r){var n;if(e.unit in w7)n=w7[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new nt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),ct=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),dh=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),R$=o(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),N$=o(function(e){var r=document.createElement(e);r.className=dh(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a",r},"toMarkup"),jf=class{static{o(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,R$.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Vt.contains(this.classes,e)}toNode(){return N$.call(this,"span")}toMarkup(){return M$.call(this,"span")}},iy=class{static{o(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,R$.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Vt.contains(this.classes,e)}toNode(){return N$.call(this,"a")}toMarkup(){return M$.call(this,"a")}},T7=class{static{o(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return Vt.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+Vt.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=ct(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=dh(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=Vt.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+Vt.escape(n)+'"');var a=Vt.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},ll=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},ay=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);$(U,ee,xe,"\u2208","\\in",!0);$(U,ee,xe,"\uE020","\\@not");$(U,ee,xe,"\u2282","\\subset",!0);$(U,ee,xe,"\u2283","\\supset",!0);$(U,ee,xe,"\u2286","\\subseteq",!0);$(U,ee,xe,"\u2287","\\supseteq",!0);$(U,ve,xe,"\u2288","\\nsubseteq",!0);$(U,ve,xe,"\u2289","\\nsupseteq",!0);$(U,ee,xe,"\u22A8","\\models");$(U,ee,xe,"\u2190","\\leftarrow",!0);$(U,ee,xe,"\u2264","\\le");$(U,ee,xe,"\u2264","\\leq",!0);$(U,ee,xe,"<","\\lt",!0);$(U,ee,xe,"\u2192","\\rightarrow",!0);$(U,ee,xe,"\u2192","\\to");$(U,ve,xe,"\u2271","\\ngeq",!0);$(U,ve,xe,"\u2270","\\nleq",!0);$(U,ee,lu,"\xA0","\\ ");$(U,ee,lu,"\xA0","\\space");$(U,ee,lu,"\xA0","\\nobreakspace");$(Qe,ee,lu,"\xA0","\\ ");$(Qe,ee,lu,"\xA0"," ");$(Qe,ee,lu,"\xA0","\\space");$(Qe,ee,lu,"\xA0","\\nobreakspace");$(U,ee,lu,null,"\\nobreak");$(U,ee,lu,null,"\\allowbreak");$(U,ee,b4,",",",");$(U,ee,b4,";",";");$(U,ve,bt,"\u22BC","\\barwedge",!0);$(U,ve,bt,"\u22BB","\\veebar",!0);$(U,ee,bt,"\u2299","\\odot",!0);$(U,ee,bt,"\u2295","\\oplus",!0);$(U,ee,bt,"\u2297","\\otimes",!0);$(U,ee,Le,"\u2202","\\partial",!0);$(U,ee,bt,"\u2298","\\oslash",!0);$(U,ve,bt,"\u229A","\\circledcirc",!0);$(U,ve,bt,"\u22A1","\\boxdot",!0);$(U,ee,bt,"\u25B3","\\bigtriangleup");$(U,ee,bt,"\u25BD","\\bigtriangledown");$(U,ee,bt,"\u2020","\\dagger");$(U,ee,bt,"\u22C4","\\diamond");$(U,ee,bt,"\u22C6","\\star");$(U,ee,bt,"\u25C3","\\triangleleft");$(U,ee,bt,"\u25B9","\\triangleright");$(U,ee,js,"{","\\{");$(Qe,ee,Le,"{","\\{");$(Qe,ee,Le,"{","\\textbraceleft");$(U,ee,Xa,"}","\\}");$(Qe,ee,Le,"}","\\}");$(Qe,ee,Le,"}","\\textbraceright");$(U,ee,js,"{","\\lbrace");$(U,ee,Xa,"}","\\rbrace");$(U,ee,js,"[","\\lbrack",!0);$(Qe,ee,Le,"[","\\lbrack",!0);$(U,ee,Xa,"]","\\rbrack",!0);$(Qe,ee,Le,"]","\\rbrack",!0);$(U,ee,js,"(","\\lparen",!0);$(U,ee,Xa,")","\\rparen",!0);$(Qe,ee,Le,"<","\\textless",!0);$(Qe,ee,Le,">","\\textgreater",!0);$(U,ee,js,"\u230A","\\lfloor",!0);$(U,ee,Xa,"\u230B","\\rfloor",!0);$(U,ee,js,"\u2308","\\lceil",!0);$(U,ee,Xa,"\u2309","\\rceil",!0);$(U,ee,Le,"\\","\\backslash");$(U,ee,Le,"\u2223","|");$(U,ee,Le,"\u2223","\\vert");$(Qe,ee,Le,"|","\\textbar",!0);$(U,ee,Le,"\u2225","\\|");$(U,ee,Le,"\u2225","\\Vert");$(Qe,ee,Le,"\u2225","\\textbardbl");$(Qe,ee,Le,"~","\\textasciitilde");$(Qe,ee,Le,"\\","\\textbackslash");$(Qe,ee,Le,"^","\\textasciicircum");$(U,ee,xe,"\u2191","\\uparrow",!0);$(U,ee,xe,"\u21D1","\\Uparrow",!0);$(U,ee,xe,"\u2193","\\downarrow",!0);$(U,ee,xe,"\u21D3","\\Downarrow",!0);$(U,ee,xe,"\u2195","\\updownarrow",!0);$(U,ee,xe,"\u21D5","\\Updownarrow",!0);$(U,ee,xi,"\u2210","\\coprod");$(U,ee,xi,"\u22C1","\\bigvee");$(U,ee,xi,"\u22C0","\\bigwedge");$(U,ee,xi,"\u2A04","\\biguplus");$(U,ee,xi,"\u22C2","\\bigcap");$(U,ee,xi,"\u22C3","\\bigcup");$(U,ee,xi,"\u222B","\\int");$(U,ee,xi,"\u222B","\\intop");$(U,ee,xi,"\u222C","\\iint");$(U,ee,xi,"\u222D","\\iiint");$(U,ee,xi,"\u220F","\\prod");$(U,ee,xi,"\u2211","\\sum");$(U,ee,xi,"\u2A02","\\bigotimes");$(U,ee,xi,"\u2A01","\\bigoplus");$(U,ee,xi,"\u2A00","\\bigodot");$(U,ee,xi,"\u222E","\\oint");$(U,ee,xi,"\u222F","\\oiint");$(U,ee,xi,"\u2230","\\oiiint");$(U,ee,xi,"\u2A06","\\bigsqcup");$(U,ee,xi,"\u222B","\\smallint");$(Qe,ee,vp,"\u2026","\\textellipsis");$(U,ee,vp,"\u2026","\\mathellipsis");$(Qe,ee,vp,"\u2026","\\ldots",!0);$(U,ee,vp,"\u2026","\\ldots",!0);$(U,ee,vp,"\u22EF","\\@cdots",!0);$(U,ee,vp,"\u22F1","\\ddots",!0);$(U,ee,Le,"\u22EE","\\varvdots");$(U,ee,Pn,"\u02CA","\\acute");$(U,ee,Pn,"\u02CB","\\grave");$(U,ee,Pn,"\xA8","\\ddot");$(U,ee,Pn,"~","\\tilde");$(U,ee,Pn,"\u02C9","\\bar");$(U,ee,Pn,"\u02D8","\\breve");$(U,ee,Pn,"\u02C7","\\check");$(U,ee,Pn,"^","\\hat");$(U,ee,Pn,"\u20D7","\\vec");$(U,ee,Pn,"\u02D9","\\dot");$(U,ee,Pn,"\u02DA","\\mathring");$(U,ee,Ut,"\uE131","\\@imath");$(U,ee,Ut,"\uE237","\\@jmath");$(U,ee,Le,"\u0131","\u0131");$(U,ee,Le,"\u0237","\u0237");$(Qe,ee,Le,"\u0131","\\i",!0);$(Qe,ee,Le,"\u0237","\\j",!0);$(Qe,ee,Le,"\xDF","\\ss",!0);$(Qe,ee,Le,"\xE6","\\ae",!0);$(Qe,ee,Le,"\u0153","\\oe",!0);$(Qe,ee,Le,"\xF8","\\o",!0);$(Qe,ee,Le,"\xC6","\\AE",!0);$(Qe,ee,Le,"\u0152","\\OE",!0);$(Qe,ee,Le,"\xD8","\\O",!0);$(Qe,ee,Pn,"\u02CA","\\'");$(Qe,ee,Pn,"\u02CB","\\`");$(Qe,ee,Pn,"\u02C6","\\^");$(Qe,ee,Pn,"\u02DC","\\~");$(Qe,ee,Pn,"\u02C9","\\=");$(Qe,ee,Pn,"\u02D8","\\u");$(Qe,ee,Pn,"\u02D9","\\.");$(Qe,ee,Pn,"\xB8","\\c");$(Qe,ee,Pn,"\u02DA","\\r");$(Qe,ee,Pn,"\u02C7","\\v");$(Qe,ee,Pn,"\xA8",'\\"');$(Qe,ee,Pn,"\u02DD","\\H");$(Qe,ee,Pn,"\u25EF","\\textcircled");I$={"--":!0,"---":!0,"``":!0,"''":!0};$(Qe,ee,Le,"\u2013","--",!0);$(Qe,ee,Le,"\u2013","\\textendash");$(Qe,ee,Le,"\u2014","---",!0);$(Qe,ee,Le,"\u2014","\\textemdash");$(Qe,ee,Le,"\u2018","`",!0);$(Qe,ee,Le,"\u2018","\\textquoteleft");$(Qe,ee,Le,"\u2019","'",!0);$(Qe,ee,Le,"\u2019","\\textquoteright");$(Qe,ee,Le,"\u201C","``",!0);$(Qe,ee,Le,"\u201C","\\textquotedblleft");$(Qe,ee,Le,"\u201D","''",!0);$(Qe,ee,Le,"\u201D","\\textquotedblright");$(U,ee,Le,"\xB0","\\degree",!0);$(Qe,ee,Le,"\xB0","\\degree");$(Qe,ee,Le,"\xB0","\\textdegree",!0);$(U,ee,Le,"\xA3","\\pounds");$(U,ee,Le,"\xA3","\\mathsterling",!0);$(Qe,ee,Le,"\xA3","\\pounds");$(Qe,ee,Le,"\xA3","\\textsterling",!0);$(U,ve,Le,"\u2720","\\maltese");$(Qe,ve,Le,"\u2720","\\maltese");r$='0123456789/@."';for(e4=0;e40)return ol(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=mxe(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=B$[u].fontName,p=[u]):(d=a4(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(w4(a,d,i).metrics)return ol(a,d,i,r,s.concat(p));if(I$.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(dh(t.classes)!==dh(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),vxe=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),ds=o(function(e,r,n,i){var a=new jf(e,r,n,i);return I7(a),a},"makeSpan"),O$=o((t,e,r,n)=>new jf(t,e,r,n),"makeSvgSpan"),xxe=o(function(e,r,n){var i=ds([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=ct(i.height),i.maxFontSize=1,i},"makeLineSpan"),bxe=o(function(e,r,n,i){var a=new iy(e,r,n,i);return I7(a),a},"makeAnchor"),P$=o(function(e){var r=new Xf(e);return I7(r),r},"makeFragment"),wxe=o(function(e,r){return e instanceof Xf?ds([],[e],r):e},"wrapFragment"),Txe=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=ds(["mspace"],[],e),n=Hn(t,e);return r.style.marginRight=ct(n),r},"makeGlue"),a4=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),B$={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},F$={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Cxe=o(function(e,r){var[n,i,a]=F$[e],s=new Jl(n),l=new ll([s],{width:ct(i),height:ct(a),style:"width:"+ct(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=O$(["overlay"],[l],r);return u.height=a,u.style.height=ct(a),u.style.width=ct(i),u},"staticSvg"),Be={fontMap:B$,makeSymbol:ol,mathsym:pxe,makeSpan:ds,makeSvgSpan:O$,makeLineSpan:xxe,makeAnchor:bxe,makeFragment:P$,wrapFragment:wxe,makeVList:kxe,makeOrd:gxe,makeGlue:Exe,staticSvg:Cxe,svgData:F$,tryCombineChars:vxe},Un={number:3,unit:"mu"},Wf={number:4,unit:"mu"},nu={number:5,unit:"mu"},Sxe={mord:{mop:Un,mbin:Wf,mrel:nu,minner:Un},mop:{mord:Un,mop:Un,mrel:nu,minner:Un},mbin:{mord:Wf,mop:Wf,mopen:Wf,minner:Wf},mrel:{mord:nu,mop:nu,mopen:nu,minner:nu},mopen:{},mclose:{mop:Un,mbin:Wf,mrel:nu,minner:Un},mpunct:{mord:Un,mop:Un,mrel:nu,mopen:Un,mclose:Un,mpunct:Un,minner:Un},minner:{mord:Un,mop:Un,mbin:Wf,mrel:nu,mopen:Un,mpunct:Un,minner:Un}},Axe={mord:{mop:Un},mop:{mord:Un,mop:Un},mbin:{},mrel:{},mopen:{},mclose:{mop:Un},mpunct:{},minner:{mop:Un}},z$={},m4={},g4={};o(vt,"defineFunction");o(Kf,"defineFunctionBuilders");y4=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),ui=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),su=Be.makeSpan,_xe=["leftmost","mbin","mopen","mrel","mop","mpunct"],Lxe=["rightmost","mrel","mclose","mpunct"],Dxe={display:Ht.DISPLAY,text:Ht.TEXT,script:Ht.SCRIPT,scriptscript:Ht.SCRIPTSCRIPT},Rxe={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Ri=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&Vt.contains(Lxe,x)?y.classes[0]="mord":x==="mbin"&&Vt.contains(_xe,v)&&(g.classes[0]="mord")},{node:d},p,m),a$(a,(g,y)=>{var v=E7(y),x=E7(g),b=v&&x?g.hasClass("mtight")?Axe[v][x]:Sxe[v][x]:null;if(b)return Be.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),a$=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),$$=o(function(e){return e instanceof Xf||e instanceof iy||e instanceof jf&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),Nxe=o(function t(e,r){var n=$$(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),E7=o(function(e,r){return e?(r&&(e=Nxe(e,r)),Rxe[e.classes[0]]||null):null},"getTypeOfDomTree"),sy=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return su(r.concat(n))},"makeNullDelimiter"),Cr=o(function(e,r,n){if(!e)return su();if(m4[e.type]){var i=m4[e.type](e,r);if(n&&r.size!==n.size){i=su(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new nt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(s4,"buildHTMLUnbreakable");o(C7,"buildHTML");o(G$,"newDocumentFragment");ps=class{static{o(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=dh(this.classes));for(var n=0;n0&&(e+=' class ="'+Vt.escape(dh(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},qf=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Vt.escape(this.toText())}toText(){return this.text}},S7=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",ct(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},et={MathNode:ps,TextNode:qf,SpaceNode:S7,newDocumentFragment:G$},_o=o(function(e,r,n){return wn[r][e]&&wn[r][e].replace&&e.charCodeAt(0)!==55349&&!(I$.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=wn[r][e].replace),new et.TextNode(e)},"makeText"),O7=o(function(e){return e.length===1?e[0]:new et.MathNode("mrow",e)},"makeRow"),P7=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(Vt.contains(["\\imath","\\jmath"],a))return null;wn[i][a]&&wn[i][a].replace&&(a=wn[i][a].replace);var s=Be.fontMap[n].fontName;return M7(a,s,i)?Be.fontMap[n].variant:null},"getVariant"),gs=o(function(e,r,n){if(e.length===1){var i=fn(e[0],r);return n&&i instanceof ps&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),ph=o(function(e,r,n){return O7(gs(e,r,n))},"buildExpressionRow"),fn=o(function(e,r){if(!e)return new et.MathNode("mrow");if(g4[e.type]){var n=g4[e.type](e,r);return n}else throw new nt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(s$,"buildMathML");V$=o(function(e){return new d4({style:e.displayMode?Ht.DISPLAY:Ht.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),U$=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Be.makeSpan(n,[e])}return e},"displayWrap"),Mxe=o(function(e,r,n){var i=V$(n),a;if(n.output==="mathml")return s$(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=C7(e,i);a=Be.makeSpan(["katex"],[s])}else{var l=s$(e,r,i,n.displayMode,!1),u=C7(e,i);a=Be.makeSpan(["katex"],[l,u])}return U$(a,n)},"buildTree"),Ixe=o(function(e,r,n){var i=V$(n),a=C7(e,i),s=Be.makeSpan(["katex"],[a]);return U$(s,n)},"buildHTMLTree"),Oxe={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Pxe=o(function(e){var r=new et.MathNode("mo",[new et.TextNode(Oxe[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),Bxe={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Fxe=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),zxe=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(Vt.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=Fxe(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Jl(p),v=new ll([y],{width:"100%",height:ct(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:Be.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=Bxe[u],[w,S,T]=b,E=T/1e3,_=w.length,A,L;if(_===1){var M=b[3];A=["hide-tail"],L=[M]}else if(_===2)A=["halfarrow-left","halfarrow-right"],L=["xMinYMin","xMaxYMin"];else if(_===3)A=["brace-left","brace-center","brace-right"],L=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+_+" children.");for(var N=0;N<_;N++){var k=new Jl(w[N]),I=new ll([k],{width:"400em",height:ct(E),viewBox:"0 0 "+l+" "+T,preserveAspectRatio:L[N]+" slice"}),C=Be.makeSvgSpan([A[N]],[I],r);if(_===1)return{span:C,minWidth:S,height:E};C.style.height=ct(E),x.push(C)}return{span:Be.makeSpan(["stretchy"],x,r),minWidth:S,height:E}}}o(n,"buildSvgSpan_");var{span:i,minWidth:a,height:s}=n();return i.height=s,i.style.height=ct(s),a>0&&(i.style.minWidth=ct(a)),i},"svgSpan"),$xe=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Be.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new ay({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new ay({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new ll(h,{width:"100%",height:ct(l)});s=Be.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=ct(l),s},"encloseSpan"),ou={encloseSpan:$xe,mathMLnode:Pxe,svgSpan:zxe};o(ir,"assertNodeType");o(B7,"assertSymbolNodeType");o(T4,"checkSymbolNodeType");F7=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=ir(t.base,"accent"),r=n.base,t.base=r,i=uxe(Cr(t,e)),t.base=n):(n=ir(t,"accent"),r=n.base);var a=Cr(r,e.havingCrampedStyle()),s=n.isShifty&&Vt.isCharacterBox(r),l=0;if(s){var u=Vt.getBaseElem(r),h=Cr(u,e.havingCrampedStyle());l=t$(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=ou.svgSpan(n,e),p=Be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+ct(2*l)+")",marginLeft:ct(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Be.staticSvg("vec",e),g=Be.svgData.vec[1]):(m=Be.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=t$(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Be.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=ct(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Be.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),H$=o((t,e)=>{var r=t.isStretchy?ou.mathMLnode(t.label):new et.MathNode("mo",[_o(t.label,t.mode)]),n=new et.MathNode("mover",[fn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),Gxe=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));vt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=y4(e[0]),n=!Gxe.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:F7,mathmlBuilder:H$});vt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:F7,mathmlBuilder:H$});vt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=Cr(t.base,e),n=ou.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=Be.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Be.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=ou.mathMLnode(t.label),n=new et.MathNode("munder",[fn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});o4=o(t=>{var e=new et.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");vt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=Be.wrapFragment(Cr(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=Be.wrapFragment(Cr(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=ou.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=Be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=Be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),Be.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=ou.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=o4(fn(t.body,e));if(t.below){var a=o4(fn(t.below,e));n=new et.MathNode("munderover",[r,a,i])}else n=new et.MathNode("mover",[r,i])}else if(t.below){var s=o4(fn(t.below,e));n=new et.MathNode("munder",[r,s])}else n=o4(),n=new et.MathNode("mover",[r,n]);return n}});Vxe=Be.makeSpan;o(Y$,"htmlBuilder$9");o(W$,"mathmlBuilder$8");vt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ui(i),isCharacterBox:Vt.isCharacterBox(i)}},htmlBuilder:Y$,mathmlBuilder:W$});k4=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");vt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:k4(e[0]),body:ui(e[1]),isCharacterBox:Vt.isCharacterBox(e[1])}}});vt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=k4(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:ui(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:Vt.isCharacterBox(u)}},htmlBuilder:Y$,mathmlBuilder:W$});vt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:k4(e[0]),body:ui(e[0])}},htmlBuilder(t,e){var r=Ri(t.body,e,!0),n=Be.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=gs(t.body,e),n=new et.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});Uxe={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},o$=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),l$=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),Hxe=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(Yxe,"cdArrow");o(Wxe,"parseCD");vt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Be.wrapFragment(Cr(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=ct(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new et.MathNode("mrow",[fn(t.label,e)]);return r=new et.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new et.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});vt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Be.wrapFragment(Cr(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new et.MathNode("mrow",[fn(t.fragment,e)])}});vt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=ir(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new nt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});q$=o((t,e)=>{var r=Ri(t.body,e.withColor(t.color),!1);return Be.makeFragment(r)},"htmlBuilder$8"),X$=o((t,e)=>{var r=gs(t.body,e.withColor(t.color)),n=new et.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");vt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=ir(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:ui(i)}},htmlBuilder:q$,mathmlBuilder:X$});vt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=ir(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:q$,mathmlBuilder:X$});vt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&ir(i,"size").value}},htmlBuilder(t,e){var r=Be.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=ct(Hn(t.size,e)))),r},mathmlBuilder(t,e){var r=new et.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",ct(Hn(t.size,e)))),r}});A7={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},j$=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new nt("Expected a control sequence",t);return e},"checkControlSequence"),qxe=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),K$=o((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");vt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(A7[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=A7[n.text]),ir(e.parseFunction(),"internal");throw new nt("Invalid token after macro prefix",n)}});vt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new nt("Expected a control sequence",n);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new nt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new nt('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new nt("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===A7[r]),{type:"internal",mode:e.mode}}});vt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=j$(e.gullet.popToken());e.gullet.consumeSpaces();var i=qxe(e);return K$(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});vt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=j$(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return K$(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});ey=o(function(e,r,n){var i=wn.math[e]&&wn.math[e].replace,a=M7(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),z7=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=Be.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),Q$=o(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=ct(a),e.height-=a,e.depth+=a},"centerSpan"),Xxe=o(function(e,r,n,i,a,s){var l=Be.makeSymbol(e,"Main-Regular",a,i),u=z7(l,r,i,s);return n&&Q$(u,i,r),u},"makeSmallDelim"),jxe=o(function(e,r,n,i){return Be.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),Z$=o(function(e,r,n,i,a,s){var l=jxe(e,r,a,i),u=z7(Be.makeSpan(["delimsizing","size"+r],[l],i),Ht.TEXT,i,s);return n&&Q$(u,i,Ht.TEXT),u},"makeLargeDelim"),h7=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Be.makeSpan(["delimsizinginner",i],[Be.makeSpan([],[Be.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),f7=o(function(e,r,n){var i=Zl["Size4-Regular"][e.charCodeAt(0)]?Zl["Size4-Regular"][e.charCodeAt(0)][4]:Zl["Size1-Regular"][e.charCodeAt(0)][4],a=new Jl("inner",nxe(e,Math.round(1e3*r))),s=new ll([a],{width:ct(i),height:ct(r),style:"width:"+ct(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=Be.makeSvgSpan([],[s],n);return l.height=r,l.style.height=ct(r),l.style.width=ct(i),{type:"elem",elem:l}},"makeInner"),_7=.008,l4={type:"kern",size:-1*_7},Kxe=["|","\\lvert","\\rvert","\\vert"],Qxe=["\\|","\\lVert","\\rVert","\\Vert"],J$=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):Vt.contains(Kxe,e)?(h="\u2223",d="vert",p=333):Vt.contains(Qxe,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=ey(l,m,a),y=g.height+g.depth,v=ey(h,m,a),x=v.height+v.depth,b=ey(f,m,a),w=b.height+b.depth,S=0,T=1;if(u!==null){var E=ey(u,m,a);S=E.height+E.depth,T=2}var _=y+w+S,A=Math.max(0,Math.ceil((r-_)/(T*x))),L=_+A*T*x,M=i.fontMetrics().axisHeight;n&&(M*=i.sizeMultiplier);var N=L/2-M,k=[];if(d.length>0){var I=L-y-w,C=Math.round(L*1e3),O=ixe(d,Math.round(I*1e3)),D=new Jl(d,O),P=(p/1e3).toFixed(3)+"em",F=(C/1e3).toFixed(3)+"em",B=new ll([D],{width:P,height:F,viewBox:"0 0 "+p+" "+C}),G=Be.makeSvgSpan([],[B],i);G.height=C/1e3,G.style.width=P,G.style.height=F,k.push({type:"elem",elem:G})}else{if(k.push(h7(f,m,a)),k.push(l4),u===null){var z=L-y-w+2*_7;k.push(f7(h,z,i))}else{var Y=(L-y-w-S)/2+2*_7;k.push(f7(h,Y,i)),k.push(l4),k.push(h7(u,m,a)),k.push(l4),k.push(f7(h,Y,i))}k.push(l4),k.push(h7(l,m,a))}var Q=i.havingBaseStyle(Ht.TEXT),X=Be.makeVList({positionType:"bottom",positionData:N,children:k},Q);return z7(Be.makeSpan(["delimsizing","mult"],[X],Q),Ht.TEXT,i,s)},"makeStackedDelim"),d7=80,p7=.08,m7=o(function(e,r,n,i,a){var s=rxe(e,i,n),l=new Jl(e,s),u=new ll([l],{width:"400em",height:ct(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Be.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),Zxe=o(function(e,r){var n=r.havingBaseSizing(),i=nG("\\surd",e*n.sizeMultiplier,rG,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+d7,e<1?a=1:e<1.4&&(a=.7),u=(1+s+p7)/a,h=(1+s)/a,l=m7("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+d7)*ty[i.size],h=(ty[i.size]+s)/a,u=(ty[i.size]+s+p7)/a,l=m7("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+p7,h=e+s,f=Math.floor(1e3*e+s)+d7,l=m7("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=ct(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),eG=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],Jxe=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],tG=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],ty=[0,1.2,1.8,2.4,3],ebe=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),Vt.contains(eG,e)||Vt.contains(tG,e))return Z$(e,r,!1,n,i,a);if(Vt.contains(Jxe,e))return J$(e,ty[r],!1,n,i,a);throw new nt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),tbe=[{type:"small",style:Ht.SCRIPTSCRIPT},{type:"small",style:Ht.SCRIPT},{type:"small",style:Ht.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],rbe=[{type:"small",style:Ht.SCRIPTSCRIPT},{type:"small",style:Ht.SCRIPT},{type:"small",style:Ht.TEXT},{type:"stack"}],rG=[{type:"small",style:Ht.SCRIPTSCRIPT},{type:"small",style:Ht.SCRIPT},{type:"small",style:Ht.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],nbe=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),nG=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),iG=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;Vt.contains(tG,e)?l=tbe:Vt.contains(eG,e)?l=rG:l=rbe;var u=nG(e,r,l,i);return u.type==="small"?Xxe(e,u.style,n,i,a,s):u.type==="large"?Z$(e,u.size,n,i,a,s):J$(e,r,n,i,a,s)},"makeCustomSizedDelim"),ibe=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return iG(e,d,!0,i,a,s)},"makeLeftRightDelim"),au={sqrtImage:Zxe,sizedDelim:ebe,sizeToMaxHeight:ty,customSizedDelim:iG,leftRightDelim:ibe},c$={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},abe=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(E4,"checkDelimiter");vt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=E4(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:c$[t.funcName].size,mclass:c$[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?Be.makeSpan([t.mclass]):au.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(_o(t.delim,t.mode));var r=new et.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=ct(au.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(u$,"assertParsed");vt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new nt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:E4(e[0],t).text,color:r}},"handler")});vt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=E4(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=ir(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{u$(t);for(var r=Ri(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{u$(t);var r=gs(t.body,e);if(t.left!=="."){var n=new et.MathNode("mo",[_o(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new et.MathNode("mo",[_o(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return O7(r)},"mathmlBuilder")});vt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=E4(e[0],t);if(!t.parser.leftrightDepth)throw new nt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=sy(e,[]);else{r=au.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?_o("|","text"):_o(t.delim,t.mode),n=new et.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});$7=o((t,e)=>{var r=Be.wrapFragment(Cr(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=Vt.isCharacterBox(t.body);if(n==="sout")a=Be.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=Hn({number:.6,unit:"pt"},e),h=Hn({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=ct(d/2+u);var p=Math.floor(1e3*d*i),m=exe(p),g=new ll([new Jl("phase",m)],{width:"400em",height:ct(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=Be.makeSvgSpan(["hide-tail"],[g],e),a.style.height=ct(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=ou.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=ct(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=ct(x),a.style.borderRightWidth=ct(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=Be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var w=/cancel|phase/.test(n)?["svg-align"]:[];b=Be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:w}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?Be.makeSpan(["mord","cancel-lap"],[b],e):Be.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),G7=o((t,e)=>{var r=0,n=new et.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[fn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");vt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=ir(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:$7,mathmlBuilder:G7});vt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=ir(e[0],"color-token").color,s=ir(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:$7,mathmlBuilder:G7});vt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});vt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:$7,mathmlBuilder:G7});vt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});aG={};o(ec,"defineEnvironment");sG={};o(le,"defineMacro");o(h$,"getHLines");C4=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new nt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(V7,"getAutoTag");o(mh,"parseArray");o(U7,"dCellStyle");tc=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(Ht.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?Hn({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,w=0;function S(ke){for(var Ie=0;Ie0&&(w+=.25),h.push({pos:w,isDashed:ke[Ie]})}for(o(S,"setHLinePos"),S(s[0]),n=0;n0&&(N+=b,_ke))for(n=0;n=l)){var J=void 0;(i>0||e.hskipBeforeAndAfter)&&(J=Vt.deflt(Y.pregap,p),J!==0&&(O=Be.makeSpan(["arraycolsep"],[]),O.style.width=ct(J),C.push(O)));var Z=[];for(n=0;n0){for(var se=Be.makeLineSpan("hline",r,f),ce=Be.makeLineSpan("hdashline",r,f),ue=[{type:"elem",elem:u,shift:0}];h.length>0;){var te=h.pop(),De=te.pos-k;te.isDashed?ue.push({type:"elem",elem:ce,shift:De}):ue.push({type:"elem",elem:se,shift:De})}u=Be.makeVList({positionType:"individualShift",children:ue},r)}if(P.length===0)return Be.makeSpan(["mord"],[u],r);var oe=Be.makeVList({positionType:"individualShift",children:P},r);return oe=Be.makeSpan(["tag"],[oe],r),Be.makeFragment([u,oe])},"htmlBuilder"),sbe={c:"center ",l:"left ",r:"right "},rc=o(function(e,r){for(var n=[],i=new et.MathNode("mtd",[],["mtr-glue"]),a=new et.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var w=x;w0?"left ":"",p+=A[A.length-1].length>0?"right ":"";for(var L=1;L-1?"alignat":"align",a=e.envName==="split",s=mh(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:V7(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");ec({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=T4(e[0]),n=r?[e[0]]:ir(e[0],"ordgroup").body,i=n.map(function(s){var l=B7(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new nt("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return mh(t.parser,a,U7(t.envName))},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new nt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=mh(t.parser,n,U7(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=mh(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=T4(e[0]),n=r?[e[0]]:ir(e[0],"ordgroup").body,i=n.map(function(s){var l=B7(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new nt("Unknown column alignment: "+u,s)});if(i.length>1)throw new nt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=mh(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new nt("{subarray} can contain only one column");return a},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=mh(t.parser,e,U7(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:oG,htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){Vt.contains(["gather","gather*"],t.envName)&&C4(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:V7(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return mh(t.parser,e,"display")},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:oG,htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){C4(t);var e={autoTag:V7(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return mh(t.parser,e,"display")},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["CD"],props:{numArgs:0},handler(t){return C4(t),Wxe(t.parser)},htmlBuilder:tc,mathmlBuilder:rc});le("\\nonumber","\\gdef\\@eqnsw{0}");le("\\notag","\\nonumber");vt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new nt(t.funcName+" valid only within array environment")}});f$=aG;vt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new nt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return Cr(t.body,n)},"htmlBuilder$5"),cG=o((t,e)=>{var r=t.font,n=e.withFont(r);return fn(t.body,n)},"mathmlBuilder$4"),d$={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};vt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=y4(e[0]),a=n;return a in d$&&(a=d$[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:lG,mathmlBuilder:cG});vt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=Vt.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:k4(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});vt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:lG,mathmlBuilder:cG});uG=o((t,e)=>{var r=e;return t==="display"?r=r.id>=Ht.SCRIPT.id?r.text():Ht.DISPLAY:t==="text"&&r.size===Ht.DISPLAY.size?r=Ht.TEXT:t==="script"?r=Ht.SCRIPT:t==="scriptscript"&&(r=Ht.SCRIPTSCRIPT),r},"adjustStyle"),H7=o((t,e)=>{var r=uG(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=Cr(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new et.MathNode("mfrac",[fn(t.numer,e),fn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=Hn(t.barSize,e);r.setAttribute("linethickness",ct(n))}var i=uG(t.size,e.style);if(i.size!==e.style.size){r=new et.MathNode("mstyle",[r]);var a=i.size===Ht.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new et.MathNode("mo",[new et.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new et.MathNode("mo",[new et.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return O7(s)}return r},"mathmlBuilder$3");vt({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:H7,mathmlBuilder:Y7});vt({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});vt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});p$=["display","text","script","scriptscript"],m$=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");vt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=y4(e[0]),s=a.type==="atom"&&a.family==="open"?m$(a.text):null,l=y4(e[1]),u=l.type==="atom"&&l.family==="close"?m$(l.text):null,h=ir(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=ir(m.body[0],"textord");p=p$[Number(g.text)]}}else m=ir(m,"textord"),p=p$[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:H7,mathmlBuilder:Y7});vt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:ir(e[0],"size").value,token:i}}});vt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=z2e(ir(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:H7,mathmlBuilder:Y7});hG=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?Cr(t.sup,e.havingStyle(r.sup()),e):Cr(t.sub,e.havingStyle(r.sub()),e),i=ir(t.base,"horizBrace")):i=ir(t,"horizBrace");var a=Cr(i.base,e.havingBaseStyle(Ht.DISPLAY)),s=ou.svgSpan(i,e),l;if(i.isOver?(l=Be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Be.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=Be.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=Be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=Be.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return Be.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),obe=o((t,e)=>{var r=ou.mathMLnode(t.label);return new et.MathNode(t.isOver?"mover":"munder",[fn(t.base,e),r])},"mathmlBuilder$2");vt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:hG,mathmlBuilder:obe});vt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=ir(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:ui(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=Ri(t.body,e,!1);return Be.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=ph(t.body,e);return r instanceof ps||(r=new ps("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});vt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=ir(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=ir(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Ri(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Be.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>ph(t.body,e),"mathmlBuilder")});vt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:ui(e[0]),mathml:ui(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=Ri(t.html,e,!1);return Be.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>ph(t.mathml,e),"mathmlBuilder")});g7=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new nt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!D$(n))throw new nt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");vt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=ir(r[0],"raw").string,h=u.split(","),f=0;f{var r=Hn(t.height,e),n=0;t.totalheight.number>0&&(n=Hn(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=Hn(t.width,e));var a={height:ct(r+n)};i>0&&(a.width=ct(i)),n>0&&(a.verticalAlign=ct(-n));var s=new T7(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new et.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=Hn(t.height,e),i=0;if(t.totalheight.number>0&&(i=Hn(t.totalheight,e)-n,r.setAttribute("valign",ct(-i))),r.setAttribute("height",ct(n+i)),t.width.number>0){var a=Hn(t.width,e);r.setAttribute("width",ct(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});vt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=ir(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return Be.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=Hn(t.dimension,e);return new et.SpaceNode(r)}});vt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=Be.makeSpan([],[Cr(t.body,e)]),r=Be.makeSpan(["inner"],[r],e)):r=Be.makeSpan(["inner"],[Cr(t.body,e)]);var n=Be.makeSpan(["fix"],[]),i=Be.makeSpan([t.alignment],[r,n],e),a=Be.makeSpan(["strut"]);return a.style.height=ct(i.height+i.depth),i.depth&&(a.style.verticalAlign=ct(-i.depth)),i.children.unshift(a),i=Be.makeSpan(["thinbox"],[i],e),Be.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new et.MathNode("mpadded",[fn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});vt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});vt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new nt("Mismatched "+t.funcName)}});g$=o((t,e)=>{switch(e.style.size){case Ht.DISPLAY.size:return t.display;case Ht.TEXT.size:return t.text;case Ht.SCRIPT.size:return t.script;case Ht.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");vt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:ui(e[0]),text:ui(e[1]),script:ui(e[2]),scriptscript:ui(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=g$(t,e),n=Ri(r,e,!1);return Be.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=g$(t,e);return ph(r,e)},"mathmlBuilder")});fG=o((t,e,r,n,i,a,s)=>{t=Be.makeSpan([],[t]);var l=r&&Vt.isCharacterBox(r),u,h;if(e){var f=Cr(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=Cr(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=Be.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:ct(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:ct(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=Be.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:ct(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=Be.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:ct(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=Be.makeSpan(["mspace"],[],n);x.style.marginRight=ct(a),v.unshift(x)}return Be.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),dG=["\\smallint"],xp=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=ir(t.base,"op"),i=!0):a=ir(t,"op");var s=e.style,l=!1;s.size===Ht.DISPLAY.size&&a.symbol&&!Vt.contains(dG,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=Be.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=Be.staticSvg(f+"Size"+(l?"2":"1"),e);u=Be.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Ri(a.body,e,!0);m.length===1&&m[0]instanceof ms?(u=m[0],u.classes[0]="mop"):u=Be.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new ps("mo",[_o(t.name,t.mode)]),Vt.contains(dG,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new ps("mo",gs(t.body,e));else{r=new ps("mi",[new qf(t.name.slice(1))]);var n=new ps("mo",[_o("\u2061","text")]);t.parentIsSupSub?r=new ps("mrow",[r,n]):r=G$([r,n])}return r},"mathmlBuilder$1"),lbe={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};vt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=lbe[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:xp,mathmlBuilder:oy});vt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ui(n)}},"handler"),htmlBuilder:xp,mathmlBuilder:oy});cbe={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};vt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:xp,mathmlBuilder:oy});vt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:xp,mathmlBuilder:oy});vt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=cbe[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:xp,mathmlBuilder:oy});pG=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=ir(t.base,"operatorname"),i=!0):a=ir(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Ri(l,e.withFont("mathrm"),!0),h=0;h{for(var r=gs(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new et.TextNode(l)]}var u=new et.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new et.MathNode("mo",[_o("\u2061","text")]);return t.parentIsSupSub?new et.MathNode("mrow",[u,h]):et.newDocumentFragment([u,h])},"mathmlBuilder");vt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:ui(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:pG,mathmlBuilder:ube});le("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Kf({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Be.makeFragment(Ri(t.body,e,!1)):Be.makeSpan(["mord"],Ri(t.body,e,!0),e)},mathmlBuilder(t,e){return ph(t.body,e,!0)}});vt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=Cr(t.body,e.havingCrampedStyle()),n=Be.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Be.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new et.MathNode("mo",[new et.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new et.MathNode("mover",[fn(t.body,e),r]);return n.setAttribute("accent","true"),n}});vt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:ui(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=Ri(t.body,e.withPhantom(),!1);return Be.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=gs(t.body,e);return new et.MathNode("mphantom",r)},"mathmlBuilder")});vt({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Be.makeSpan([],[Cr(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=gs(ui(t.body),e),n=new et.MathNode("mphantom",r),i=new et.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});vt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Be.makeSpan(["inner"],[Cr(t.body,e.withPhantom())]),n=Be.makeSpan(["fix"],[]);return Be.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=gs(ui(t.body),e),n=new et.MathNode("mphantom",r),i=new et.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});vt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=ir(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=Cr(t.body,e),n=Hn(t.dy,e);return Be.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new et.MathNode("mpadded",[fn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});vt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});vt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=ir(e[0],"size"),s=ir(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&ir(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Be.makeSpan(["mord","rule"],[],e),n=Hn(t.width,e),i=Hn(t.height,e),a=t.shift?Hn(t.shift,e):0;return r.style.borderRightWidth=ct(n),r.style.borderTopWidth=ct(i),r.style.bottom=ct(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=Hn(t.width,e),n=Hn(t.height,e),i=t.shift?Hn(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new et.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",ct(r)),s.setAttribute("height",ct(n));var l=new et.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",ct(i)):(l.setAttribute("height",ct(i)),l.setAttribute("depth",ct(-i))),l.setAttribute("voffset",ct(i)),l}});o(mG,"sizingGroup");y$=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],hbe=o((t,e)=>{var r=e.havingSize(t.size);return mG(t.body,r,e)},"htmlBuilder");vt({type:"sizing",names:y$,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:y$.indexOf(n)+1,body:a}},"handler"),htmlBuilder:hbe,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=gs(t.body,r),i=new et.MathNode("mstyle",n);return i.setAttribute("mathsize",ct(r.sizeMultiplier)),i},"mathmlBuilder")});vt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&ir(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=Be.makeSpan([],[Cr(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new et.MathNode("mpadded",[fn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});vt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=Cr(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=Be.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=ct(f);var m=Be.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(Ht.SCRIPTSCRIPT),y=Cr(t.index,g,e),v=.6*(m.height-m.depth),x=Be.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=Be.makeSpan(["root"],[x]);return Be.makeSpan(["mord","sqrt"],[b,m],e)}else return Be.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new et.MathNode("mroot",[fn(r,e),fn(n,e)]):new et.MathNode("msqrt",[fn(r,e)])}});v$={display:Ht.DISPLAY,text:Ht.TEXT,script:Ht.SCRIPT,scriptscript:Ht.SCRIPTSCRIPT};vt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=v$[t.style],n=e.havingStyle(r).withFont("");return mG(t.body,n,e)},mathmlBuilder(t,e){var r=v$[t.style],n=e.havingStyle(r),i=gs(t.body,n),a=new et.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});fbe=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===Ht.DISPLAY.size||n.alwaysHandleSupSub);return i?xp:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===Ht.DISPLAY.size||n.limits);return a?pG:null}else{if(n.type==="accent")return Vt.isCharacterBox(n.base)?F7:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?hG:null}else return null}else return null},"htmlBuilderDelegate");Kf({type:"supsub",htmlBuilder(t,e){var r=fbe(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=Cr(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&Vt.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=Cr(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=Cr(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===Ht.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=ct(.5/h.ptPerEm/v),b=null;if(u){var w=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof ms||w)&&(b=ct(-s.italic))}var S;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var T=h.defaultRuleThickness,E=4*T;if(f-l.depth-(u.height-d)0&&(f+=_,d-=_)}var A=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];S=Be.makeVList({positionType:"individualShift",children:A},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var L=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];S=Be.makeVList({positionType:"shift",positionData:d,children:L},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),S=Be.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var M=E7(s,"right")||"mord";return Be.makeSpan([M],[s,Be.makeSpan(["msupsub"],[S])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[fn(t.base,e)];t.sub&&a.push(fn(t.sub,e)),t.sup&&a.push(fn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===Ht.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===Ht.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===Ht.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===Ht.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===Ht.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===Ht.DISPLAY)?s="mover":s="msup"}return new et.MathNode(s,a)}});Kf({type:"atom",htmlBuilder(t,e){return Be.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new et.MathNode("mo",[_o(t.text,t.mode)]);if(t.family==="bin"){var n=P7(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});gG={mi:"italic",mn:"normal",mtext:"normal"};Kf({type:"mathord",htmlBuilder(t,e){return Be.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new et.MathNode("mi",[_o(t.text,t.mode,e)]),n=P7(t,e)||"italic";return n!==gG[r.type]&&r.setAttribute("mathvariant",n),r}});Kf({type:"textord",htmlBuilder(t,e){return Be.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=_o(t.text,t.mode,e),n=P7(t,e)||"normal",i;return t.mode==="text"?i=new et.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new et.MathNode("mn",[r]):t.text==="\\prime"?i=new et.MathNode("mo",[r]):i=new et.MathNode("mi",[r]),n!==gG[i.type]&&i.setAttribute("mathvariant",n),i}});y7={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},v7={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Kf({type:"spacing",htmlBuilder(t,e){if(v7.hasOwnProperty(t.text)){var r=v7[t.text].className||"";if(t.mode==="text"){var n=Be.makeOrd(t,e,"textord");return n.classes.push(r),n}else return Be.makeSpan(["mspace",r],[Be.mathsym(t.text,t.mode,e)],e)}else{if(y7.hasOwnProperty(t.text))return Be.makeSpan(["mspace",y7[t.text]],[],e);throw new nt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(v7.hasOwnProperty(t.text))r=new et.MathNode("mtext",[new et.TextNode("\xA0")]);else{if(y7.hasOwnProperty(t.text))return new et.MathNode("mspace");throw new nt('Unknown type of space "'+t.text+'"')}return r}});x$=o(()=>{var t=new et.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Kf({type:"tag",mathmlBuilder(t,e){var r=new et.MathNode("mtable",[new et.MathNode("mtr",[x$(),new et.MathNode("mtd",[ph(t.body,e)]),x$(),new et.MathNode("mtd",[ph(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});b$={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},w$={"\\textbf":"textbf","\\textmd":"textmd"},dbe={"\\textit":"textit","\\textup":"textup"},T$=o((t,e)=>{var r=t.font;if(r){if(b$[r])return e.withTextFontFamily(b$[r]);if(w$[r])return e.withTextFontWeight(w$[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(dbe[r])},"optionsWithFont");vt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:ui(i),font:n}},htmlBuilder(t,e){var r=T$(t,e),n=Ri(t.body,r,!0);return Be.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=T$(t,e);return ph(t.body,r)}});vt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Cr(t.body,e),n=Be.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Be.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Be.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new et.MathNode("mo",[new et.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new et.MathNode("munder",[fn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});vt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Cr(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Be.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new et.MathNode("mpadded",[fn(t.body,e)],["vcenter"])}});vt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new nt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=k$(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),fh=z$,yG=`[ \r + ]`,pbe="\\\\[a-zA-Z@]+",mbe="\\\\[^\uD800-\uDFFF]",gbe="("+pbe+")"+yG+"*",ybe=`\\\\( |[ \r ]+ -?)[ \r ]*`,zE="[\u0300-\u036F]",Kve=new RegExp(zE+"+$"),Qve="("+Yz+"+)|"+(jve+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(zE+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(zE+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Xve)+("|"+Yve+")"),Gb=class{static{s(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(Qve,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new go("EOF",new $s(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new je("Unexpected character: '"+e[r]+"'",new go(e[r],new $s(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` -`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new go(i,new $s(this,r,this.tokenRegex.lastIndex))}},$E=class{static{s(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new je("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},Zve=Pz;J("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});J("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});J("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});J("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});J("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});J("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");J("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});ez={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};J("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new je("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=ez[e.text],n==null||n>=r)throw new je("Invalid base-"+r+" digit "+e.text);for(var i;(i=ez[t.future().text])!=null&&i{var n=t.consumeArg().tokens;if(n.length!==1)throw new je("\\newcommand's first argument must be a macro name");var i=n[0].text,a=t.isDefined(i);if(a&&!e)throw new je("\\newcommand{"+i+"} attempting to redefine "+(i+"; use \\renewcommand"));if(!a&&!r)throw new je("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var o=0;if(n=t.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new je("Invalid number of arguments: "+l);o=parseInt(l),n=t.consumeArg().tokens}return t.macros.set(i,{tokens:n,numArgs:o}),""},"newcommand");J("\\newcommand",t=>rC(t,!1,!0));J("\\renewcommand",t=>rC(t,!0,!1));J("\\providecommand",t=>rC(t,!0,!0));J("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});J("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});J("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),sh[r],dn.math[r],dn.text[r]),""});J("\\bgroup","{");J("\\egroup","}");J("~","\\nobreakspace");J("\\lq","`");J("\\rq","'");J("\\aa","\\r a");J("\\AA","\\r A");J("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");J("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");J("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");J("\u212C","\\mathscr{B}");J("\u2130","\\mathscr{E}");J("\u2131","\\mathscr{F}");J("\u210B","\\mathscr{H}");J("\u2110","\\mathscr{I}");J("\u2112","\\mathscr{L}");J("\u2133","\\mathscr{M}");J("\u211B","\\mathscr{R}");J("\u212D","\\mathfrak{C}");J("\u210C","\\mathfrak{H}");J("\u2128","\\mathfrak{Z}");J("\\Bbbk","\\Bbb{k}");J("\xB7","\\cdotp");J("\\llap","\\mathllap{\\textrm{#1}}");J("\\rlap","\\mathrlap{\\textrm{#1}}");J("\\clap","\\mathclap{\\textrm{#1}}");J("\\mathstrut","\\vphantom{(}");J("\\underbar","\\underline{\\text{#1}}");J("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');J("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");J("\\ne","\\neq");J("\u2260","\\neq");J("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");J("\u2209","\\notin");J("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");J("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");J("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");J("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");J("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");J("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");J("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");J("\u27C2","\\perp");J("\u203C","\\mathclose{!\\mkern-0.8mu!}");J("\u220C","\\notni");J("\u231C","\\ulcorner");J("\u231D","\\urcorner");J("\u231E","\\llcorner");J("\u231F","\\lrcorner");J("\xA9","\\copyright");J("\xAE","\\textregistered");J("\uFE0F","\\textregistered");J("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');J("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');J("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');J("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');J("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}");J("\u22EE","\\vdots");J("\\varGamma","\\mathit{\\Gamma}");J("\\varDelta","\\mathit{\\Delta}");J("\\varTheta","\\mathit{\\Theta}");J("\\varLambda","\\mathit{\\Lambda}");J("\\varXi","\\mathit{\\Xi}");J("\\varPi","\\mathit{\\Pi}");J("\\varSigma","\\mathit{\\Sigma}");J("\\varUpsilon","\\mathit{\\Upsilon}");J("\\varPhi","\\mathit{\\Phi}");J("\\varPsi","\\mathit{\\Psi}");J("\\varOmega","\\mathit{\\Omega}");J("\\substack","\\begin{subarray}{c}#1\\end{subarray}");J("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");J("\\boxed","\\fbox{$\\displaystyle{#1}$}");J("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");J("\\implies","\\DOTSB\\;\\Longrightarrow\\;");J("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");tz={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};J("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in tz?e=tz[r]:(r.slice(0,4)==="\\not"||r in dn.math&&Mt.contains(["bin","rel"],dn.math[r].group))&&(e="\\dotsb"),e});nC={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};J("\\dotso",function(t){var e=t.future().text;return e in nC?"\\ldots\\,":"\\ldots"});J("\\dotsc",function(t){var e=t.future().text;return e in nC&&e!==","?"\\ldots\\,":"\\ldots"});J("\\cdots",function(t){var e=t.future().text;return e in nC?"\\@cdots\\,":"\\@cdots"});J("\\dotsb","\\cdots");J("\\dotsm","\\cdots");J("\\dotsi","\\!\\cdots");J("\\dotsx","\\ldots\\,");J("\\DOTSI","\\relax");J("\\DOTSB","\\relax");J("\\DOTSX","\\relax");J("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");J("\\,","\\tmspace+{3mu}{.1667em}");J("\\thinspace","\\,");J("\\>","\\mskip{4mu}");J("\\:","\\tmspace+{4mu}{.2222em}");J("\\medspace","\\:");J("\\;","\\tmspace+{5mu}{.2777em}");J("\\thickspace","\\;");J("\\!","\\tmspace-{3mu}{.1667em}");J("\\negthinspace","\\!");J("\\negmedspace","\\tmspace-{4mu}{.2222em}");J("\\negthickspace","\\tmspace-{5mu}{.277em}");J("\\enspace","\\kern.5em ");J("\\enskip","\\hskip.5em\\relax");J("\\quad","\\hskip1em\\relax");J("\\qquad","\\hskip2em\\relax");J("\\tag","\\@ifstar\\tag@literal\\tag@paren");J("\\tag@paren","\\tag@literal{({#1})}");J("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new je("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});J("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");J("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");J("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");J("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");J("\\newline","\\\\\\relax");J("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");Xz=tt(zl["Main-Regular"][84][1]-.7*zl["Main-Regular"][65][1]);J("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Xz+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");J("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Xz+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");J("\\hspace","\\@ifstar\\@hspacer\\@hspace");J("\\@hspace","\\hskip #1\\relax");J("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");J("\\ordinarycolon",":");J("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");J("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');J("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');J("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');J("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');J("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');J("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');J("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');J("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');J("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');J("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');J("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');J("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');J("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');J("\u2237","\\dblcolon");J("\u2239","\\eqcolon");J("\u2254","\\coloneqq");J("\u2255","\\eqqcolon");J("\u2A74","\\Coloneqq");J("\\ratio","\\vcentcolon");J("\\coloncolon","\\dblcolon");J("\\colonequals","\\coloneqq");J("\\coloncolonequals","\\Coloneqq");J("\\equalscolon","\\eqqcolon");J("\\equalscoloncolon","\\Eqqcolon");J("\\colonminus","\\coloneq");J("\\coloncolonminus","\\Coloneq");J("\\minuscolon","\\eqcolon");J("\\minuscoloncolon","\\Eqcolon");J("\\coloncolonapprox","\\Colonapprox");J("\\coloncolonsim","\\Colonsim");J("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");J("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");J("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");J("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");J("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");J("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");J("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");J("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");J("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");J("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");J("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");J("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");J("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");J("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");J("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");J("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");J("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");J("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");J("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");J("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");J("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");J("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");J("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");J("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");J("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");J("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");J("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");J("\\imath","\\html@mathml{\\@imath}{\u0131}");J("\\jmath","\\html@mathml{\\@jmath}{\u0237}");J("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");J("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");J("\u27E6","\\llbracket");J("\u27E7","\\rrbracket");J("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");J("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");J("\u2983","\\lBrace");J("\u2984","\\rBrace");J("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");J("\u29B5","\\minuso");J("\\darr","\\downarrow");J("\\dArr","\\Downarrow");J("\\Darr","\\Downarrow");J("\\lang","\\langle");J("\\rang","\\rangle");J("\\uarr","\\uparrow");J("\\uArr","\\Uparrow");J("\\Uarr","\\Uparrow");J("\\N","\\mathbb{N}");J("\\R","\\mathbb{R}");J("\\Z","\\mathbb{Z}");J("\\alef","\\aleph");J("\\alefsym","\\aleph");J("\\Alpha","\\mathrm{A}");J("\\Beta","\\mathrm{B}");J("\\bull","\\bullet");J("\\Chi","\\mathrm{X}");J("\\clubs","\\clubsuit");J("\\cnums","\\mathbb{C}");J("\\Complex","\\mathbb{C}");J("\\Dagger","\\ddagger");J("\\diamonds","\\diamondsuit");J("\\empty","\\emptyset");J("\\Epsilon","\\mathrm{E}");J("\\Eta","\\mathrm{H}");J("\\exist","\\exists");J("\\harr","\\leftrightarrow");J("\\hArr","\\Leftrightarrow");J("\\Harr","\\Leftrightarrow");J("\\hearts","\\heartsuit");J("\\image","\\Im");J("\\infin","\\infty");J("\\Iota","\\mathrm{I}");J("\\isin","\\in");J("\\Kappa","\\mathrm{K}");J("\\larr","\\leftarrow");J("\\lArr","\\Leftarrow");J("\\Larr","\\Leftarrow");J("\\lrarr","\\leftrightarrow");J("\\lrArr","\\Leftrightarrow");J("\\Lrarr","\\Leftrightarrow");J("\\Mu","\\mathrm{M}");J("\\natnums","\\mathbb{N}");J("\\Nu","\\mathrm{N}");J("\\Omicron","\\mathrm{O}");J("\\plusmn","\\pm");J("\\rarr","\\rightarrow");J("\\rArr","\\Rightarrow");J("\\Rarr","\\Rightarrow");J("\\real","\\Re");J("\\reals","\\mathbb{R}");J("\\Reals","\\mathbb{R}");J("\\Rho","\\mathrm{P}");J("\\sdot","\\cdot");J("\\sect","\\S");J("\\spades","\\spadesuit");J("\\sub","\\subset");J("\\sube","\\subseteq");J("\\supe","\\supseteq");J("\\Tau","\\mathrm{T}");J("\\thetasym","\\vartheta");J("\\weierp","\\wp");J("\\Zeta","\\mathrm{Z}");J("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");J("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");J("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");J("\\bra","\\mathinner{\\langle{#1}|}");J("\\ket","\\mathinner{|{#1}\\rangle}");J("\\braket","\\mathinner{\\langle{#1}\\rangle}");J("\\Bra","\\left\\langle#1\\right|");J("\\Ket","\\left|#1\\right\\rangle");jz=s(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,o=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=s(d=>p=>{t&&(p.macros.set("|",o),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");J("\\bra@ket",jz(!1));J("\\bra@set",jz(!0));J("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");J("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");J("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");J("\\angln","{\\angl n}");J("\\blue","\\textcolor{##6495ed}{#1}");J("\\orange","\\textcolor{##ffa500}{#1}");J("\\pink","\\textcolor{##ff00af}{#1}");J("\\red","\\textcolor{##df0030}{#1}");J("\\green","\\textcolor{##28ae7b}{#1}");J("\\gray","\\textcolor{gray}{#1}");J("\\purple","\\textcolor{##9d38bd}{#1}");J("\\blueA","\\textcolor{##ccfaff}{#1}");J("\\blueB","\\textcolor{##80f6ff}{#1}");J("\\blueC","\\textcolor{##63d9ea}{#1}");J("\\blueD","\\textcolor{##11accd}{#1}");J("\\blueE","\\textcolor{##0c7f99}{#1}");J("\\tealA","\\textcolor{##94fff5}{#1}");J("\\tealB","\\textcolor{##26edd5}{#1}");J("\\tealC","\\textcolor{##01d1c1}{#1}");J("\\tealD","\\textcolor{##01a995}{#1}");J("\\tealE","\\textcolor{##208170}{#1}");J("\\greenA","\\textcolor{##b6ffb0}{#1}");J("\\greenB","\\textcolor{##8af281}{#1}");J("\\greenC","\\textcolor{##74cf70}{#1}");J("\\greenD","\\textcolor{##1fab54}{#1}");J("\\greenE","\\textcolor{##0d923f}{#1}");J("\\goldA","\\textcolor{##ffd0a9}{#1}");J("\\goldB","\\textcolor{##ffbb71}{#1}");J("\\goldC","\\textcolor{##ff9c39}{#1}");J("\\goldD","\\textcolor{##e07d10}{#1}");J("\\goldE","\\textcolor{##a75a05}{#1}");J("\\redA","\\textcolor{##fca9a9}{#1}");J("\\redB","\\textcolor{##ff8482}{#1}");J("\\redC","\\textcolor{##f9685d}{#1}");J("\\redD","\\textcolor{##e84d39}{#1}");J("\\redE","\\textcolor{##bc2612}{#1}");J("\\maroonA","\\textcolor{##ffbde0}{#1}");J("\\maroonB","\\textcolor{##ff92c6}{#1}");J("\\maroonC","\\textcolor{##ed5fa6}{#1}");J("\\maroonD","\\textcolor{##ca337c}{#1}");J("\\maroonE","\\textcolor{##9e034e}{#1}");J("\\purpleA","\\textcolor{##ddd7ff}{#1}");J("\\purpleB","\\textcolor{##c6b9fc}{#1}");J("\\purpleC","\\textcolor{##aa87ff}{#1}");J("\\purpleD","\\textcolor{##7854ab}{#1}");J("\\purpleE","\\textcolor{##543b78}{#1}");J("\\mintA","\\textcolor{##f5f9e8}{#1}");J("\\mintB","\\textcolor{##edf2df}{#1}");J("\\mintC","\\textcolor{##e0e5cc}{#1}");J("\\grayA","\\textcolor{##f6f7f7}{#1}");J("\\grayB","\\textcolor{##f0f1f2}{#1}");J("\\grayC","\\textcolor{##e3e5e6}{#1}");J("\\grayD","\\textcolor{##d6d8da}{#1}");J("\\grayE","\\textcolor{##babec2}{#1}");J("\\grayF","\\textcolor{##888d93}{#1}");J("\\grayG","\\textcolor{##626569}{#1}");J("\\grayH","\\textcolor{##3b3e40}{#1}");J("\\grayI","\\textcolor{##21242c}{#1}");J("\\kaBlue","\\textcolor{##314453}{#1}");J("\\kaGreen","\\textcolor{##71B307}{#1}");Kz={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},GE=class{static{s(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new $E(Zve,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new Gb(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new go("EOF",n.loc)),this.pushTokens(i),r.range(n,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,o=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++o;else if(a.text==="}"){if(--o,o===-1)throw new je("Extra }",a)}else if(a.text==="EOF")throw new je("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((o===0||o===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(o!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new je("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new je("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new je("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,o=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new je("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...o[+u.text-1]);else throw new je("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new go(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var o=i.replace(/##/g,"");o.indexOf("#"+(a+1))!==-1;)++a;for(var l=new Gb(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||sh.hasOwnProperty(e)||dn.math.hasOwnProperty(e)||dn.text.hasOwnProperty(e)||Kz.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:sh.hasOwnProperty(e)&&!sh[e].primitive}},rz=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Mb=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),LE={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},nz={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},Vb=class t{static{s(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new GE(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new je("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new go("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&sh[i.text]&&sh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=dn[this.mode][r].group,u=$s.range(e),h;if(Uye.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};o=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(az(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:$s.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),ip.default.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var ip,zf,n2e,i2e,n$,t$,$r,s2e,o2e,l2e,c2e,i$,u2e,hr,h2e,f2e,uh,sC,d2e,p2e,r$,oC,Ei,$f,hh,$e,Qt=_(()=>{"use strict";ip=ka(yE(),1),zf=//gi,n2e=s(t=>t?i$(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),i2e=(()=>{let t=!1;return()=>{t||(a2e(),t=!0)}})();s(a2e,"setupDompurifyHooks");n$=s(t=>(i2e(),ip.default.sanitize(t)),"removeScript"),t$=s((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=n$(t):r!=="loose"&&(t=i$(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=c2e(t))}return t},"sanitizeMore"),$r=s((t,e)=>t&&(e.dompurifyConfig?t=ip.default.sanitize(t$(t,e),e.dompurifyConfig).toString():t=ip.default.sanitize(t$(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),s2e=s((t,e)=>typeof t=="string"?$r(t,e):t.flat().map(r=>$r(r,e)),"sanitizeTextOrArray"),o2e=s(t=>zf.test(t),"hasBreaks"),l2e=s(t=>t.split(zf),"splitBreaks"),c2e=s(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),i$=s(t=>t.replace(zf,"#br#"),"breakToPlaceholder"),u2e=s(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},"getUrl"),hr=s(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),h2e=s(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),f2e=s(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),uh=s(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),d2e=s((t,e)=>{let r=sC(t,"~"),n=sC(e,"~");return r===1&&n===1},"shouldCombineSets"),p2e=s(t=>{let e=sC(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),r$=s(()=>window.MathMLElement!==void 0,"isMathMLSupported"),oC=/\$\$(.*)\$\$/g,Ei=s(t=>(t.match(oC)?.length??0)>0,"hasKatex"),$f=s(async(t,e)=>{t=await hh(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),hh=s(async(t,e)=>{if(!Ei(t))return t;if(!(r$()||e.legacyMathML||e.forceLegacyMathML))return t.replace(oC,"MathML is unsupported in this environment.");let{default:r}=await Promise.resolve().then(()=>(e$(),Jz)),n=e.forceLegacyMathML||!r$()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(zf).map(i=>Ei(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(oC,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),$e={getRows:n2e,sanitizeText:$r,sanitizeTextOrArray:s2e,hasBreaks:o2e,splitBreaks:l2e,lineBreakRegex:zf,removeScript:n$,getUrl:u2e,evaluate:hr,getMax:h2e,getMin:f2e}});var m2e,g2e,xr,ql,Un=_(()=>{"use strict";it();m2e=s(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),g2e=s(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),xr=s(function(t,e,r,n){let i=g2e(e,r,n);m2e(t,i)},"configureSvgSize"),ql=s(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,o=i.height;V.info(`SVG bounds: ${a}x${o}`,i);let l=0,u=0;V.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=o+r*2,V.info(`Calculated bounds: ${l}x${u}`),xr(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var jb,y2e,a$,s$,lC=_(()=>{"use strict";it();jb={},y2e=s((t,e,r)=>{let n="";return t in jb&&jb[t]?n=jb[t](r):V.warn(`No theme found for ${t}`),` & { +?)[ \r ]*`,L7="[\u0300-\u036F]",vbe=new RegExp(L7+"+$"),xbe="("+yG+"+)|"+(ybe+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(L7+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(L7+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+gbe)+("|"+mbe+")"),v4=class{static{o(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(xbe,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new Ao("EOF",new Xs(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new nt("Unexpected character: '"+e[r]+"'",new Ao(e[r],new Xs(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new Ao(i,new Xs(this,r,this.tokenRegex.lastIndex))}},D7=class{static{o(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new nt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},bbe=sG;le("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});le("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});le("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});le("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});le("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});le("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");le("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});E$={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};le("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new nt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=E$[e.text],n==null||n>=r)throw new nt("Invalid base-"+r+" digit "+e.text);for(var i;(i=E$[t.future().text])!=null&&i{var n=t.consumeArg().tokens;if(n.length!==1)throw new nt("\\newcommand's first argument must be a macro name");var i=n[0].text,a=t.isDefined(i);if(a&&!e)throw new nt("\\newcommand{"+i+"} attempting to redefine "+(i+"; use \\renewcommand"));if(!a&&!r)throw new nt("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var s=0;if(n=t.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new nt("Invalid number of arguments: "+l);s=parseInt(l),n=t.consumeArg().tokens}return t.macros.set(i,{tokens:n,numArgs:s}),""},"newcommand");le("\\newcommand",t=>W7(t,!1,!0));le("\\renewcommand",t=>W7(t,!0,!1));le("\\providecommand",t=>W7(t,!0,!0));le("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});le("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});le("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),fh[r],wn.math[r],wn.text[r]),""});le("\\bgroup","{");le("\\egroup","}");le("~","\\nobreakspace");le("\\lq","`");le("\\rq","'");le("\\aa","\\r a");le("\\AA","\\r A");le("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");le("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");le("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");le("\u212C","\\mathscr{B}");le("\u2130","\\mathscr{E}");le("\u2131","\\mathscr{F}");le("\u210B","\\mathscr{H}");le("\u2110","\\mathscr{I}");le("\u2112","\\mathscr{L}");le("\u2133","\\mathscr{M}");le("\u211B","\\mathscr{R}");le("\u212D","\\mathfrak{C}");le("\u210C","\\mathfrak{H}");le("\u2128","\\mathfrak{Z}");le("\\Bbbk","\\Bbb{k}");le("\xB7","\\cdotp");le("\\llap","\\mathllap{\\textrm{#1}}");le("\\rlap","\\mathrlap{\\textrm{#1}}");le("\\clap","\\mathclap{\\textrm{#1}}");le("\\mathstrut","\\vphantom{(}");le("\\underbar","\\underline{\\text{#1}}");le("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');le("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");le("\\ne","\\neq");le("\u2260","\\neq");le("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");le("\u2209","\\notin");le("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");le("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");le("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");le("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");le("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");le("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");le("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");le("\u27C2","\\perp");le("\u203C","\\mathclose{!\\mkern-0.8mu!}");le("\u220C","\\notni");le("\u231C","\\ulcorner");le("\u231D","\\urcorner");le("\u231E","\\llcorner");le("\u231F","\\lrcorner");le("\xA9","\\copyright");le("\xAE","\\textregistered");le("\uFE0F","\\textregistered");le("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');le("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');le("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');le("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');le("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}");le("\u22EE","\\vdots");le("\\varGamma","\\mathit{\\Gamma}");le("\\varDelta","\\mathit{\\Delta}");le("\\varTheta","\\mathit{\\Theta}");le("\\varLambda","\\mathit{\\Lambda}");le("\\varXi","\\mathit{\\Xi}");le("\\varPi","\\mathit{\\Pi}");le("\\varSigma","\\mathit{\\Sigma}");le("\\varUpsilon","\\mathit{\\Upsilon}");le("\\varPhi","\\mathit{\\Phi}");le("\\varPsi","\\mathit{\\Psi}");le("\\varOmega","\\mathit{\\Omega}");le("\\substack","\\begin{subarray}{c}#1\\end{subarray}");le("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");le("\\boxed","\\fbox{$\\displaystyle{#1}$}");le("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");le("\\implies","\\DOTSB\\;\\Longrightarrow\\;");le("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");C$={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};le("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in C$?e=C$[r]:(r.slice(0,4)==="\\not"||r in wn.math&&Vt.contains(["bin","rel"],wn.math[r].group))&&(e="\\dotsb"),e});q7={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};le("\\dotso",function(t){var e=t.future().text;return e in q7?"\\ldots\\,":"\\ldots"});le("\\dotsc",function(t){var e=t.future().text;return e in q7&&e!==","?"\\ldots\\,":"\\ldots"});le("\\cdots",function(t){var e=t.future().text;return e in q7?"\\@cdots\\,":"\\@cdots"});le("\\dotsb","\\cdots");le("\\dotsm","\\cdots");le("\\dotsi","\\!\\cdots");le("\\dotsx","\\ldots\\,");le("\\DOTSI","\\relax");le("\\DOTSB","\\relax");le("\\DOTSX","\\relax");le("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");le("\\,","\\tmspace+{3mu}{.1667em}");le("\\thinspace","\\,");le("\\>","\\mskip{4mu}");le("\\:","\\tmspace+{4mu}{.2222em}");le("\\medspace","\\:");le("\\;","\\tmspace+{5mu}{.2777em}");le("\\thickspace","\\;");le("\\!","\\tmspace-{3mu}{.1667em}");le("\\negthinspace","\\!");le("\\negmedspace","\\tmspace-{4mu}{.2222em}");le("\\negthickspace","\\tmspace-{5mu}{.277em}");le("\\enspace","\\kern.5em ");le("\\enskip","\\hskip.5em\\relax");le("\\quad","\\hskip1em\\relax");le("\\qquad","\\hskip2em\\relax");le("\\tag","\\@ifstar\\tag@literal\\tag@paren");le("\\tag@paren","\\tag@literal{({#1})}");le("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new nt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});le("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");le("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");le("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");le("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");le("\\newline","\\\\\\relax");le("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");vG=ct(Zl["Main-Regular"][84][1]-.7*Zl["Main-Regular"][65][1]);le("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+vG+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");le("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+vG+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");le("\\hspace","\\@ifstar\\@hspacer\\@hspace");le("\\@hspace","\\hskip #1\\relax");le("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");le("\\ordinarycolon",":");le("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");le("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');le("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');le("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');le("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');le("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');le("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');le("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');le("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');le("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');le("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');le("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');le("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');le("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');le("\u2237","\\dblcolon");le("\u2239","\\eqcolon");le("\u2254","\\coloneqq");le("\u2255","\\eqqcolon");le("\u2A74","\\Coloneqq");le("\\ratio","\\vcentcolon");le("\\coloncolon","\\dblcolon");le("\\colonequals","\\coloneqq");le("\\coloncolonequals","\\Coloneqq");le("\\equalscolon","\\eqqcolon");le("\\equalscoloncolon","\\Eqqcolon");le("\\colonminus","\\coloneq");le("\\coloncolonminus","\\Coloneq");le("\\minuscolon","\\eqcolon");le("\\minuscoloncolon","\\Eqcolon");le("\\coloncolonapprox","\\Colonapprox");le("\\coloncolonsim","\\Colonsim");le("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");le("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");le("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");le("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");le("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");le("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");le("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");le("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");le("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");le("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");le("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");le("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");le("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");le("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");le("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");le("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");le("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");le("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");le("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");le("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");le("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");le("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");le("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");le("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");le("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");le("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");le("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");le("\\imath","\\html@mathml{\\@imath}{\u0131}");le("\\jmath","\\html@mathml{\\@jmath}{\u0237}");le("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");le("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");le("\u27E6","\\llbracket");le("\u27E7","\\rrbracket");le("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");le("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");le("\u2983","\\lBrace");le("\u2984","\\rBrace");le("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");le("\u29B5","\\minuso");le("\\darr","\\downarrow");le("\\dArr","\\Downarrow");le("\\Darr","\\Downarrow");le("\\lang","\\langle");le("\\rang","\\rangle");le("\\uarr","\\uparrow");le("\\uArr","\\Uparrow");le("\\Uarr","\\Uparrow");le("\\N","\\mathbb{N}");le("\\R","\\mathbb{R}");le("\\Z","\\mathbb{Z}");le("\\alef","\\aleph");le("\\alefsym","\\aleph");le("\\Alpha","\\mathrm{A}");le("\\Beta","\\mathrm{B}");le("\\bull","\\bullet");le("\\Chi","\\mathrm{X}");le("\\clubs","\\clubsuit");le("\\cnums","\\mathbb{C}");le("\\Complex","\\mathbb{C}");le("\\Dagger","\\ddagger");le("\\diamonds","\\diamondsuit");le("\\empty","\\emptyset");le("\\Epsilon","\\mathrm{E}");le("\\Eta","\\mathrm{H}");le("\\exist","\\exists");le("\\harr","\\leftrightarrow");le("\\hArr","\\Leftrightarrow");le("\\Harr","\\Leftrightarrow");le("\\hearts","\\heartsuit");le("\\image","\\Im");le("\\infin","\\infty");le("\\Iota","\\mathrm{I}");le("\\isin","\\in");le("\\Kappa","\\mathrm{K}");le("\\larr","\\leftarrow");le("\\lArr","\\Leftarrow");le("\\Larr","\\Leftarrow");le("\\lrarr","\\leftrightarrow");le("\\lrArr","\\Leftrightarrow");le("\\Lrarr","\\Leftrightarrow");le("\\Mu","\\mathrm{M}");le("\\natnums","\\mathbb{N}");le("\\Nu","\\mathrm{N}");le("\\Omicron","\\mathrm{O}");le("\\plusmn","\\pm");le("\\rarr","\\rightarrow");le("\\rArr","\\Rightarrow");le("\\Rarr","\\Rightarrow");le("\\real","\\Re");le("\\reals","\\mathbb{R}");le("\\Reals","\\mathbb{R}");le("\\Rho","\\mathrm{P}");le("\\sdot","\\cdot");le("\\sect","\\S");le("\\spades","\\spadesuit");le("\\sub","\\subset");le("\\sube","\\subseteq");le("\\supe","\\supseteq");le("\\Tau","\\mathrm{T}");le("\\thetasym","\\vartheta");le("\\weierp","\\wp");le("\\Zeta","\\mathrm{Z}");le("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");le("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");le("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");le("\\bra","\\mathinner{\\langle{#1}|}");le("\\ket","\\mathinner{|{#1}\\rangle}");le("\\braket","\\mathinner{\\langle{#1}\\rangle}");le("\\Bra","\\left\\langle#1\\right|");le("\\Ket","\\left|#1\\right\\rangle");xG=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");le("\\bra@ket",xG(!1));le("\\bra@set",xG(!0));le("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");le("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");le("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");le("\\angln","{\\angl n}");le("\\blue","\\textcolor{##6495ed}{#1}");le("\\orange","\\textcolor{##ffa500}{#1}");le("\\pink","\\textcolor{##ff00af}{#1}");le("\\red","\\textcolor{##df0030}{#1}");le("\\green","\\textcolor{##28ae7b}{#1}");le("\\gray","\\textcolor{gray}{#1}");le("\\purple","\\textcolor{##9d38bd}{#1}");le("\\blueA","\\textcolor{##ccfaff}{#1}");le("\\blueB","\\textcolor{##80f6ff}{#1}");le("\\blueC","\\textcolor{##63d9ea}{#1}");le("\\blueD","\\textcolor{##11accd}{#1}");le("\\blueE","\\textcolor{##0c7f99}{#1}");le("\\tealA","\\textcolor{##94fff5}{#1}");le("\\tealB","\\textcolor{##26edd5}{#1}");le("\\tealC","\\textcolor{##01d1c1}{#1}");le("\\tealD","\\textcolor{##01a995}{#1}");le("\\tealE","\\textcolor{##208170}{#1}");le("\\greenA","\\textcolor{##b6ffb0}{#1}");le("\\greenB","\\textcolor{##8af281}{#1}");le("\\greenC","\\textcolor{##74cf70}{#1}");le("\\greenD","\\textcolor{##1fab54}{#1}");le("\\greenE","\\textcolor{##0d923f}{#1}");le("\\goldA","\\textcolor{##ffd0a9}{#1}");le("\\goldB","\\textcolor{##ffbb71}{#1}");le("\\goldC","\\textcolor{##ff9c39}{#1}");le("\\goldD","\\textcolor{##e07d10}{#1}");le("\\goldE","\\textcolor{##a75a05}{#1}");le("\\redA","\\textcolor{##fca9a9}{#1}");le("\\redB","\\textcolor{##ff8482}{#1}");le("\\redC","\\textcolor{##f9685d}{#1}");le("\\redD","\\textcolor{##e84d39}{#1}");le("\\redE","\\textcolor{##bc2612}{#1}");le("\\maroonA","\\textcolor{##ffbde0}{#1}");le("\\maroonB","\\textcolor{##ff92c6}{#1}");le("\\maroonC","\\textcolor{##ed5fa6}{#1}");le("\\maroonD","\\textcolor{##ca337c}{#1}");le("\\maroonE","\\textcolor{##9e034e}{#1}");le("\\purpleA","\\textcolor{##ddd7ff}{#1}");le("\\purpleB","\\textcolor{##c6b9fc}{#1}");le("\\purpleC","\\textcolor{##aa87ff}{#1}");le("\\purpleD","\\textcolor{##7854ab}{#1}");le("\\purpleE","\\textcolor{##543b78}{#1}");le("\\mintA","\\textcolor{##f5f9e8}{#1}");le("\\mintB","\\textcolor{##edf2df}{#1}");le("\\mintC","\\textcolor{##e0e5cc}{#1}");le("\\grayA","\\textcolor{##f6f7f7}{#1}");le("\\grayB","\\textcolor{##f0f1f2}{#1}");le("\\grayC","\\textcolor{##e3e5e6}{#1}");le("\\grayD","\\textcolor{##d6d8da}{#1}");le("\\grayE","\\textcolor{##babec2}{#1}");le("\\grayF","\\textcolor{##888d93}{#1}");le("\\grayG","\\textcolor{##626569}{#1}");le("\\grayH","\\textcolor{##3b3e40}{#1}");le("\\grayI","\\textcolor{##21242c}{#1}");le("\\kaBlue","\\textcolor{##314453}{#1}");le("\\kaGreen","\\textcolor{##71B307}{#1}");bG={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},R7=class{static{o(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new D7(bbe,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new v4(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new Ao("EOF",n.loc)),this.pushTokens(i),r.range(n,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new nt("Extra }",a)}else if(a.text==="EOF")throw new nt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new nt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new nt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new nt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new nt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new nt("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Ao(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new v4(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||fh.hasOwnProperty(e)||wn.math.hasOwnProperty(e)||wn.text.hasOwnProperty(e)||bG.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:fh.hasOwnProperty(e)&&!fh[e].primitive}},S$=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,c4=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),x7={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},A$={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},x4=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new R7(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new nt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new Ao("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&fh[i.text]&&fh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=wn[this.mode][r].group,u=Xs.range(e),h;if(hxe.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(L$(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Xs.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),bp.default.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var bp,Qf,Cbe,Sbe,AG,CG,qr,_be,Lbe,Dbe,Rbe,_G,Nbe,yr,Mbe,Ibe,gh,K7,Obe,Pbe,SG,Q7,Ni,Zf,yh,We,rr=R(()=>{"use strict";bp=Xi(o7(),1),Qf=//gi,Cbe=o(t=>t?_G(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Sbe=(()=>{let t=!1;return()=>{t||(Abe(),t=!0)}})();o(Abe,"setupDompurifyHooks");AG=o(t=>(Sbe(),bp.default.sanitize(t)),"removeScript"),CG=o((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=AG(t):r!=="loose"&&(t=_G(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Rbe(t))}return t},"sanitizeMore"),qr=o((t,e)=>t&&(e.dompurifyConfig?t=bp.default.sanitize(CG(t,e),e.dompurifyConfig).toString():t=bp.default.sanitize(CG(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),_be=o((t,e)=>typeof t=="string"?qr(t,e):t.flat().map(r=>qr(r,e)),"sanitizeTextOrArray"),Lbe=o(t=>Qf.test(t),"hasBreaks"),Dbe=o(t=>t.split(Qf),"splitBreaks"),Rbe=o(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),_G=o(t=>t.replace(Qf,"#br#"),"breakToPlaceholder"),Nbe=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},"getUrl"),yr=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Mbe=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),Ibe=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),gh=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),Obe=o((t,e)=>{let r=K7(t,"~"),n=K7(e,"~");return r===1&&n===1},"shouldCombineSets"),Pbe=o(t=>{let e=K7(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),SG=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),Q7=/\$\$(.*)\$\$/g,Ni=o(t=>(t.match(Q7)?.length??0)>0,"hasKatex"),Zf=o(async(t,e)=>{t=await yh(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),yh=o(async(t,e)=>{if(!Ni(t))return t;if(!(SG()||e.legacyMathML||e.forceLegacyMathML))return t.replace(Q7,"MathML is unsupported in this environment.");let{default:r}=await Promise.resolve().then(()=>(EG(),kG)),n=e.forceLegacyMathML||!SG()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(Qf).map(i=>Ni(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(Q7,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),We={getRows:Cbe,sanitizeText:qr,sanitizeTextOrArray:_be,hasBreaks:Lbe,splitBreaks:Dbe,lineBreakRegex:Qf,removeScript:AG,getUrl:Nbe,evaluate:yr,getMax:Mbe,getMin:Ibe}});var Bbe,Fbe,Sr,Lo,Yn=R(()=>{"use strict";ut();Bbe=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Fbe=o(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Sr=o(function(t,e,r,n){let i=Fbe(e,r,n);Bbe(t,i)},"configureSvgSize"),Lo=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;V.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;V.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,V.info(`Calculated bounds: ${l}x${u}`),Sr(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var S4,zbe,LG,DG,Z7=R(()=>{"use strict";ut();S4={},zbe=o((t,e,r)=>{let n="";return t in S4&&S4[t]?n=S4[t](r):V.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -325,93 +325,93 @@ l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, ${n} ${e} -`},"getStyles"),a$=s((t,e)=>{e!==void 0&&(jb[t]=e)},"addStylesForDiagram"),s$=y2e});var q1={};ur(q1,{clear:()=>br,getAccDescription:()=>Ur,getAccTitle:()=>Gr,getDiagramTitle:()=>Qr,setAccDescription:()=>Vr,setAccTitle:()=>Ar,setDiagramTitle:()=>an});var cC,uC,hC,fC,br,Ar,Gr,Vr,Ur,an,Qr,Ci=_(()=>{"use strict";Qt();zs();cC="",uC="",hC="",fC=s(t=>$r(t,_r()),"sanitizeText"),br=s(()=>{cC="",hC="",uC=""},"clear"),Ar=s(t=>{cC=fC(t).replace(/^\s+/g,"")},"setAccTitle"),Gr=s(()=>cC,"getAccTitle"),Vr=s(t=>{hC=fC(t).replace(/\n\s+/g,` -`)},"setAccDescription"),Ur=s(()=>hC,"getAccDescription"),an=s(t=>{uC=fC(t)},"setDiagramTitle"),Qr=s(()=>uC,"getDiagramTitle")});var o$,v2e,le,pC,Qb,x2e,mC,b2e,Kb,Gf,W1,dC,gt=_(()=>{"use strict";Mf();it();zs();Qt();Un();lC();Ci();o$=V,v2e=E1,le=_r,pC=kb,Qb=ih,x2e=s(t=>$r(t,le()),"sanitizeText"),mC=ql,b2e=s(()=>q1,"getCommonDb"),Kb={},Gf=s((t,e,r)=>{Kb[t]&&o$.warn(`Diagram with id ${t} already registered. Overwriting.`),Kb[t]=e,r&&Q7(t,r),a$(t,e.styles),e.injectUtils?.(o$,v2e,le,x2e,mC,b2e(),()=>{})},"registerDiagram"),W1=s(t=>{if(t in Kb)return Kb[t];throw new dC(t)},"getDiagram"),dC=class extends Error{static{s(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var Ko,fh,Ga,jo,Wl,H1,gC,yC,Zb,Jb,l$,k2e,w2e,T2e,E2e,C2e,S2e,_2e,A2e,L2e,D2e,R2e,M2e,I2e,N2e,O2e,P2e,B2e,c$,F2e,z2e,u$,$2e,G2e,V2e,U2e,dh,q2e,W2e,H2e,Y2e,X2e,Y1,vC=_(()=>{"use strict";gt();Qt();Ci();Ko=[],fh=[""],Ga="global",jo="",Wl=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],H1=[],gC="",yC=!1,Zb=4,Jb=2,k2e=s(function(){return l$},"getC4Type"),w2e=s(function(t){l$=$r(t,le())},"setC4Type"),T2e=s(function(t,e,r,n,i,a,o,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=H1.find(d=>d.from===e&&d.to===r);if(f?h=f:H1.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof o=="object"){let[d,p]=Object.entries(o)[0];h[d]=p}else h.sprite=o;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=dh()},"addRel"),E2e=s(function(t,e,r,n,i,a,o){if(e===null||r===null)return;let l={},u=Ko.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Ko.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof o=="object"){let[h,f]=Object.entries(o)[0];l[h]=f}else l.link=o;l.typeC4Shape={text:t},l.parentBoundary=Ga,l.wrap=dh()},"addPersonOrSystem"),C2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Ko.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Ko.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Ga},"addContainer"),S2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Ko.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Ko.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Ga},"addComponent"),_2e=s(function(t,e,r,n,i){if(t===null||e===null)return;let a={},o=Wl.find(l=>l.alias===t);if(o&&t===o.alias?a=o:(a.alias=t,Wl.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Ga,a.wrap=dh(),jo=Ga,Ga=t,fh.push(jo)},"addPersonOrSystemBoundary"),A2e=s(function(t,e,r,n,i){if(t===null||e===null)return;let a={},o=Wl.find(l=>l.alias===t);if(o&&t===o.alias?a=o:(a.alias=t,Wl.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Ga,a.wrap=dh(),jo=Ga,Ga=t,fh.push(jo)},"addContainerBoundary"),L2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Wl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Wl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=Ga,u.wrap=dh(),jo=Ga,Ga=e,fh.push(jo)},"addDeploymentNode"),D2e=s(function(){Ga=jo,fh.pop(),jo=fh.pop(),fh.push(jo)},"popBoundaryParseStack"),R2e=s(function(t,e,r,n,i,a,o,l,u,h,f){let d=Ko.find(p=>p.alias===e);if(!(d===void 0&&(d=Wl.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(o!=null)if(typeof o=="object"){let[p,m]=Object.entries(o)[0];d[p]=m}else d.shape=o;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),M2e=s(function(t,e,r,n,i,a,o){let l=H1.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(o!=null)if(typeof o=="object"){let[u,h]=Object.entries(o)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(o)}},"updateRelStyle"),I2e=s(function(t,e,r){let n=Zb,i=Jb;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(Zb=n),i>=1&&(Jb=i)},"updateLayoutConfig"),N2e=s(function(){return Zb},"getC4ShapeInRow"),O2e=s(function(){return Jb},"getC4BoundaryInRow"),P2e=s(function(){return Ga},"getCurrentBoundaryParse"),B2e=s(function(){return jo},"getParentBoundaryParse"),c$=s(function(t){return t==null?Ko:Ko.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),F2e=s(function(t){return Ko.find(e=>e.alias===t)},"getC4Shape"),z2e=s(function(t){return Object.keys(c$(t))},"getC4ShapeKeys"),u$=s(function(t){return t==null?Wl:Wl.filter(e=>e.parentBoundary===t)},"getBoundaries"),$2e=u$,G2e=s(function(){return H1},"getRels"),V2e=s(function(){return gC},"getTitle"),U2e=s(function(t){yC=t},"setWrap"),dh=s(function(){return yC},"autoWrap"),q2e=s(function(){Ko=[],Wl=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],jo="",Ga="global",fh=[""],H1=[],fh=[""],gC="",yC=!1,Zb=4,Jb=2},"clear"),W2e={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},H2e={FILLED:0,OPEN:1},Y2e={LEFTOF:0,RIGHTOF:1,OVER:2},X2e=s(function(t){gC=$r(t,le())},"setTitle"),Y1={addPersonOrSystem:E2e,addPersonOrSystemBoundary:_2e,addContainer:C2e,addContainerBoundary:A2e,addComponent:S2e,addDeploymentNode:L2e,popBoundaryParseStack:D2e,addRel:T2e,updateElStyle:R2e,updateRelStyle:M2e,updateLayoutConfig:I2e,autoWrap:dh,setWrap:U2e,getC4ShapeArray:c$,getC4Shape:F2e,getC4ShapeKeys:z2e,getBoundaries:u$,getBoundarys:$2e,getCurrentBoundaryParse:P2e,getParentBoundaryParse:B2e,getRels:G2e,getTitle:V2e,getC4Type:k2e,getC4ShapeInRow:N2e,getC4BoundaryInRow:O2e,setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,setAccDescription:Vr,getConfig:s(()=>le().c4,"getConfig"),clear:q2e,LINETYPE:W2e,ARROWTYPE:H2e,PLACEMENT:Y2e,setTitle:X2e,setC4Type:w2e}});function Vf(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var xC=_(()=>{"use strict";s(Vf,"ascending")});function bC(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var h$=_(()=>{"use strict";s(bC,"descending")});function Uf(t){let e,r,n;t.length!==2?(e=Vf,r=s((l,u)=>Vf(t(l),u),"compare2"),n=s((l,u)=>t(l)-u,"delta")):(e=t===Vf||t===bC?t:j2e,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return s(o,"center"),{left:i,center:o,right:a}}function j2e(){return 0}var kC=_(()=>{"use strict";xC();h$();s(Uf,"bisector");s(j2e,"zero")});function wC(t){return t===null?NaN:+t}var f$=_(()=>{"use strict";s(wC,"number")});var d$,p$,K2e,Q2e,TC,m$=_(()=>{"use strict";xC();kC();f$();d$=Uf(Vf),p$=d$.right,K2e=d$.left,Q2e=Uf(wC).center,TC=p$});function g$({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function Z2e({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function J2e({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function exe(t){return t!==null&&typeof t=="object"?t.valueOf():t}var ap,y$=_(()=>{"use strict";ap=class extends Map{static{s(this,"InternMap")}constructor(e,r=exe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(g$(this,e))}has(e){return super.has(g$(this,e))}set(e,r){return super.set(Z2e(this,e),r)}delete(e){return super.delete(J2e(this,e))}};s(g$,"intern_get");s(Z2e,"intern_set");s(J2e,"intern_delete");s(exe,"keyof")});function e4(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),o=a>=txe?10:a>=rxe?5:a>=nxe?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/o,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*o,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(o<0)for(let h=0;h{"use strict";txe=Math.sqrt(50),rxe=Math.sqrt(10),nxe=Math.sqrt(2);s(e4,"tickSpec");s(t4,"ticks");s(X1,"tickIncrement");s(sp,"tickStep")});function r4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var x$=_(()=>{"use strict";s(r4,"max")});function n4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var b$=_(()=>{"use strict";s(n4,"min")});function i4(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";s(i4,"range")});var ph=_(()=>{"use strict";m$();kC();x$();b$();k$();v$();y$()});function EC(t){return t}var w$=_(()=>{"use strict";s(EC,"default")});function ixe(t){return"translate("+t+",0)"}function axe(t){return"translate(0,"+t+")"}function sxe(t){return e=>+t(e)}function oxe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function lxe(){return!this.__axis}function E$(t,e){var r=[],n=null,i=null,a=6,o=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===s4||t===a4?-1:1,f=t===a4||t===CC?"x":"y",d=t===s4||t===SC?ixe:axe;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):EC),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,k=+x[x.length-1]+u,A=(e.bandwidth?oxe:sxe)(e.copy(),u),w=m.selection?m.selection():m,T=w.selectAll(".domain").data([null]),C=w.selectAll(".tick").data(g,e).order(),E=C.exit(),S=C.enter().append("g").attr("class","tick"),R=C.select("line"),D=C.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(S),R=R.merge(S.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),D=D.merge(S.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===s4?"0em":t===SC?"0.71em":"0.32em")),m!==w&&(T=T.transition(m),C=C.transition(m),R=R.transition(m),D=D.transition(m),E=E.transition(m).attr("opacity",T$).attr("transform",function(L){return isFinite(L=A(L))?d(L+u):this.getAttribute("transform")}),S.attr("opacity",T$).attr("transform",function(L){var P=this.parentNode.__axis;return d((P&&isFinite(P=P(L))?P:A(L))+u)})),E.remove(),T.attr("d",t===a4||t===CC?o?"M"+h*o+","+b+"H"+u+"V"+k+"H"+h*o:"M"+u+","+b+"V"+k:o?"M"+b+","+h*o+"V"+u+"H"+k+"V"+h*o:"M"+b+","+u+"H"+k),C.attr("opacity",1).attr("transform",function(L){return d(A(L)+u)}),R.attr(f+"2",h*a),D.attr(f,h*v).text(y),w.filter(lxe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===CC?"start":t===a4?"end":"middle"),w.each(function(){this.__axis=A})}return s(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=o=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(o=+m,p):o},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function _C(t){return E$(s4,t)}function AC(t){return E$(SC,t)}var s4,CC,SC,a4,T$,C$=_(()=>{"use strict";w$();s4=1,CC=2,SC=3,a4=4,T$=1e-6;s(ixe,"translateX");s(axe,"translateY");s(sxe,"number");s(oxe,"center");s(lxe,"entering");s(E$,"axis");s(_C,"axisTop");s(AC,"axisBottom")});var S$=_(()=>{"use strict";C$()});function A$(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}function hxe(t,e){for(var r=0,n=t.length,i;r{"use strict";cxe={value:s(()=>{},"value")};s(A$,"dispatch");s(o4,"Dispatch");s(uxe,"parseTypenames");o4.prototype=A$.prototype={constructor:o4,on:s(function(t,e){var r=this._,n=uxe(t+"",r),i,a=-1,o=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";L$()});var l4,RC,MC=_(()=>{"use strict";l4="http://www.w3.org/1999/xhtml",RC={svg:"http://www.w3.org/2000/svg",xhtml:l4,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function Hl(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),RC.hasOwnProperty(e)?{space:RC[e],local:t}:t}var c4=_(()=>{"use strict";MC();s(Hl,"default")});function fxe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===l4&&e.documentElement.namespaceURI===l4?e.createElement(t):e.createElementNS(r,t)}}function dxe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function j1(t){var e=Hl(t);return(e.local?dxe:fxe)(e)}var IC=_(()=>{"use strict";c4();MC();s(fxe,"creatorInherit");s(dxe,"creatorFixed");s(j1,"default")});function pxe(){}function mh(t){return t==null?pxe:function(){return this.querySelector(t)}}var u4=_(()=>{"use strict";s(pxe,"none");s(mh,"default")});function NC(t){typeof t!="function"&&(t=mh(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Qo();u4();s(NC,"default")});function OC(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var R$=_(()=>{"use strict";s(OC,"array")});function mxe(){return[]}function op(t){return t==null?mxe:function(){return this.querySelectorAll(t)}}var PC=_(()=>{"use strict";s(mxe,"empty");s(op,"default")});function gxe(t){return function(){return OC(t.apply(this,arguments))}}function BC(t){typeof t=="function"?t=gxe(t):t=op(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";Qo();R$();PC();s(gxe,"arrayAll");s(BC,"default")});function lp(t){return function(){return this.matches(t)}}function h4(t){return function(e){return e.matches(t)}}var K1=_(()=>{"use strict";s(lp,"default");s(h4,"childMatcher")});function vxe(t){return function(){return yxe.call(this.children,t)}}function xxe(){return this.firstElementChild}function FC(t){return this.select(t==null?xxe:vxe(typeof t=="function"?t:h4(t)))}var yxe,I$=_(()=>{"use strict";K1();yxe=Array.prototype.find;s(vxe,"childFind");s(xxe,"childFirst");s(FC,"default")});function kxe(){return Array.from(this.children)}function wxe(t){return function(){return bxe.call(this.children,t)}}function zC(t){return this.selectAll(t==null?kxe:wxe(typeof t=="function"?t:h4(t)))}var bxe,N$=_(()=>{"use strict";K1();bxe=Array.prototype.filter;s(kxe,"children");s(wxe,"childrenFilter");s(zC,"default")});function $C(t){typeof t!="function"&&(t=lp(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Qo();K1();s($C,"default")});function Q1(t){return new Array(t.length)}var GC=_(()=>{"use strict";s(Q1,"default")});function VC(){return new qn(this._enter||this._groups.map(Q1),this._parents)}function Z1(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var UC=_(()=>{"use strict";GC();Qo();s(VC,"default");s(Z1,"EnterNode");Z1.prototype={constructor:Z1,appendChild:s(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:s(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:s(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:s(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function qC(t){return function(){return t}}var P$=_(()=>{"use strict";s(qC,"default")});function Txe(t,e,r,n,i,a){for(var o=0,l,u=e.length,h=a.length;o=k&&(k=b+1);!(w=v[k])&&++k{"use strict";Qo();UC();P$();s(Txe,"bindIndex");s(Exe,"bindKey");s(Cxe,"datum");s(WC,"default");s(Sxe,"arraylike")});function HC(){return new qn(this._exit||this._groups.map(Q1),this._parents)}var F$=_(()=>{"use strict";GC();Qo();s(HC,"default")});function YC(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}var z$=_(()=>{"use strict";s(YC,"default")});function XC(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,o=Math.min(i,a),l=new Array(i),u=0;u{"use strict";Qo();s(XC,"default")});function jC(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(o=n[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}var G$=_(()=>{"use strict";s(jC,"default")});function KC(t){t||(t=_xe);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}s(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var V$=_(()=>{"use strict";Qo();s(KC,"default");s(_xe,"ascending")});function QC(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var U$=_(()=>{"use strict";s(QC,"default")});function ZC(){return Array.from(this)}var q$=_(()=>{"use strict";s(ZC,"default")});function JC(){for(var t=this._groups,e=0,r=t.length;e{"use strict";s(JC,"default")});function eS(){let t=0;for(let e of this)++t;return t}var H$=_(()=>{"use strict";s(eS,"default")});function tS(){return!this.node()}var Y$=_(()=>{"use strict";s(tS,"default")});function rS(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";s(rS,"default")});function Axe(t){return function(){this.removeAttribute(t)}}function Lxe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Dxe(t,e){return function(){this.setAttribute(t,e)}}function Rxe(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function Mxe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function Ixe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function nS(t,e){var r=Hl(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?Lxe:Axe:typeof e=="function"?r.local?Ixe:Mxe:r.local?Rxe:Dxe)(r,e))}var j$=_(()=>{"use strict";c4();s(Axe,"attrRemove");s(Lxe,"attrRemoveNS");s(Dxe,"attrConstant");s(Rxe,"attrConstantNS");s(Mxe,"attrFunction");s(Ixe,"attrFunctionNS");s(nS,"default")});function J1(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var iS=_(()=>{"use strict";s(J1,"default")});function Nxe(t){return function(){this.style.removeProperty(t)}}function Oxe(t,e,r){return function(){this.style.setProperty(t,e,r)}}function Pxe(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function aS(t,e,r){return arguments.length>1?this.each((e==null?Nxe:typeof e=="function"?Pxe:Oxe)(t,e,r??"")):gh(this.node(),t)}function gh(t,e){return t.style.getPropertyValue(e)||J1(t).getComputedStyle(t,null).getPropertyValue(e)}var sS=_(()=>{"use strict";iS();s(Nxe,"styleRemove");s(Oxe,"styleConstant");s(Pxe,"styleFunction");s(aS,"default");s(gh,"styleValue")});function Bxe(t){return function(){delete this[t]}}function Fxe(t,e){return function(){this[t]=e}}function zxe(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function oS(t,e){return arguments.length>1?this.each((e==null?Bxe:typeof e=="function"?zxe:Fxe)(t,e)):this.node()[t]}var K$=_(()=>{"use strict";s(Bxe,"propertyRemove");s(Fxe,"propertyConstant");s(zxe,"propertyFunction");s(oS,"default")});function Q$(t){return t.trim().split(/^|\s+/)}function lS(t){return t.classList||new Z$(t)}function Z$(t){this._node=t,this._names=Q$(t.getAttribute("class")||"")}function J$(t,e){for(var r=lS(t),n=-1,i=e.length;++n{"use strict";s(Q$,"classArray");s(lS,"classList");s(Z$,"ClassList");Z$.prototype={add:s(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:s(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:s(function(t){return this._names.indexOf(t)>=0},"contains")};s(J$,"classedAdd");s(eG,"classedRemove");s($xe,"classedTrue");s(Gxe,"classedFalse");s(Vxe,"classedFunction");s(cS,"default")});function Uxe(){this.textContent=""}function qxe(t){return function(){this.textContent=t}}function Wxe(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function uS(t){return arguments.length?this.each(t==null?Uxe:(typeof t=="function"?Wxe:qxe)(t)):this.node().textContent}var rG=_(()=>{"use strict";s(Uxe,"textRemove");s(qxe,"textConstant");s(Wxe,"textFunction");s(uS,"default")});function Hxe(){this.innerHTML=""}function Yxe(t){return function(){this.innerHTML=t}}function Xxe(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function hS(t){return arguments.length?this.each(t==null?Hxe:(typeof t=="function"?Xxe:Yxe)(t)):this.node().innerHTML}var nG=_(()=>{"use strict";s(Hxe,"htmlRemove");s(Yxe,"htmlConstant");s(Xxe,"htmlFunction");s(hS,"default")});function jxe(){this.nextSibling&&this.parentNode.appendChild(this)}function fS(){return this.each(jxe)}var iG=_(()=>{"use strict";s(jxe,"raise");s(fS,"default")});function Kxe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function dS(){return this.each(Kxe)}var aG=_(()=>{"use strict";s(Kxe,"lower");s(dS,"default")});function pS(t){var e=typeof t=="function"?t:j1(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var sG=_(()=>{"use strict";IC();s(pS,"default")});function Qxe(){return null}function mS(t,e){var r=typeof t=="function"?t:j1(t),n=e==null?Qxe:typeof e=="function"?e:mh(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var oG=_(()=>{"use strict";IC();u4();s(Qxe,"constantNull");s(mS,"default")});function Zxe(){var t=this.parentNode;t&&t.removeChild(this)}function gS(){return this.each(Zxe)}var lG=_(()=>{"use strict";s(Zxe,"remove");s(gS,"default")});function Jxe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function ebe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function yS(t){return this.select(t?ebe:Jxe)}var cG=_(()=>{"use strict";s(Jxe,"selection_cloneShallow");s(ebe,"selection_cloneDeep");s(yS,"default")});function vS(t){return arguments.length?this.property("__data__",t):this.node().__data__}var uG=_(()=>{"use strict";s(vS,"default")});function tbe(t){return function(e){t.call(this,e,this.__data__)}}function rbe(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function nbe(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";s(tbe,"contextListener");s(rbe,"parseTypenames");s(nbe,"onRemove");s(ibe,"onAdd");s(xS,"default")});function fG(t,e,r){var n=J1(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function abe(t,e){return function(){return fG(this,t,e)}}function sbe(t,e){return function(){return fG(this,t,e.apply(this,arguments))}}function bS(t,e){return this.each((typeof e=="function"?sbe:abe)(t,e))}var dG=_(()=>{"use strict";iS();s(fG,"dispatchEvent");s(abe,"dispatchConstant");s(sbe,"dispatchFunction");s(bS,"default")});function*kS(){for(var t=this._groups,e=0,r=t.length;e{"use strict";s(kS,"default")});function qn(t,e){this._groups=t,this._parents=e}function mG(){return new qn([[document.documentElement]],wS)}function obe(){return this}var wS,eu,Qo=_(()=>{"use strict";D$();M$();I$();N$();O$();B$();UC();F$();z$();$$();G$();V$();U$();q$();W$();H$();Y$();X$();j$();sS();K$();tG();rG();nG();iG();aG();sG();oG();lG();cG();uG();hG();dG();pG();wS=[null];s(qn,"Selection");s(mG,"selection");s(obe,"selection_selection");qn.prototype=mG.prototype={constructor:qn,select:NC,selectAll:BC,selectChild:FC,selectChildren:zC,filter:$C,data:WC,enter:VC,exit:HC,join:YC,merge:XC,selection:obe,order:jC,sort:KC,call:QC,nodes:ZC,node:JC,size:eS,empty:tS,each:rS,attr:nS,style:aS,property:oS,classed:cS,text:uS,html:hS,raise:fS,lower:dS,append:pS,insert:mS,remove:gS,clone:yS,datum:vS,on:xS,dispatch:bS,[Symbol.iterator]:kS};eu=mG});function Me(t){return typeof t=="string"?new qn([[document.querySelector(t)]],[document.documentElement]):new qn([[t]],wS)}var gG=_(()=>{"use strict";Qo();s(Me,"default")});var Zo=_(()=>{"use strict";K1();c4();gG();Qo();u4();PC();sS()});var yG=_(()=>{"use strict"});function yh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function cp(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var TS=_(()=>{"use strict";s(yh,"default");s(cp,"extend")});function vh(){}function xG(){return this.rgb().formatHex()}function mbe(){return this.rgb().formatHex8()}function gbe(){return SG(this).formatHsl()}function bG(){return this.rgb().formatRgb()}function el(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=lbe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?kG(e):r===3?new Ji(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?f4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?f4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=cbe.exec(t))?new Ji(e[1],e[2],e[3],1):(e=ube.exec(t))?new Ji(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=hbe.exec(t))?f4(e[1],e[2],e[3],e[4]):(e=fbe.exec(t))?f4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=dbe.exec(t))?EG(e[1],e[2]/100,e[3]/100,1):(e=pbe.exec(t))?EG(e[1],e[2]/100,e[3]/100,e[4]):vG.hasOwnProperty(t)?kG(vG[t]):t==="transparent"?new Ji(NaN,NaN,NaN,0):null}function kG(t){return new Ji(t>>16&255,t>>8&255,t&255,1)}function f4(t,e,r,n){return n<=0&&(t=e=r=NaN),new Ji(t,e,r,n)}function CS(t){return t instanceof vh||(t=el(t)),t?(t=t.rgb(),new Ji(t.r,t.g,t.b,t.opacity)):new Ji}function hp(t,e,r,n){return arguments.length===1?CS(t):new Ji(t,e,r,n??1)}function Ji(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function wG(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}`}function ybe(){return`#${qf(this.r)}${qf(this.g)}${qf(this.b)}${qf((isNaN(this.opacity)?1:this.opacity)*255)}`}function TG(){let t=m4(this.opacity);return`${t===1?"rgb(":"rgba("}${Wf(this.r)}, ${Wf(this.g)}, ${Wf(this.b)}${t===1?")":`, ${t})`}`}function m4(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Wf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qf(t){return t=Wf(t),(t<16?"0":"")+t.toString(16)}function EG(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jo(t,e,r,n)}function SG(t){if(t instanceof Jo)return new Jo(t.h,t.s,t.l,t.opacity);if(t instanceof vh||(t=el(t)),!t)return new Jo;if(t instanceof Jo)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),o=NaN,l=a-i,u=(a+i)/2;return l?(e===a?o=(r-n)/l+(r0&&u<1?0:o,new Jo(o,l,u,t.opacity)}function _G(t,e,r,n){return arguments.length===1?SG(t):new Jo(t,e,r,n??1)}function Jo(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function CG(t){return t=(t||0)%360,t<0?t+360:t}function d4(t){return Math.max(0,Math.min(1,t||0))}function ES(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var ey,p4,up,ty,Yl,lbe,cbe,ube,hbe,fbe,dbe,pbe,vG,SS=_(()=>{"use strict";TS();s(vh,"Color");ey=.7,p4=1/ey,up="\\s*([+-]?\\d+)\\s*",ty="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Yl="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lbe=/^#([0-9a-f]{3,8})$/,cbe=new RegExp(`^rgb\\(${up},${up},${up}\\)$`),ube=new RegExp(`^rgb\\(${Yl},${Yl},${Yl}\\)$`),hbe=new RegExp(`^rgba\\(${up},${up},${up},${ty}\\)$`),fbe=new RegExp(`^rgba\\(${Yl},${Yl},${Yl},${ty}\\)$`),dbe=new RegExp(`^hsl\\(${ty},${Yl},${Yl}\\)$`),pbe=new RegExp(`^hsla\\(${ty},${Yl},${Yl},${ty}\\)$`),vG={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};yh(vh,el,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:xG,formatHex:xG,formatHex8:mbe,formatHsl:gbe,formatRgb:bG,toString:bG});s(xG,"color_formatHex");s(mbe,"color_formatHex8");s(gbe,"color_formatHsl");s(bG,"color_formatRgb");s(el,"color");s(kG,"rgbn");s(f4,"rgba");s(CS,"rgbConvert");s(hp,"rgb");s(Ji,"Rgb");yh(Ji,hp,cp(vh,{brighter(t){return t=t==null?p4:Math.pow(p4,t),new Ji(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ey:Math.pow(ey,t),new Ji(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ji(Wf(this.r),Wf(this.g),Wf(this.b),m4(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:wG,formatHex:wG,formatHex8:ybe,formatRgb:TG,toString:TG}));s(wG,"rgb_formatHex");s(ybe,"rgb_formatHex8");s(TG,"rgb_formatRgb");s(m4,"clampa");s(Wf,"clampi");s(qf,"hex");s(EG,"hsla");s(SG,"hslConvert");s(_G,"hsl");s(Jo,"Hsl");yh(Jo,_G,cp(vh,{brighter(t){return t=t==null?p4:Math.pow(p4,t),new Jo(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ey:Math.pow(ey,t),new Jo(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Ji(ES(t>=240?t-240:t+120,i,n),ES(t,i,n),ES(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jo(CG(this.h),d4(this.s),d4(this.l),m4(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=m4(this.opacity);return`${t===1?"hsl(":"hsla("}${CG(this.h)}, ${d4(this.s)*100}%, ${d4(this.l)*100}%${t===1?")":`, ${t})`}`}}));s(CG,"clamph");s(d4,"clampt");s(ES,"hsl2rgb")});var AG,LG,DG=_(()=>{"use strict";AG=Math.PI/180,LG=180/Math.PI});function PG(t){if(t instanceof Xl)return new Xl(t.l,t.a,t.b,t.opacity);if(t instanceof tu)return BG(t);t instanceof Ji||(t=CS(t));var e=DS(t.r),r=DS(t.g),n=DS(t.b),i=_S((.2225045*e+.7168786*r+.0606169*n)/MG),a,o;return e===r&&r===n?a=o=i:(a=_S((.4360747*e+.3850649*r+.1430804*n)/RG),o=_S((.0139322*e+.0971045*r+.7141733*n)/IG)),new Xl(116*i-16,500*(a-i),200*(i-o),t.opacity)}function RS(t,e,r,n){return arguments.length===1?PG(t):new Xl(t,e,r,n??1)}function Xl(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function _S(t){return t>vbe?Math.pow(t,1/3):t/OG+NG}function AS(t){return t>fp?t*t*t:OG*(t-NG)}function LS(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function DS(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function xbe(t){if(t instanceof tu)return new tu(t.h,t.c,t.l,t.opacity);if(t instanceof Xl||(t=PG(t)),t.a===0&&t.b===0)return new tu(NaN,0{"use strict";TS();SS();DG();g4=18,RG=.96422,MG=1,IG=.82521,NG=4/29,fp=6/29,OG=3*fp*fp,vbe=fp*fp*fp;s(PG,"labConvert");s(RS,"lab");s(Xl,"Lab");yh(Xl,RS,cp(vh,{brighter(t){return new Xl(this.l+g4*(t??1),this.a,this.b,this.opacity)},darker(t){return new Xl(this.l-g4*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=RG*AS(e),t=MG*AS(t),r=IG*AS(r),new Ji(LS(3.1338561*e-1.6168667*t-.4906146*r),LS(-.9787684*e+1.9161415*t+.033454*r),LS(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));s(_S,"xyz2lab");s(AS,"lab2xyz");s(LS,"lrgb2rgb");s(DS,"rgb2lrgb");s(xbe,"hclConvert");s(ry,"hcl");s(tu,"Hcl");s(BG,"hcl2lab");yh(tu,ry,cp(vh,{brighter(t){return new tu(this.h,this.c,this.l+g4*(t??1),this.opacity)},darker(t){return new tu(this.h,this.c,this.l-g4*(t??1),this.opacity)},rgb(){return BG(this).rgb()}}))});var dp=_(()=>{"use strict";SS();FG()});function MS(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function IS(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,l=n{"use strict";s(MS,"basis");s(IS,"default")});function OS(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],o=t[(n+1)%e],l=t[(n+2)%e];return MS((r-n/e)*e,i,a,o,l)}}var zG=_(()=>{"use strict";NS();s(OS,"default")});var pp,PS=_(()=>{"use strict";pp=s(t=>()=>t,"default")});function $G(t,e){return function(r){return t+r*e}}function bbe(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function GG(t,e){var r=e-t;return r?$G(t,r>180||r<-180?r-360*Math.round(r/360):r):pp(isNaN(t)?e:t)}function VG(t){return(t=+t)==1?ru:function(e,r){return r-e?bbe(e,r,t):pp(isNaN(e)?r:e)}}function ru(t,e){var r=e-t;return r?$G(t,r):pp(isNaN(t)?e:t)}var BS=_(()=>{"use strict";PS();s($G,"linear");s(bbe,"exponential");s(GG,"hue");s(VG,"gamma");s(ru,"nogamma")});function UG(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),o,l;for(o=0;o{"use strict";dp();NS();zG();BS();Hf=s(function t(e){var r=VG(e);function n(i,a){var o=r((i=hp(i)).r,(a=hp(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=ru(i.opacity,a.opacity);return function(f){return i.r=o(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return s(n,"rgb"),n.gamma=t,n},"rgbGamma")(1);s(UG,"rgbSpline");kbe=UG(IS),wbe=UG(OS)});function zS(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";s(zS,"default");s(qG,"isNumberArray")});function HG(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o{"use strict";y4();s(HG,"genericArray")});function $S(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var XG=_(()=>{"use strict";s($S,"default")});function $i(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var ny=_(()=>{"use strict";s($i,"default")});function GS(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=xh(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var jG=_(()=>{"use strict";y4();s(GS,"default")});function Tbe(t){return function(){return t}}function Ebe(t){return function(e){return t(e)+""}}function mp(t,e){var r=US.lastIndex=VS.lastIndex=0,n,i,a,o=-1,l=[],u=[];for(t=t+"",e=e+"";(n=US.exec(t))&&(i=VS.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[o]?l[o]+=a:l[++o]=a),(n=n[0])===(i=i[0])?l[o]?l[o]+=i:l[++o]=i:(l[++o]=null,u.push({i:o,x:$i(n,i)})),r=VS.lastIndex;return r{"use strict";ny();US=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,VS=new RegExp(US.source,"g");s(Tbe,"zero");s(Ebe,"one");s(mp,"default")});function xh(t,e){var r=typeof e,n;return e==null||r==="boolean"?pp(e):(r==="number"?$i:r==="string"?(n=el(e))?(e=n,Hf):mp:e instanceof el?Hf:e instanceof Date?$S:qG(e)?zS:Array.isArray(e)?HG:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?GS:$i)(t,e)}var y4=_(()=>{"use strict";dp();FS();YG();XG();ny();jG();qS();PS();WG();s(xh,"default")});function v4(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var KG=_(()=>{"use strict";s(v4,"default")});function b4(t,e,r,n,i,a){var o,l,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";QG=180/Math.PI,x4={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};s(b4,"default")});function JG(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?x4:b4(e.a,e.b,e.c,e.d,e.e,e.f)}function eV(t){return t==null?x4:(k4||(k4=document.createElementNS("http://www.w3.org/2000/svg","g")),k4.setAttribute("transform",t),(t=k4.transform.baseVal.consolidate())?(t=t.matrix,b4(t.a,t.b,t.c,t.d,t.e,t.f)):x4)}var k4,tV=_(()=>{"use strict";ZG();s(JG,"parseCss");s(eV,"parseSvg")});function rV(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}s(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:$i(h,d)},{i:y-2,x:$i(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}s(a,"translate");function o(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:$i(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}s(o,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:$i(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}s(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:$i(h,d)},{i:y-2,x:$i(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return s(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),o(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";ny();tV();s(rV,"interpolateTransform");WS=rV(JG,"px, ","px)","deg)"),HS=rV(eV,", ",")",")")});function iV(t){return function(e,r){var n=t((e=ry(e)).h,(r=ry(r)).h),i=ru(e.c,r.c),a=ru(e.l,r.l),o=ru(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=o(l),e+""}}}var YS,Cbe,aV=_(()=>{"use strict";dp();BS();s(iV,"hcl");YS=iV(GG),Cbe=iV(ru)});var gp=_(()=>{"use strict";y4();ny();KG();qS();nV();FS();aV()});function cy(){return Yf||(lV(Sbe),Yf=oy.now()+E4)}function Sbe(){Yf=0}function ly(){this._call=this._time=this._next=null}function C4(t,e,r){var n=new ly;return n.restart(t,e,r),n}function cV(){cy(),++yp;for(var t=w4,e;t;)(e=Yf-t._time)>=0&&t._call.call(void 0,e),t=t._next;--yp}function sV(){Yf=(T4=oy.now())+E4,yp=ay=0;try{cV()}finally{yp=0,Abe(),Yf=0}}function _be(){var t=oy.now(),e=t-T4;e>oV&&(E4-=e,T4=t)}function Abe(){for(var t,e=w4,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:w4=r);sy=t,XS(n)}function XS(t){if(!yp){ay&&(ay=clearTimeout(ay));var e=t-Yf;e>24?(t<1/0&&(ay=setTimeout(sV,t-oy.now()-E4)),iy&&(iy=clearInterval(iy))):(iy||(T4=oy.now(),iy=setInterval(_be,oV)),yp=1,lV(sV))}}var yp,ay,iy,oV,w4,sy,T4,Yf,E4,oy,lV,jS=_(()=>{"use strict";yp=0,ay=0,iy=0,oV=1e3,T4=0,Yf=0,E4=0,oy=typeof performance=="object"&&performance.now?performance:Date,lV=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};s(cy,"now");s(Sbe,"clearNow");s(ly,"Timer");ly.prototype=C4.prototype={constructor:ly,restart:s(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?cy():+r)+(e==null?0:+e),!this._next&&sy!==this&&(sy?sy._next=this:w4=this,sy=this),this._call=t,this._time=r,XS()},"restart"),stop:s(function(){this._call&&(this._call=null,this._time=1/0,XS())},"stop")};s(C4,"timer");s(cV,"timerFlush");s(sV,"wake");s(_be,"poke");s(Abe,"nap");s(XS,"sleep")});function uy(t,e,r){var n=new ly;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var uV=_(()=>{"use strict";jS();s(uy,"default")});var S4=_(()=>{"use strict";jS();uV()});function nu(t,e,r,n,i,a){var o=t.__transition;if(!o)t.__transition={};else if(r in o)return;Rbe(t,r,{name:e,index:n,group:i,on:Lbe,tween:Dbe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:dV})}function fy(t,e){var r=Si(t,e);if(r.state>dV)throw new Error("too late; already scheduled");return r}function ea(t,e){var r=Si(t,e);if(r.state>_4)throw new Error("too late; already running");return r}function Si(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function Rbe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=C4(a,0,r.time);function a(h){r.state=hV,r.timer.restart(o,r.delay,r.time),r.delay<=h&&o(h-r.delay)}s(a,"schedule");function o(h){var f,d,p,m;if(r.state!==hV)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===_4)return uy(o);m.state===fV?(m.state=hy,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";DC();S4();Lbe=LC("start","end","cancel","interrupt"),Dbe=[],dV=0,hV=1,A4=2,_4=3,fV=4,L4=5,hy=6;s(nu,"default");s(fy,"init");s(ea,"set");s(Si,"get");s(Rbe,"create")});function dy(t,e){var r=t.__transition,n,i,a=!0,o;if(r){e=e==null?null:e+"";for(o in r){if((n=r[o]).name!==e){a=!1;continue}i=n.state>A4&&n.state{"use strict";us();s(dy,"default")});function KS(t){return this.each(function(){dy(this,t)})}var mV=_(()=>{"use strict";pV();s(KS,"default")});function Mbe(t,e){var r,n;return function(){var i=ea(this,t),a=i.tween;if(a!==r){n=r=a;for(var o=0,l=n.length;o{"use strict";us();s(Mbe,"tweenRemove");s(Ibe,"tweenFunction");s(QS,"default");s(vp,"tweenValue")});function my(t,e){var r;return(typeof e=="number"?$i:e instanceof el?Hf:(r=el(e))?(e=r,Hf):mp)(t,e)}var ZS=_(()=>{"use strict";dp();gp();s(my,"default")});function Nbe(t){return function(){this.removeAttribute(t)}}function Obe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Pbe(t,e,r){var n,i=r+"",a;return function(){var o=this.getAttribute(t);return o===i?null:o===n?a:a=e(n=o,r)}}function Bbe(t,e,r){var n,i=r+"",a;return function(){var o=this.getAttributeNS(t.space,t.local);return o===i?null:o===n?a:a=e(n=o,r)}}function Fbe(t,e,r){var n,i,a;return function(){var o,l=r(this),u;return l==null?void this.removeAttribute(t):(o=this.getAttribute(t),u=l+"",o===u?null:o===n&&u===i?a:(i=u,a=e(n=o,l)))}}function zbe(t,e,r){var n,i,a;return function(){var o,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),u=l+"",o===u?null:o===n&&u===i?a:(i=u,a=e(n=o,l)))}}function JS(t,e){var r=Hl(t),n=r==="transform"?HS:my;return this.attrTween(t,typeof e=="function"?(r.local?zbe:Fbe)(r,n,vp(this,"attr."+t,e)):e==null?(r.local?Obe:Nbe)(r):(r.local?Bbe:Pbe)(r,n,e))}var gV=_(()=>{"use strict";gp();Zo();py();ZS();s(Nbe,"attrRemove");s(Obe,"attrRemoveNS");s(Pbe,"attrConstant");s(Bbe,"attrConstantNS");s(Fbe,"attrFunction");s(zbe,"attrFunctionNS");s(JS,"default")});function $be(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function Gbe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function Vbe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&Gbe(t,a)),r}return s(i,"tween"),i._value=e,i}function Ube(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&$be(t,a)),r}return s(i,"tween"),i._value=e,i}function e8(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=Hl(t);return this.tween(r,(n.local?Vbe:Ube)(n,e))}var yV=_(()=>{"use strict";Zo();s($be,"attrInterpolate");s(Gbe,"attrInterpolateNS");s(Vbe,"attrTweenNS");s(Ube,"attrTween");s(e8,"default")});function qbe(t,e){return function(){fy(this,t).delay=+e.apply(this,arguments)}}function Wbe(t,e){return e=+e,function(){fy(this,t).delay=e}}function t8(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?qbe:Wbe)(e,t)):Si(this.node(),e).delay}var vV=_(()=>{"use strict";us();s(qbe,"delayFunction");s(Wbe,"delayConstant");s(t8,"default")});function Hbe(t,e){return function(){ea(this,t).duration=+e.apply(this,arguments)}}function Ybe(t,e){return e=+e,function(){ea(this,t).duration=e}}function r8(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Hbe:Ybe)(e,t)):Si(this.node(),e).duration}var xV=_(()=>{"use strict";us();s(Hbe,"durationFunction");s(Ybe,"durationConstant");s(r8,"default")});function Xbe(t,e){if(typeof e!="function")throw new Error;return function(){ea(this,t).ease=e}}function n8(t){var e=this._id;return arguments.length?this.each(Xbe(e,t)):Si(this.node(),e).ease}var bV=_(()=>{"use strict";us();s(Xbe,"easeConstant");s(n8,"default")});function jbe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;ea(this,t).ease=r}}function i8(t){if(typeof t!="function")throw new Error;return this.each(jbe(this._id,t))}var kV=_(()=>{"use strict";us();s(jbe,"easeVarying");s(i8,"default")});function a8(t){typeof t!="function"&&(t=lp(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";Zo();Xf();s(a8,"default")});function s8(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),o=new Array(n),l=0;l{"use strict";Xf();s(s8,"default")});function Kbe(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function Qbe(t,e,r){var n,i,a=Kbe(e)?fy:ea;return function(){var o=a(this,t),l=o.on;l!==n&&(i=(n=l).copy()).on(e,r),o.on=i}}function o8(t,e){var r=this._id;return arguments.length<2?Si(this.node(),r).on.on(t):this.each(Qbe(r,t,e))}var EV=_(()=>{"use strict";us();s(Kbe,"start");s(Qbe,"onFunction");s(o8,"default")});function Zbe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function l8(){return this.on("end.remove",Zbe(this._id))}var CV=_(()=>{"use strict";s(Zbe,"removeFunction");s(l8,"default")});function c8(t){var e=this._name,r=this._id;typeof t!="function"&&(t=mh(t));for(var n=this._groups,i=n.length,a=new Array(i),o=0;o{"use strict";Zo();Xf();us();s(c8,"default")});function u8(t){var e=this._name,r=this._id;typeof t!="function"&&(t=op(t));for(var n=this._groups,i=n.length,a=[],o=[],l=0;l{"use strict";Zo();Xf();us();s(u8,"default")});function h8(){return new Jbe(this._groups,this._parents)}var Jbe,AV=_(()=>{"use strict";Zo();Jbe=eu.prototype.constructor;s(h8,"default")});function e4e(t,e){var r,n,i;return function(){var a=gh(this,t),o=(this.style.removeProperty(t),gh(this,t));return a===o?null:a===r&&o===n?i:i=e(r=a,n=o)}}function LV(t){return function(){this.style.removeProperty(t)}}function t4e(t,e,r){var n,i=r+"",a;return function(){var o=gh(this,t);return o===i?null:o===n?a:a=e(n=o,r)}}function r4e(t,e,r){var n,i,a;return function(){var o=gh(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),gh(this,t))),o===u?null:o===n&&u===i?a:(i=u,a=e(n=o,l))}}function n4e(t,e){var r,n,i,a="style."+e,o="end."+a,l;return function(){var u=ea(this,t),h=u.on,f=u.value[a]==null?l||(l=LV(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(o,i=f),u.on=n}}function f8(t,e,r){var n=(t+="")=="transform"?WS:my;return e==null?this.styleTween(t,e4e(t,n)).on("end.style."+t,LV(t)):typeof e=="function"?this.styleTween(t,r4e(t,n,vp(this,"style."+t,e))).each(n4e(this._id,t)):this.styleTween(t,t4e(t,n,e),r).on("end.style."+t,null)}var DV=_(()=>{"use strict";gp();Zo();us();py();ZS();s(e4e,"styleNull");s(LV,"styleRemove");s(t4e,"styleConstant");s(r4e,"styleFunction");s(n4e,"styleMaybeRemove");s(f8,"default")});function i4e(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function a4e(t,e,r){var n,i;function a(){var o=e.apply(this,arguments);return o!==i&&(n=(i=o)&&i4e(t,o,r)),n}return s(a,"tween"),a._value=e,a}function d8(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,a4e(t,e,r??""))}var RV=_(()=>{"use strict";s(i4e,"styleInterpolate");s(a4e,"styleTween");s(d8,"default")});function s4e(t){return function(){this.textContent=t}}function o4e(t){return function(){var e=t(this);this.textContent=e??""}}function p8(t){return this.tween("text",typeof t=="function"?o4e(vp(this,"text",t)):s4e(t==null?"":t+""))}var MV=_(()=>{"use strict";py();s(s4e,"textConstant");s(o4e,"textFunction");s(p8,"default")});function l4e(t){return function(e){this.textContent=t.call(this,e)}}function c4e(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&l4e(i)),e}return s(n,"tween"),n._value=t,n}function m8(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,c4e(t))}var IV=_(()=>{"use strict";s(l4e,"textInterpolate");s(c4e,"textTween");s(m8,"default")});function g8(){for(var t=this._name,e=this._id,r=D4(),n=this._groups,i=n.length,a=0;a{"use strict";Xf();us();s(g8,"default")});function y8(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,o){var l={value:o},u={value:s(function(){--i===0&&a()},"value")};r.each(function(){var h=ea(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var OV=_(()=>{"use strict";us();s(y8,"default")});function Va(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function PV(t){return eu().transition(t)}function D4(){return++u4e}var u4e,iu,Xf=_(()=>{"use strict";Zo();gV();yV();vV();xV();bV();kV();wV();TV();EV();CV();SV();_V();AV();DV();RV();MV();IV();NV();py();OV();u4e=0;s(Va,"Transition");s(PV,"transition");s(D4,"newId");iu=eu.prototype;Va.prototype=PV.prototype={constructor:Va,select:c8,selectAll:u8,selectChild:iu.selectChild,selectChildren:iu.selectChildren,filter:a8,merge:s8,selection:h8,transition:g8,call:iu.call,nodes:iu.nodes,node:iu.node,size:iu.size,empty:iu.empty,each:iu.each,on:o8,attr:JS,attrTween:e8,style:f8,styleTween:d8,text:p8,textTween:m8,remove:l8,tween:QS,delay:t8,duration:r8,ease:n8,easeVarying:i8,end:y8,[Symbol.iterator]:iu[Symbol.iterator]}});function R4(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var BV=_(()=>{"use strict";s(R4,"cubicInOut")});var v8=_(()=>{"use strict";BV()});function f4e(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function x8(t){var e,r;t instanceof Va?(e=t._id,t=t._name):(e=D4(),(r=h4e).time=cy(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";Xf();us();v8();S4();h4e={time:null,delay:0,duration:250,ease:R4};s(f4e,"inherit");s(x8,"default")});var zV=_(()=>{"use strict";Zo();mV();FV();eu.prototype.interrupt=KS;eu.prototype.transition=x8});var M4=_(()=>{"use strict";zV()});var $V=_(()=>{"use strict"});var GV=_(()=>{"use strict"});var VV=_(()=>{"use strict"});function UV(t){return[+t[0],+t[1]]}function d4e(t){return[UV(t[0]),UV(t[1])]}function b8(t){return{type:t}}var tft,rft,nft,ift,aft,sft,qV=_(()=>{"use strict";M4();$V();GV();VV();({abs:tft,max:rft,min:nft}=Math);s(UV,"number1");s(d4e,"number2");ift={name:"x",handles:["w","e"].map(b8),input:s(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:s(function(t){return t&&[t[0][0],t[1][0]]},"output")},aft={name:"y",handles:["n","s"].map(b8),input:s(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:s(function(t){return t&&[t[0][1],t[1][1]]},"output")},sft={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(b8),input:s(function(t){return t==null?null:d4e(t)},"input"),output:s(function(t){return t},"output")};s(b8,"type")});var WV=_(()=>{"use strict";qV()});function HV(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return HV;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";k8=Math.PI,w8=2*k8,jf=1e-6,p4e=w8-jf;s(HV,"append");s(m4e,"appendRound");Kf=class{static{s(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?HV:m4e(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,o){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+o}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let o=this._x1,l=this._y1,u=n-e,h=i-r,f=o-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>jf)if(!(Math.abs(d*u-h*f)>jf)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-o,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),k=a*Math.tan((k8-Math.acos((y+p-v)/(2*x*b)))/2),A=k/b,w=k/x;Math.abs(A-1)>jf&&this._append`L${e+A*f},${r+A*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}arc(e,r,n,i,a,o){if(e=+e,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^o,p=o?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>jf||Math.abs(this._y1-f)>jf)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%w8+w8),p>p4e?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>jf&&this._append`A${n},${n},0,${+(p>=k8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};s(YV,"path");YV.prototype=Kf.prototype});var T8=_(()=>{"use strict";XV()});var jV=_(()=>{"use strict"});var KV=_(()=>{"use strict"});var QV=_(()=>{"use strict"});var ZV=_(()=>{"use strict"});var JV=_(()=>{"use strict"});var eU=_(()=>{"use strict"});var tU=_(()=>{"use strict"});function E8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Qf(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var gy=_(()=>{"use strict";s(E8,"default");s(Qf,"formatDecimalParts")});function tl(t){return t=Qf(Math.abs(t)),t?t[1]:NaN}var yy=_(()=>{"use strict";gy();s(tl,"default")});function C8(t,e){return function(r,n){for(var i=r.length,a=[],o=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[o=(o+1)%t.length];return a.reverse().join(e)}}var rU=_(()=>{"use strict";s(C8,"default")});function S8(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var nU=_(()=>{"use strict";s(S8,"default")});function bh(t){if(!(e=g4e.exec(t)))throw new Error("invalid format: "+t);var e;return new I4({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function I4(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var g4e,_8=_(()=>{"use strict";g4e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;s(bh,"formatSpecifier");bh.prototype=I4.prototype;s(I4,"FormatSpecifier");I4.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type}});function A8(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var iU=_(()=>{"use strict";s(A8,"default")});function D8(t,e){var r=Qf(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(L8=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=n.length;return a===o?n:a>o?n+new Array(a-o+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+Qf(t,Math.max(0,e+a-1))[0]}var L8,R8=_(()=>{"use strict";gy();s(D8,"default")});function N4(t,e){var r=Qf(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var aU=_(()=>{"use strict";gy();s(N4,"default")});var M8,sU=_(()=>{"use strict";gy();R8();aU();M8={"%":s((t,e)=>(t*100).toFixed(e),"%"),b:s(t=>Math.round(t).toString(2),"b"),c:s(t=>t+"","c"),d:E8,e:s((t,e)=>t.toExponential(e),"e"),f:s((t,e)=>t.toFixed(e),"f"),g:s((t,e)=>t.toPrecision(e),"g"),o:s(t=>Math.round(t).toString(8),"o"),p:s((t,e)=>N4(t*100,e),"p"),r:N4,s:D8,X:s(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:s(t=>Math.round(t).toString(16),"x")}});function O4(t){return t}var oU=_(()=>{"use strict";s(O4,"default")});function I8(t){var e=t.grouping===void 0||t.thousands===void 0?O4:C8(lU.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?O4:S8(lU.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=bh(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,k=d.precision,A=d.trim,w=d.type;w==="n"?(b=!0,w="g"):M8[w]||(k===void 0&&(k=12),A=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var T=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",C=y==="$"?n:/[%p]/.test(w)?o:"",E=M8[w],S=/[defgprs%]/.test(w);k=k===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,k)):Math.max(0,Math.min(20,k));function R(D){var L=T,P=C,M,F,I;if(w==="c")P=E(D)+P,D="";else{D=+D;var O=D<0||1/D<0;if(D=isNaN(D)?u:E(Math.abs(D),k),A&&(D=A8(D)),O&&+D==0&&g!=="+"&&(O=!1),L=(O?g==="("?g:l:g==="-"||g==="("?"":g)+L,P=(w==="s"?cU[8+L8/3]:"")+P+(O&&g==="("?")":""),S){for(M=-1,F=D.length;++MI||I>57){P=(I===46?i+D.slice(M+1):D.slice(M))+P,D=D.slice(0,M);break}}}b&&!v&&(D=e(D,1/0));var z=L.length+D.length+P.length,N=z>1)+L+D+P+N.slice(z);break;default:D=N+L+D+P;break}return a(D)}return s(R,"format"),R.toString=function(){return d+""},R}s(h,"newFormat");function f(d,p){var m=h((d=bh(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(tl(p)/3)))*3,y=Math.pow(10,-g),v=cU[8+g/3];return function(x){return m(y*x)+v}}return s(f,"formatPrefix"),{format:h,formatPrefix:f}}var lU,cU,uU=_(()=>{"use strict";yy();rU();nU();_8();iU();sU();R8();oU();lU=Array.prototype.map,cU=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];s(I8,"default")});function N8(t){return P4=I8(t),B4=P4.format,F4=P4.formatPrefix,P4}var P4,B4,F4,hU=_(()=>{"use strict";uU();N8({thousands:",",grouping:[3],currency:["$",""]});s(N8,"defaultLocale")});function z4(t){return Math.max(0,-tl(Math.abs(t)))}var fU=_(()=>{"use strict";yy();s(z4,"default")});function $4(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(tl(e)/3)))*3-tl(Math.abs(t)))}var dU=_(()=>{"use strict";yy();s($4,"default")});function G4(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,tl(e)-tl(t))+1}var pU=_(()=>{"use strict";yy();s(G4,"default")});var O8=_(()=>{"use strict";hU();_8();fU();dU();pU()});var mU=_(()=>{"use strict"});var gU=_(()=>{"use strict"});var yU=_(()=>{"use strict"});var vU=_(()=>{"use strict"});function kh(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var vy=_(()=>{"use strict";s(kh,"initRange")});function au(){var t=new ap,e=[],r=[],n=P8;function i(a){let o=t.get(a);if(o===void 0){if(n!==P8)return n;t.set(a,o=e.push(a)-1)}return r[o%r.length]}return s(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new ap;for(let o of a)t.has(o)||t.set(o,e.push(o)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return au(e,r).unknown(n)},kh.apply(i,arguments),i}var P8,B8=_(()=>{"use strict";ph();vy();P8=Symbol("implicit");s(au,"ordinal")});function xp(){var t=au().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,o,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";ph();vy();B8();s(xp,"band")});function F8(t){return function(){return t}}var bU=_(()=>{"use strict";s(F8,"constants")});function z8(t){return+t}var kU=_(()=>{"use strict";s(z8,"number")});function bp(t){return t}function $8(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:F8(isNaN(e)?NaN:.5)}function y4e(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function v4e(t,e,r){var n=t[0],i=t[1],a=e[0],o=e[1];return i2?x4e:v4e,u=h=null,d}s(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(o(p)))}return s(d,"scale"),d.invert=function(p){return o(i((h||(h=l(e,t.map(n),$i)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,z8),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=v4,f()},d.clamp=function(p){return arguments.length?(o=p?!0:bp,f()):o!==bp},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function xy(){return b4e()(bp,bp)}var wU,G8=_(()=>{"use strict";ph();gp();bU();kU();wU=[0,1];s(bp,"identity");s($8,"normalize");s(y4e,"clamper");s(v4e,"bimap");s(x4e,"polymap");s(V4,"copy");s(b4e,"transformer");s(xy,"continuous")});function V8(t,e,r,n){var i=sp(t,e,r),a;switch(n=bh(n??",f"),n.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=$4(i,o))&&(n.precision=a),F4(n,o)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=G4(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=z4(i))&&(n.precision=a-(n.type==="%")*2);break}}return B4(n)}var TU=_(()=>{"use strict";ph();O8();s(V8,"tickFormat")});function k4e(t){var e=t.domain;return t.ticks=function(r){var n=e();return t4(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return V8(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,o=n[i],l=n[a],u,h,f=10;for(l0;){if(h=X1(o,l,r),h===u)return n[i]=o,n[a]=l,e(n);if(h>0)o=Math.floor(o/h)*h,l=Math.ceil(l/h)*h;else if(h<0)o=Math.ceil(o*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function rl(){var t=xy();return t.copy=function(){return V4(t,rl())},kh.apply(t,arguments),k4e(t)}var EU=_(()=>{"use strict";ph();G8();vy();TU();s(k4e,"linearish");s(rl,"linear")});function U8(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],o;return a{"use strict";s(U8,"nice")});function sn(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return s(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let o=i(a),l=i.ceil(a);return a-o(e(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hsn(o=>{if(o>=o)for(;t(o),!a(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;e(o,-1),!a(o););else for(;--l>=0;)for(;e(o,1),!a(o););}),r&&(i.count=(a,o)=>(q8.setTime(+a),W8.setTime(+o),t(q8),t(W8),Math.floor(r(q8,W8))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?o=>n(o)%a===0:o=>i.count(0,o)%a===0):i)),i}var q8,W8,su=_(()=>{"use strict";q8=new Date,W8=new Date;s(sn,"timeInterval")});var jl,SU,H8=_(()=>{"use strict";su();jl=sn(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);jl.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?sn(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):jl);SU=jl.range});var Vs,_U,Y8=_(()=>{"use strict";su();Vs=sn(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),_U=Vs.range});var ou,w4e,U4,T4e,X8=_(()=>{"use strict";su();ou=sn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),w4e=ou.range,U4=sn(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),T4e=U4.range});var lu,E4e,q4,C4e,j8=_(()=>{"use strict";su();lu=sn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),E4e=lu.range,q4=sn(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),C4e=q4.range});var vo,S4e,ky,_4e,W4,A4e,K8=_(()=>{"use strict";su();vo=sn(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),S4e=vo.range,ky=sn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),_4e=ky.range,W4=sn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),A4e=W4.range});function ed(t){return sn(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function td(t){return sn(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var nl,wh,H4,Y4,Ql,X4,j4,LU,L4e,D4e,R4e,M4e,I4e,N4e,rd,kp,DU,RU,Th,MU,IU,NU,O4e,P4e,B4e,F4e,z4e,$4e,Q8=_(()=>{"use strict";su();s(ed,"timeWeekday");nl=ed(0),wh=ed(1),H4=ed(2),Y4=ed(3),Ql=ed(4),X4=ed(5),j4=ed(6),LU=nl.range,L4e=wh.range,D4e=H4.range,R4e=Y4.range,M4e=Ql.range,I4e=X4.range,N4e=j4.range;s(td,"utcWeekday");rd=td(0),kp=td(1),DU=td(2),RU=td(3),Th=td(4),MU=td(5),IU=td(6),NU=rd.range,O4e=kp.range,P4e=DU.range,B4e=RU.range,F4e=Th.range,z4e=MU.range,$4e=IU.range});var cu,G4e,K4,V4e,Z8=_(()=>{"use strict";su();cu=sn(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),G4e=cu.range,K4=sn(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),V4e=K4.range});var Us,U4e,il,q4e,J8=_(()=>{"use strict";su();Us=sn(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Us.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:sn(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});U4e=Us.range,il=sn(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());il.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:sn(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});q4e=il.range});function PU(t,e,r,n,i,a){let o=[[Vs,1,1e3],[Vs,5,5*1e3],[Vs,15,15*1e3],[Vs,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(o,p);if(m===o.length)return t.every(sp(h/31536e6,f/31536e6,d));if(m===0)return jl.every(Math.max(sp(h,f,d),1));let[g,y]=o[p/o[m-1][2]{"use strict";ph();H8();Y8();X8();j8();K8();Q8();Z8();J8();s(PU,"ticker");[H4e,Y4e]=PU(il,K4,rd,W4,q4,U4),[e_,t_]=PU(Us,cu,nl,vo,lu,ou)});var Q4=_(()=>{"use strict";H8();Y8();X8();j8();K8();Q8();Z8();J8();BU()});function r_(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function n_(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function wy(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function i_(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,o=t.shortDays,l=t.months,u=t.shortMonths,h=Ty(i),f=Ey(i),d=Ty(a),p=Ey(a),m=Ty(o),g=Ey(o),y=Ty(l),v=Ey(l),x=Ty(u),b=Ey(u),k={a:O,A:z,b:N,B:U,c:null,d:UU,e:UU,f:g3e,g:S3e,G:A3e,H:d3e,I:p3e,j:m3e,L:XU,m:y3e,M:v3e,p:$,q:W,Q:HU,s:YU,S:x3e,u:b3e,U:k3e,V:w3e,w:T3e,W:E3e,x:null,X:null,y:C3e,Y:_3e,Z:L3e,"%":WU},A={a:ee,A:te,b:ce,B:Z,c:null,d:qU,e:qU,f:I3e,g:U3e,G:W3e,H:D3e,I:R3e,j:M3e,L:KU,m:N3e,M:O3e,p:fe,q:ne,Q:HU,s:YU,S:P3e,u:B3e,U:F3e,V:z3e,w:$3e,W:G3e,x:null,X:null,y:V3e,Y:q3e,Z:H3e,"%":WU},w={a:R,A:D,b:L,B:P,c:M,d:GU,e:GU,f:c3e,g:$U,G:zU,H:VU,I:VU,j:a3e,L:l3e,m:i3e,M:s3e,p:S,q:n3e,Q:h3e,s:f3e,S:o3e,u:Z4e,U:J4e,V:e3e,w:Q4e,W:t3e,x:F,X:I,y:$U,Y:zU,Z:r3e,"%":u3e};k.x=T(r,k),k.X=T(n,k),k.c=T(e,k),A.x=T(r,A),A.X=T(n,A),A.c=T(e,A);function T(H,Q){return function(K){var re=[],ie=-1,ye=0,j=H.length,De,oe,Re;for(K instanceof Date||(K=new Date(+K));++ie53)return null;"w"in re||(re.w=1),"Z"in re?(ye=n_(wy(re.y,0,1)),j=ye.getUTCDay(),ye=j>4||j===0?kp.ceil(ye):kp(ye),ye=ky.offset(ye,(re.V-1)*7),re.y=ye.getUTCFullYear(),re.m=ye.getUTCMonth(),re.d=ye.getUTCDate()+(re.w+6)%7):(ye=r_(wy(re.y,0,1)),j=ye.getDay(),ye=j>4||j===0?wh.ceil(ye):wh(ye),ye=vo.offset(ye,(re.V-1)*7),re.y=ye.getFullYear(),re.m=ye.getMonth(),re.d=ye.getDate()+(re.w+6)%7)}else("W"in re||"U"in re)&&("w"in re||(re.w="u"in re?re.u%7:"W"in re?1:0),j="Z"in re?n_(wy(re.y,0,1)).getUTCDay():r_(wy(re.y,0,1)).getDay(),re.m=0,re.d="W"in re?(re.w+6)%7+re.W*7-(j+5)%7:re.w+re.U*7-(j+6)%7);return"Z"in re?(re.H+=re.Z/100|0,re.M+=re.Z%100,n_(re)):r_(re)}}s(C,"newParse");function E(H,Q,K,re){for(var ie=0,ye=Q.length,j=K.length,De,oe;ie=j)return-1;if(De=Q.charCodeAt(ie++),De===37){if(De=Q.charAt(ie++),oe=w[De in FU?Q.charAt(ie++):De],!oe||(re=oe(H,K,re))<0)return-1}else if(De!=K.charCodeAt(re++))return-1}return re}s(E,"parseSpecifier");function S(H,Q,K){var re=h.exec(Q.slice(K));return re?(H.p=f.get(re[0].toLowerCase()),K+re[0].length):-1}s(S,"parsePeriod");function R(H,Q,K){var re=m.exec(Q.slice(K));return re?(H.w=g.get(re[0].toLowerCase()),K+re[0].length):-1}s(R,"parseShortWeekday");function D(H,Q,K){var re=d.exec(Q.slice(K));return re?(H.w=p.get(re[0].toLowerCase()),K+re[0].length):-1}s(D,"parseWeekday");function L(H,Q,K){var re=x.exec(Q.slice(K));return re?(H.m=b.get(re[0].toLowerCase()),K+re[0].length):-1}s(L,"parseShortMonth");function P(H,Q,K){var re=y.exec(Q.slice(K));return re?(H.m=v.get(re[0].toLowerCase()),K+re[0].length):-1}s(P,"parseMonth");function M(H,Q,K){return E(H,e,Q,K)}s(M,"parseLocaleDateTime");function F(H,Q,K){return E(H,r,Q,K)}s(F,"parseLocaleDate");function I(H,Q,K){return E(H,n,Q,K)}s(I,"parseLocaleTime");function O(H){return o[H.getDay()]}s(O,"formatShortWeekday");function z(H){return a[H.getDay()]}s(z,"formatWeekday");function N(H){return u[H.getMonth()]}s(N,"formatShortMonth");function U(H){return l[H.getMonth()]}s(U,"formatMonth");function $(H){return i[+(H.getHours()>=12)]}s($,"formatPeriod");function W(H){return 1+~~(H.getMonth()/3)}s(W,"formatQuarter");function ee(H){return o[H.getUTCDay()]}s(ee,"formatUTCShortWeekday");function te(H){return a[H.getUTCDay()]}s(te,"formatUTCWeekday");function ce(H){return u[H.getUTCMonth()]}s(ce,"formatUTCShortMonth");function Z(H){return l[H.getUTCMonth()]}s(Z,"formatUTCMonth");function fe(H){return i[+(H.getUTCHours()>=12)]}s(fe,"formatUTCPeriod");function ne(H){return 1+~~(H.getUTCMonth()/3)}return s(ne,"formatUTCQuarter"),{format:s(function(H){var Q=T(H+="",k);return Q.toString=function(){return H},Q},"format"),parse:s(function(H){var Q=C(H+="",!1);return Q.toString=function(){return H},Q},"parse"),utcFormat:s(function(H){var Q=T(H+="",A);return Q.toString=function(){return H},Q},"utcFormat"),utcParse:s(function(H){var Q=C(H+="",!0);return Q.toString=function(){return H},Q},"utcParse")}}function Lr(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function Q4e(t,e,r){var n=Gi.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Z4e(t,e,r){var n=Gi.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function J4e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function e3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function t3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function zU(t,e,r){var n=Gi.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function $U(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function r3e(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function n3e(t,e,r){var n=Gi.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function i3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function GU(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function a3e(t,e,r){var n=Gi.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function VU(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function s3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function o3e(t,e,r){var n=Gi.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function l3e(t,e,r){var n=Gi.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function c3e(t,e,r){var n=Gi.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function u3e(t,e,r){var n=X4e.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function h3e(t,e,r){var n=Gi.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function f3e(t,e,r){var n=Gi.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function UU(t,e){return Lr(t.getDate(),e,2)}function d3e(t,e){return Lr(t.getHours(),e,2)}function p3e(t,e){return Lr(t.getHours()%12||12,e,2)}function m3e(t,e){return Lr(1+vo.count(Us(t),t),e,3)}function XU(t,e){return Lr(t.getMilliseconds(),e,3)}function g3e(t,e){return XU(t,e)+"000"}function y3e(t,e){return Lr(t.getMonth()+1,e,2)}function v3e(t,e){return Lr(t.getMinutes(),e,2)}function x3e(t,e){return Lr(t.getSeconds(),e,2)}function b3e(t){var e=t.getDay();return e===0?7:e}function k3e(t,e){return Lr(nl.count(Us(t)-1,t),e,2)}function jU(t){var e=t.getDay();return e>=4||e===0?Ql(t):Ql.ceil(t)}function w3e(t,e){return t=jU(t),Lr(Ql.count(Us(t),t)+(Us(t).getDay()===4),e,2)}function T3e(t){return t.getDay()}function E3e(t,e){return Lr(wh.count(Us(t)-1,t),e,2)}function C3e(t,e){return Lr(t.getFullYear()%100,e,2)}function S3e(t,e){return t=jU(t),Lr(t.getFullYear()%100,e,2)}function _3e(t,e){return Lr(t.getFullYear()%1e4,e,4)}function A3e(t,e){var r=t.getDay();return t=r>=4||r===0?Ql(t):Ql.ceil(t),Lr(t.getFullYear()%1e4,e,4)}function L3e(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Lr(e/60|0,"0",2)+Lr(e%60,"0",2)}function qU(t,e){return Lr(t.getUTCDate(),e,2)}function D3e(t,e){return Lr(t.getUTCHours(),e,2)}function R3e(t,e){return Lr(t.getUTCHours()%12||12,e,2)}function M3e(t,e){return Lr(1+ky.count(il(t),t),e,3)}function KU(t,e){return Lr(t.getUTCMilliseconds(),e,3)}function I3e(t,e){return KU(t,e)+"000"}function N3e(t,e){return Lr(t.getUTCMonth()+1,e,2)}function O3e(t,e){return Lr(t.getUTCMinutes(),e,2)}function P3e(t,e){return Lr(t.getUTCSeconds(),e,2)}function B3e(t){var e=t.getUTCDay();return e===0?7:e}function F3e(t,e){return Lr(rd.count(il(t)-1,t),e,2)}function QU(t){var e=t.getUTCDay();return e>=4||e===0?Th(t):Th.ceil(t)}function z3e(t,e){return t=QU(t),Lr(Th.count(il(t),t)+(il(t).getUTCDay()===4),e,2)}function $3e(t){return t.getUTCDay()}function G3e(t,e){return Lr(kp.count(il(t)-1,t),e,2)}function V3e(t,e){return Lr(t.getUTCFullYear()%100,e,2)}function U3e(t,e){return t=QU(t),Lr(t.getUTCFullYear()%100,e,2)}function q3e(t,e){return Lr(t.getUTCFullYear()%1e4,e,4)}function W3e(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Th(t):Th.ceil(t),Lr(t.getUTCFullYear()%1e4,e,4)}function H3e(){return"+0000"}function WU(){return"%"}function HU(t){return+t}function YU(t){return Math.floor(+t/1e3)}var FU,Gi,X4e,j4e,ZU=_(()=>{"use strict";Q4();s(r_,"localDate");s(n_,"utcDate");s(wy,"newDate");s(i_,"formatLocale");FU={"-":"",_:" ",0:"0"},Gi=/^\s*\d+/,X4e=/^%/,j4e=/[\\^$*+?|[\]().{}]/g;s(Lr,"pad");s(K4e,"requote");s(Ty,"formatRe");s(Ey,"formatLookup");s(Q4e,"parseWeekdayNumberSunday");s(Z4e,"parseWeekdayNumberMonday");s(J4e,"parseWeekNumberSunday");s(e3e,"parseWeekNumberISO");s(t3e,"parseWeekNumberMonday");s(zU,"parseFullYear");s($U,"parseYear");s(r3e,"parseZone");s(n3e,"parseQuarter");s(i3e,"parseMonthNumber");s(GU,"parseDayOfMonth");s(a3e,"parseDayOfYear");s(VU,"parseHour24");s(s3e,"parseMinutes");s(o3e,"parseSeconds");s(l3e,"parseMilliseconds");s(c3e,"parseMicroseconds");s(u3e,"parseLiteralPercent");s(h3e,"parseUnixTimestamp");s(f3e,"parseUnixTimestampSeconds");s(UU,"formatDayOfMonth");s(d3e,"formatHour24");s(p3e,"formatHour12");s(m3e,"formatDayOfYear");s(XU,"formatMilliseconds");s(g3e,"formatMicroseconds");s(y3e,"formatMonthNumber");s(v3e,"formatMinutes");s(x3e,"formatSeconds");s(b3e,"formatWeekdayNumberMonday");s(k3e,"formatWeekNumberSunday");s(jU,"dISO");s(w3e,"formatWeekNumberISO");s(T3e,"formatWeekdayNumberSunday");s(E3e,"formatWeekNumberMonday");s(C3e,"formatYear");s(S3e,"formatYearISO");s(_3e,"formatFullYear");s(A3e,"formatFullYearISO");s(L3e,"formatZone");s(qU,"formatUTCDayOfMonth");s(D3e,"formatUTCHour24");s(R3e,"formatUTCHour12");s(M3e,"formatUTCDayOfYear");s(KU,"formatUTCMilliseconds");s(I3e,"formatUTCMicroseconds");s(N3e,"formatUTCMonthNumber");s(O3e,"formatUTCMinutes");s(P3e,"formatUTCSeconds");s(B3e,"formatUTCWeekdayNumberMonday");s(F3e,"formatUTCWeekNumberSunday");s(QU,"UTCdISO");s(z3e,"formatUTCWeekNumberISO");s($3e,"formatUTCWeekdayNumberSunday");s(G3e,"formatUTCWeekNumberMonday");s(V3e,"formatUTCYear");s(U3e,"formatUTCYearISO");s(q3e,"formatUTCFullYear");s(W3e,"formatUTCFullYearISO");s(H3e,"formatUTCZone");s(WU,"formatLiteralPercent");s(HU,"formatUnixTimestamp");s(YU,"formatUnixTimestampSeconds")});function a_(t){return wp=i_(t),nd=wp.format,JU=wp.parse,eq=wp.utcFormat,tq=wp.utcParse,wp}var wp,nd,JU,eq,tq,rq=_(()=>{"use strict";ZU();a_({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});s(a_,"defaultLocale")});var s_=_(()=>{"use strict";rq()});function Y3e(t){return new Date(t)}function X3e(t){return t instanceof Date?+t:+new Date(+t)}function nq(t,e,r,n,i,a,o,l,u,h){var f=xy(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),k=h("%B"),A=h("%Y");function w(T){return(u(T){"use strict";Q4();s_();G8();vy();CU();s(Y3e,"date");s(X3e,"number");s(nq,"calendar");s(Z4,"time")});var aq=_(()=>{"use strict";xU();EU();B8();iq()});function o_(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";s(o_,"default")});var l_,oq=_(()=>{"use strict";sq();l_=o_("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var lq=_(()=>{"use strict";oq()});function Cn(t){return s(function(){return t},"constant")}var J4=_(()=>{"use strict";s(Cn,"default")});function uq(t){return t>1?0:t<-1?Tp:Math.acos(t)}function u_(t){return t>=1?Cy:t<=-1?-Cy:Math.asin(t)}var c_,ta,Eh,cq,e3,al,id,Vi,Tp,Cy,Ep,t3=_(()=>{"use strict";c_=Math.abs,ta=Math.atan2,Eh=Math.cos,cq=Math.max,e3=Math.min,al=Math.sin,id=Math.sqrt,Vi=1e-12,Tp=Math.PI,Cy=Tp/2,Ep=2*Tp;s(uq,"acos");s(u_,"asin")});function r3(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new Kf(e)}var h_=_(()=>{"use strict";T8();s(r3,"withPath")});function j3e(t){return t.innerRadius}function K3e(t){return t.outerRadius}function Q3e(t){return t.startAngle}function Z3e(t){return t.endAngle}function J3e(t){return t&&t.padAngle}function e5e(t,e,r,n,i,a,o,l){var u=r-t,h=n-e,f=o-i,d=l-a,p=d*u-f*h;if(!(p*pM*M+F*F&&(E=R,S=D),{cx:E,cy:S,x01:-f,y01:-d,x11:E*(i/w-1),y11:S*(i/w-1)}}function sl(){var t=j3e,e=K3e,r=Cn(0),n=null,i=Q3e,a=Z3e,o=J3e,l=null,u=r3(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-Cy,y=a.apply(this,arguments)-Cy,v=c_(y-g),x=y>g;if(l||(l=f=u()),mVi))l.moveTo(0,0);else if(v>Ep-Vi)l.moveTo(m*Eh(g),m*al(g)),l.arc(0,0,m,g,y,!x),p>Vi&&(l.moveTo(p*Eh(y),p*al(y)),l.arc(0,0,p,y,g,x));else{var b=g,k=y,A=g,w=y,T=v,C=v,E=o.apply(this,arguments)/2,S=E>Vi&&(n?+n.apply(this,arguments):id(p*p+m*m)),R=e3(c_(m-p)/2,+r.apply(this,arguments)),D=R,L=R,P,M;if(S>Vi){var F=u_(S/p*al(E)),I=u_(S/m*al(E));(T-=F*2)>Vi?(F*=x?1:-1,A+=F,w-=F):(T=0,A=w=(g+y)/2),(C-=I*2)>Vi?(I*=x?1:-1,b+=I,k-=I):(C=0,b=k=(g+y)/2)}var O=m*Eh(b),z=m*al(b),N=p*Eh(w),U=p*al(w);if(R>Vi){var $=m*Eh(k),W=m*al(k),ee=p*Eh(A),te=p*al(A),ce;if(vVi?L>Vi?(P=n3(ee,te,O,z,m,L,x),M=n3($,W,N,U,m,L,x),l.moveTo(P.cx+P.x01,P.cy+P.y01),LVi)||!(T>Vi)?l.lineTo(N,U):D>Vi?(P=n3(N,U,$,W,p,-D,x),M=n3(O,z,ee,te,p,-D,x),l.lineTo(P.cx+P.x01,P.cy+P.y01),D{"use strict";J4();t3();h_();s(j3e,"arcInnerRadius");s(K3e,"arcOuterRadius");s(Q3e,"arcStartAngle");s(Z3e,"arcEndAngle");s(J3e,"arcPadAngle");s(e5e,"intersect");s(n3,"cornerTangents");s(sl,"default")});function Sy(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var Opt,f_=_(()=>{"use strict";Opt=Array.prototype.slice;s(Sy,"default")});function fq(t){this._context=t}function uu(t){return new fq(t)}var d_=_(()=>{"use strict";s(fq,"Linear");fq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};s(uu,"default")});function dq(t){return t[0]}function pq(t){return t[1]}var mq=_(()=>{"use strict";s(dq,"x");s(pq,"y")});function ra(t,e){var r=Cn(!0),n=null,i=uu,a=null,o=r3(l);t=typeof t=="function"?t:t===void 0?dq:Cn(t),e=typeof e=="function"?e:e===void 0?pq:Cn(e);function l(u){var h,f=(u=Sy(u)).length,d,p=!1,m;for(n==null&&(a=i(m=o())),h=0;h<=f;++h)!(h{"use strict";f_();J4();d_();h_();mq();s(ra,"default")});function p_(t,e){return et?1:e>=t?0:NaN}var yq=_(()=>{"use strict";s(p_,"default")});function m_(t){return t}var vq=_(()=>{"use strict";s(m_,"default")});function i3(){var t=m_,e=p_,r=null,n=Cn(0),i=Cn(Ep),a=Cn(0);function o(l){var u,h=(l=Sy(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(Ep,Math.max(-Ep,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),k=b*(v<0?-1:1),A;for(u=0;u0&&(p+=A);for(e!=null?m.sort(function(w,T){return e(g[w],g[T])}):r!=null&&m.sort(function(w,T){return r(l[w],l[T])}),u=0,d=p?(v-h*k)/p:0;u0?A*d:0)+k,g[f]={data:l[f],index:u,value:A,startAngle:y,endAngle:x,padAngle:b};return g}return s(o,"pie"),o.value=function(l){return arguments.length?(t=typeof l=="function"?l:Cn(+l),o):t},o.sortValues=function(l){return arguments.length?(e=l,r=null,o):e},o.sort=function(l){return arguments.length?(r=l,e=null,o):r},o.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:Cn(+l),o):n},o.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Cn(+l),o):i},o.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Cn(+l),o):a},o}var xq=_(()=>{"use strict";f_();J4();yq();vq();t3();s(i3,"default")});function g_(t){return new a3(t,!0)}function y_(t){return new a3(t,!1)}var a3,bq=_(()=>{"use strict";a3=class{static{s(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};s(g_,"bumpX");s(y_,"bumpY")});function qs(){}var _y=_(()=>{"use strict";s(qs,"default")});function Cp(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function Ay(t){this._context=t}function hs(t){return new Ay(t)}var Ly=_(()=>{"use strict";s(Cp,"point");s(Ay,"Basis");Ay.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 3:Cp(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Cp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};s(hs,"default")});function kq(t){this._context=t}function s3(t){return new kq(t)}var wq=_(()=>{"use strict";_y();Ly();s(kq,"BasisClosed");kq.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Cp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};s(s3,"default")});function Tq(t){this._context=t}function o3(t){return new Tq(t)}var Eq=_(()=>{"use strict";Ly();s(Tq,"BasisOpen");Tq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Cp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};s(o3,"default")});function Cq(t,e){this._basis=new Ay(t),this._beta=e}var v_,Sq=_(()=>{"use strict";Ly();s(Cq,"Bundle");Cq.prototype={lineStart:s(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:s(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,o=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*o));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:s(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};v_=s(function t(e){function r(n){return e===1?new Ay(n):new Cq(n,e)}return s(r,"bundle"),r.beta=function(n){return t(+n)},r},"custom")(.85)});function Sp(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function l3(t,e){this._context=t,this._k=(1-e)/6}var x_,Dy=_(()=>{"use strict";s(Sp,"point");s(l3,"Cardinal");l3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Sp(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Sp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};x_=s(function t(e){function r(n){return new l3(n,e)}return s(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function c3(t,e){this._context=t,this._k=(1-e)/6}var b_,k_=_(()=>{"use strict";_y();Dy();s(c3,"CardinalClosed");c3.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Sp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};b_=s(function t(e){function r(n){return new c3(n,e)}return s(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function u3(t,e){this._context=t,this._k=(1-e)/6}var w_,T_=_(()=>{"use strict";Dy();s(u3,"CardinalOpen");u3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Sp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};w_=s(function t(e){function r(n){return new u3(n,e)}return s(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function Ry(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>Vi){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Vi){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,o=(o*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function _q(t,e){this._context=t,this._alpha=e}var E_,h3=_(()=>{"use strict";t3();Dy();s(Ry,"point");s(_q,"CatmullRom");_q.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Ry(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};E_=s(function t(e){function r(n){return e?new _q(n,e):new l3(n,0)}return s(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function Aq(t,e){this._context=t,this._alpha=e}var C_,Lq=_(()=>{"use strict";k_();_y();h3();s(Aq,"CatmullRomClosed");Aq.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:s(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Ry(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};C_=s(function t(e){function r(n){return e?new Aq(n,e):new c3(n,0)}return s(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function Dq(t,e){this._context=t,this._alpha=e}var S_,Rq=_(()=>{"use strict";T_();h3();s(Dq,"CatmullRomOpen");Dq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:s(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ry(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};S_=s(function t(e){function r(n){return e?new Dq(n,e):new u3(n,0)}return s(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function Mq(t){this._context=t}function f3(t){return new Mq(t)}var Iq=_(()=>{"use strict";_y();s(Mq,"LinearClosed");Mq.prototype={areaStart:qs,areaEnd:qs,lineStart:s(function(){this._point=0},"lineStart"),lineEnd:s(function(){this._point&&this._context.closePath()},"lineEnd"),point:s(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};s(f3,"default")});function Nq(t){return t<0?-1:1}function Oq(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),l=(a*i+o*n)/(n+i);return(Nq(a)+Nq(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(l))||0}function Pq(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function __(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,o-l*r,a,o)}function d3(t){this._context=t}function Bq(t){this._context=new Fq(t)}function Fq(t){this._context=t}function A_(t){return new d3(t)}function L_(t){return new Bq(t)}var zq=_(()=>{"use strict";s(Nq,"sign");s(Oq,"slope3");s(Pq,"slope2");s(__,"point");s(d3,"MonotoneX");d3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:s(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:__(this,this._t0,Pq(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:s(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,__(this,Pq(this,r=Oq(this,t,e)),r);break;default:__(this,this._t0,r=Oq(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};s(Bq,"MonotoneY");(Bq.prototype=Object.create(d3.prototype)).point=function(t,e){d3.prototype.point.call(this,e,t)};s(Fq,"ReflectContext");Fq.prototype={moveTo:s(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:s(function(){this._context.closePath()},"closePath"),lineTo:s(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:s(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};s(A_,"monotoneX");s(L_,"monotoneY")});function Gq(t){this._context=t}function $q(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";s(Gq,"Natural");Gq.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:s(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=$q(t),i=$q(e),a=0,o=1;o{"use strict";s(m3,"Step");m3.prototype={areaStart:s(function(){this._line=0},"areaStart"),areaEnd:s(function(){this._line=NaN},"areaEnd"),lineStart:s(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:s(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:s(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};s(g3,"default");s(D_,"stepBefore");s(R_,"stepAfter")});var qq=_(()=>{"use strict";hq();gq();xq();wq();Eq();Ly();bq();Sq();k_();T_();Dy();Lq();Rq();h3();Iq();d_();zq();Vq();Uq()});var Wq=_(()=>{"use strict"});var Hq=_(()=>{"use strict"});function Ch(t,e,r){this.k=t,this.x=e,this.y=r}function I_(t){for(;!t.__zoom;)if(!(t=t.parentNode))return M_;return t.__zoom}var M_,N_=_(()=>{"use strict";s(Ch,"Transform");Ch.prototype={constructor:Ch,scale:s(function(t){return t===1?this:new Ch(this.k*t,this.x,this.y)},"scale"),translate:s(function(t,e){return t===0&e===0?this:new Ch(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:s(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:s(function(t){return t*this.k+this.x},"applyX"),applyY:s(function(t){return t*this.k+this.y},"applyY"),invert:s(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:s(function(t){return(t-this.x)/this.k},"invertX"),invertY:s(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:s(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:s(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:s(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};M_=new Ch(1,0,0);I_.prototype=Ch.prototype;s(I_,"transform")});var Yq=_(()=>{"use strict"});var Xq=_(()=>{"use strict";M4();Wq();Hq();N_();Yq()});var jq=_(()=>{"use strict";Xq();N_()});var Xt=_(()=>{"use strict";ph();S$();WV();jV();dp();KV();QV();DC();yG();ZV();v8();JV();tU();O8();mU();gU();gp();T8();yU();eU();vU();aq();lq();Zo();qq();Q4();s_();S4();M4();jq()});var Kq=is(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.BLANK_URL=Ui.relativeFirstCharacters=Ui.whitespaceEscapeCharsRegex=Ui.urlSchemeRegex=Ui.ctrlCharactersRegex=Ui.htmlCtrlEntityRegex=Ui.htmlEntitiesRegex=Ui.invalidProtocolRegex=void 0;Ui.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;Ui.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;Ui.htmlCtrlEntityRegex=/&(newline|tab);/gi;Ui.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;Ui.urlSchemeRegex=/^.+(:|:)/gim;Ui.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;Ui.relativeFirstCharacters=[".","/"];Ui.BLANK_URL="about:blank"});var _p=is(y3=>{"use strict";Object.defineProperty(y3,"__esModule",{value:!0});y3.sanitizeUrl=void 0;var Ta=Kq();function t5e(t){return Ta.relativeFirstCharacters.indexOf(t[0])>-1}s(t5e,"isRelativeUrlWithoutProtocol");function r5e(t){var e=t.replace(Ta.ctrlCharactersRegex,"");return e.replace(Ta.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}s(r5e,"decodeHtmlCharacters");function n5e(t){return URL.canParse(t)}s(n5e,"isValidUrl");function Qq(t){try{return decodeURIComponent(t)}catch{return t}}s(Qq,"decodeURI");function i5e(t){if(!t)return Ta.BLANK_URL;var e,r=Qq(t.trim());do r=r5e(r).replace(Ta.htmlCtrlEntityRegex,"").replace(Ta.ctrlCharactersRegex,"").replace(Ta.whitespaceEscapeCharsRegex,"").trim(),r=Qq(r),e=r.match(Ta.ctrlCharactersRegex)||r.match(Ta.htmlEntitiesRegex)||r.match(Ta.htmlCtrlEntityRegex)||r.match(Ta.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Ta.BLANK_URL;if(t5e(n))return n;var i=n.trimStart(),a=i.match(Ta.urlSchemeRegex);if(!a)return n;var o=a[0].toLowerCase().trim();if(Ta.invalidProtocolRegex.test(o))return Ta.BLANK_URL;var l=i.replace(/\\/g,"/");if(o==="mailto:"||o.includes("://"))return l;if(o==="http:"||o==="https:"){if(!n5e(l))return Ta.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}s(i5e,"sanitizeUrl");y3.sanitizeUrl=i5e});var O_,ad,v3,Zq,Jq,eW,ol,My,Iy=_(()=>{"use strict";O_=ka(_p(),1);Qt();ad=s((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),v3=s((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};ad(t,r).lower()},"drawBackgroundRect"),Zq=s((t,e)=>{let r=e.text.replace(zf," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),Jq=s((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,O_.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),eW=s((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,O_.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),ol=s(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),My=s(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var tW,P_,rW,a5e,s5e,o5e,l5e,c5e,u5e,h5e,f5e,d5e,p5e,m5e,g5e,hu,ll,nW=_(()=>{"use strict";Qt();Iy();tW=ka(_p(),1),P_=s(function(t,e){return ad(t,e)},"drawRect"),rW=s(function(t,e,r,n,i,a){let o=t.append("image");o.attr("width",e),o.attr("height",r),o.attr("x",n),o.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,tW.sanitizeUrl)(a);o.attr("xlink:href",l)},"drawImage"),a5e=s((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let o=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();hu(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:o},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),hu(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:o,"font-style":"italic"},d))}},"drawRels"),s5e=s(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",o=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};P_(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=o,hu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=o,hu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=o,hu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),o5e=s(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=ol();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},P_(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=g5e(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":rW(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,o);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,hu(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?hu(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&hu(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,hu(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),l5e=s(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),c5e=s(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),u5e=s(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),h5e=s(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),f5e=s(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),d5e=s(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),p5e=s(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),m5e=s(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),g5e=s((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),hu=function(){function t(i,a,o,l,u,h,f){let d=a.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}s(t,"byText");function e(i,a,o,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split($e.lineBreakRegex);for(let v=0;v{"use strict";y5e=typeof global=="object"&&global&&global.Object===Object&&global,b3=y5e});var v5e,x5e,Wn,xo=_(()=>{"use strict";B_();v5e=typeof self=="object"&&self&&self.Object===Object&&self,x5e=b3||v5e||Function("return this")(),Wn=x5e});var b5e,qi,sd=_(()=>{"use strict";xo();b5e=Wn.Symbol,qi=b5e});function T5e(t){var e=k5e.call(t,Ny),r=t[Ny];try{t[Ny]=void 0;var n=!0}catch{}var i=w5e.call(t);return n&&(e?t[Ny]=r:delete t[Ny]),i}var iW,k5e,w5e,Ny,aW,sW=_(()=>{"use strict";sd();iW=Object.prototype,k5e=iW.hasOwnProperty,w5e=iW.toString,Ny=qi?qi.toStringTag:void 0;s(T5e,"getRawTag");aW=T5e});function S5e(t){return C5e.call(t)}var E5e,C5e,oW,lW=_(()=>{"use strict";E5e=Object.prototype,C5e=E5e.toString;s(S5e,"objectToString");oW=S5e});function L5e(t){return t==null?t===void 0?A5e:_5e:cW&&cW in Object(t)?aW(t):oW(t)}var _5e,A5e,cW,na,fu=_(()=>{"use strict";sd();sW();lW();_5e="[object Null]",A5e="[object Undefined]",cW=qi?qi.toStringTag:void 0;s(L5e,"baseGetTag");na=L5e});function D5e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var on,Ws=_(()=>{"use strict";s(D5e,"isObject");on=D5e});function O5e(t){if(!on(t))return!1;var e=na(t);return e==M5e||e==I5e||e==R5e||e==N5e}var R5e,M5e,I5e,N5e,fi,Oy=_(()=>{"use strict";fu();Ws();R5e="[object AsyncFunction]",M5e="[object Function]",I5e="[object GeneratorFunction]",N5e="[object Proxy]";s(O5e,"isFunction");fi=O5e});var P5e,k3,uW=_(()=>{"use strict";xo();P5e=Wn["__core-js_shared__"],k3=P5e});function B5e(t){return!!hW&&hW in t}var hW,fW,dW=_(()=>{"use strict";uW();hW=function(){var t=/[^.]+$/.exec(k3&&k3.keys&&k3.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();s(B5e,"isMasked");fW=B5e});function $5e(t){if(t!=null){try{return z5e.call(t)}catch{}try{return t+""}catch{}}return""}var F5e,z5e,du,F_=_(()=>{"use strict";F5e=Function.prototype,z5e=F5e.toString;s($5e,"toSource");du=$5e});function X5e(t){if(!on(t)||fW(t))return!1;var e=fi(t)?Y5e:V5e;return e.test(du(t))}var G5e,V5e,U5e,q5e,W5e,H5e,Y5e,pW,mW=_(()=>{"use strict";Oy();dW();Ws();F_();G5e=/[\\^$.*+?()[\]{}|]/g,V5e=/^\[object .+?Constructor\]$/,U5e=Function.prototype,q5e=Object.prototype,W5e=U5e.toString,H5e=q5e.hasOwnProperty,Y5e=RegExp("^"+W5e.call(H5e).replace(G5e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");s(X5e,"baseIsNative");pW=X5e});function j5e(t,e){return t?.[e]}var gW,yW=_(()=>{"use strict";s(j5e,"getValue");gW=j5e});function K5e(t,e){var r=gW(t,e);return pW(r)?r:void 0}var fs,Sh=_(()=>{"use strict";mW();yW();s(K5e,"getNative");fs=K5e});var Q5e,pu,Py=_(()=>{"use strict";Sh();Q5e=fs(Object,"create"),pu=Q5e});function Z5e(){this.__data__=pu?pu(null):{},this.size=0}var vW,xW=_(()=>{"use strict";Py();s(Z5e,"hashClear");vW=Z5e});function J5e(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var bW,kW=_(()=>{"use strict";s(J5e,"hashDelete");bW=J5e});function nke(t){var e=this.__data__;if(pu){var r=e[t];return r===eke?void 0:r}return rke.call(e,t)?e[t]:void 0}var eke,tke,rke,wW,TW=_(()=>{"use strict";Py();eke="__lodash_hash_undefined__",tke=Object.prototype,rke=tke.hasOwnProperty;s(nke,"hashGet");wW=nke});function ske(t){var e=this.__data__;return pu?e[t]!==void 0:ake.call(e,t)}var ike,ake,EW,CW=_(()=>{"use strict";Py();ike=Object.prototype,ake=ike.hasOwnProperty;s(ske,"hashHas");EW=ske});function lke(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=pu&&e===void 0?oke:e,this}var oke,SW,_W=_(()=>{"use strict";Py();oke="__lodash_hash_undefined__";s(lke,"hashSet");SW=lke});function Ap(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";xW();kW();TW();CW();_W();s(Ap,"Hash");Ap.prototype.clear=vW;Ap.prototype.delete=bW;Ap.prototype.get=wW;Ap.prototype.has=EW;Ap.prototype.set=SW;z_=Ap});function cke(){this.__data__=[],this.size=0}var LW,DW=_(()=>{"use strict";s(cke,"listCacheClear");LW=cke});function uke(t,e){return t===e||t!==t&&e!==e}var bo,od=_(()=>{"use strict";s(uke,"eq");bo=uke});function hke(t,e){for(var r=t.length;r--;)if(bo(t[r][0],e))return r;return-1}var _h,By=_(()=>{"use strict";od();s(hke,"assocIndexOf");_h=hke});function pke(t){var e=this.__data__,r=_h(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():dke.call(e,r,1),--this.size,!0}var fke,dke,RW,MW=_(()=>{"use strict";By();fke=Array.prototype,dke=fke.splice;s(pke,"listCacheDelete");RW=pke});function mke(t){var e=this.__data__,r=_h(e,t);return r<0?void 0:e[r][1]}var IW,NW=_(()=>{"use strict";By();s(mke,"listCacheGet");IW=mke});function gke(t){return _h(this.__data__,t)>-1}var OW,PW=_(()=>{"use strict";By();s(gke,"listCacheHas");OW=gke});function yke(t,e){var r=this.__data__,n=_h(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var BW,FW=_(()=>{"use strict";By();s(yke,"listCacheSet");BW=yke});function Lp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";DW();MW();NW();PW();FW();s(Lp,"ListCache");Lp.prototype.clear=LW;Lp.prototype.delete=RW;Lp.prototype.get=IW;Lp.prototype.has=OW;Lp.prototype.set=BW;Ah=Lp});var vke,Lh,w3=_(()=>{"use strict";Sh();xo();vke=fs(Wn,"Map"),Lh=vke});function xke(){this.size=0,this.__data__={hash:new z_,map:new(Lh||Ah),string:new z_}}var zW,$W=_(()=>{"use strict";AW();Fy();w3();s(xke,"mapCacheClear");zW=xke});function bke(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var GW,VW=_(()=>{"use strict";s(bke,"isKeyable");GW=bke});function kke(t,e){var r=t.__data__;return GW(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Dh,zy=_(()=>{"use strict";VW();s(kke,"getMapData");Dh=kke});function wke(t){var e=Dh(this,t).delete(t);return this.size-=e?1:0,e}var UW,qW=_(()=>{"use strict";zy();s(wke,"mapCacheDelete");UW=wke});function Tke(t){return Dh(this,t).get(t)}var WW,HW=_(()=>{"use strict";zy();s(Tke,"mapCacheGet");WW=Tke});function Eke(t){return Dh(this,t).has(t)}var YW,XW=_(()=>{"use strict";zy();s(Eke,"mapCacheHas");YW=Eke});function Cke(t,e){var r=Dh(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var jW,KW=_(()=>{"use strict";zy();s(Cke,"mapCacheSet");jW=Cke});function Dp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";$W();qW();HW();XW();KW();s(Dp,"MapCache");Dp.prototype.clear=zW;Dp.prototype.delete=UW;Dp.prototype.get=WW;Dp.prototype.has=YW;Dp.prototype.set=jW;ld=Dp});function $_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Ske);var r=s(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=t.apply(this,n);return r.cache=a.set(i,o)||a,o},"memoized");return r.cache=new($_.Cache||ld),r}var Ske,Rp,G_=_(()=>{"use strict";T3();Ske="Expected a function";s($_,"memoize");$_.Cache=ld;Rp=$_});function _ke(){this.__data__=new Ah,this.size=0}var QW,ZW=_(()=>{"use strict";Fy();s(_ke,"stackClear");QW=_ke});function Ake(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var JW,eH=_(()=>{"use strict";s(Ake,"stackDelete");JW=Ake});function Lke(t){return this.__data__.get(t)}var tH,rH=_(()=>{"use strict";s(Lke,"stackGet");tH=Lke});function Dke(t){return this.__data__.has(t)}var nH,iH=_(()=>{"use strict";s(Dke,"stackHas");nH=Dke});function Mke(t,e){var r=this.__data__;if(r instanceof Ah){var n=r.__data__;if(!Lh||n.length{"use strict";Fy();w3();T3();Rke=200;s(Mke,"stackSet");aH=Mke});function Mp(t){var e=this.__data__=new Ah(t);this.size=e.size}var Zl,$y=_(()=>{"use strict";Fy();ZW();eH();rH();iH();sH();s(Mp,"Stack");Mp.prototype.clear=QW;Mp.prototype.delete=JW;Mp.prototype.get=tH;Mp.prototype.has=nH;Mp.prototype.set=aH;Zl=Mp});var Ike,Ip,V_=_(()=>{"use strict";Sh();Ike=function(){try{var t=fs(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Ip=Ike});function Nke(t,e,r){e=="__proto__"&&Ip?Ip(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var Jl,Np=_(()=>{"use strict";V_();s(Nke,"baseAssignValue");Jl=Nke});function Oke(t,e,r){(r!==void 0&&!bo(t[e],r)||r===void 0&&!(e in t))&&Jl(t,e,r)}var Gy,U_=_(()=>{"use strict";Np();od();s(Oke,"assignMergeValue");Gy=Oke});function Pke(t){return function(e,r,n){for(var i=-1,a=Object(e),o=n(e),l=o.length;l--;){var u=o[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var oH,lH=_(()=>{"use strict";s(Pke,"createBaseFor");oH=Pke});var Bke,Op,E3=_(()=>{"use strict";lH();Bke=oH(),Op=Bke});function zke(t,e){if(e)return t.slice();var r=t.length,n=hH?hH(r):new t.constructor(r);return t.copy(n),n}var fH,cH,Fke,uH,hH,C3,q_=_(()=>{"use strict";xo();fH=typeof exports=="object"&&exports&&!exports.nodeType&&exports,cH=fH&&typeof module=="object"&&module&&!module.nodeType&&module,Fke=cH&&cH.exports===fH,uH=Fke?Wn.Buffer:void 0,hH=uH?uH.allocUnsafe:void 0;s(zke,"cloneBuffer");C3=zke});var $ke,Pp,W_=_(()=>{"use strict";xo();$ke=Wn.Uint8Array,Pp=$ke});function Gke(t){var e=new t.constructor(t.byteLength);return new Pp(e).set(new Pp(t)),e}var Bp,S3=_(()=>{"use strict";W_();s(Gke,"cloneArrayBuffer");Bp=Gke});function Vke(t,e){var r=e?Bp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var _3,H_=_(()=>{"use strict";S3();s(Vke,"cloneTypedArray");_3=Vke});function Uke(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";s(Uke,"copyArray");A3=Uke});var dH,qke,pH,mH=_(()=>{"use strict";Ws();dH=Object.create,qke=function(){function t(){}return s(t,"object"),function(e){if(!on(e))return{};if(dH)return dH(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),pH=qke});function Wke(t,e){return function(r){return t(e(r))}}var L3,X_=_(()=>{"use strict";s(Wke,"overArg");L3=Wke});var Hke,Fp,D3=_(()=>{"use strict";X_();Hke=L3(Object.getPrototypeOf,Object),Fp=Hke});function Xke(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Yke;return t===r}var Yke,ec,zp=_(()=>{"use strict";Yke=Object.prototype;s(Xke,"isPrototype");ec=Xke});function jke(t){return typeof t.constructor=="function"&&!ec(t)?pH(Fp(t)):{}}var R3,j_=_(()=>{"use strict";mH();D3();zp();s(jke,"initCloneObject");R3=jke});function Kke(t){return t!=null&&typeof t=="object"}var Fn,ko=_(()=>{"use strict";s(Kke,"isObjectLike");Fn=Kke});function Zke(t){return Fn(t)&&na(t)==Qke}var Qke,K_,gH=_(()=>{"use strict";fu();ko();Qke="[object Arguments]";s(Zke,"baseIsArguments");K_=Zke});var yH,Jke,e6e,t6e,cl,$p=_(()=>{"use strict";gH();ko();yH=Object.prototype,Jke=yH.hasOwnProperty,e6e=yH.propertyIsEnumerable,t6e=K_(function(){return arguments}())?K_:function(t){return Fn(t)&&Jke.call(t,"callee")&&!e6e.call(t,"callee")},cl=t6e});var r6e,ct,Dn=_(()=>{"use strict";r6e=Array.isArray,ct=r6e});function i6e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=n6e}var n6e,Gp,M3=_(()=>{"use strict";n6e=9007199254740991;s(i6e,"isLength");Gp=i6e});function a6e(t){return t!=null&&Gp(t.length)&&!fi(t)}var Hn,wo=_(()=>{"use strict";Oy();M3();s(a6e,"isArrayLike");Hn=a6e});function s6e(t){return Fn(t)&&Hn(t)}var cd,I3=_(()=>{"use strict";wo();ko();s(s6e,"isArrayLikeObject");cd=s6e});function o6e(){return!1}var vH,xH=_(()=>{"use strict";s(o6e,"stubFalse");vH=o6e});var wH,bH,l6e,kH,c6e,u6e,ul,Vp=_(()=>{"use strict";xo();xH();wH=typeof exports=="object"&&exports&&!exports.nodeType&&exports,bH=wH&&typeof module=="object"&&module&&!module.nodeType&&module,l6e=bH&&bH.exports===wH,kH=l6e?Wn.Buffer:void 0,c6e=kH?kH.isBuffer:void 0,u6e=c6e||vH,ul=u6e});function g6e(t){if(!Fn(t)||na(t)!=h6e)return!1;var e=Fp(t);if(e===null)return!0;var r=p6e.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&TH.call(r)==m6e}var h6e,f6e,d6e,TH,p6e,m6e,EH,CH=_(()=>{"use strict";fu();D3();ko();h6e="[object Object]",f6e=Function.prototype,d6e=Object.prototype,TH=f6e.toString,p6e=d6e.hasOwnProperty,m6e=TH.call(Object);s(g6e,"isPlainObject");EH=g6e});function G6e(t){return Fn(t)&&Gp(t.length)&&!!Sn[na(t)]}var y6e,v6e,x6e,b6e,k6e,w6e,T6e,E6e,C6e,S6e,_6e,A6e,L6e,D6e,R6e,M6e,I6e,N6e,O6e,P6e,B6e,F6e,z6e,$6e,Sn,SH,_H=_(()=>{"use strict";fu();M3();ko();y6e="[object Arguments]",v6e="[object Array]",x6e="[object Boolean]",b6e="[object Date]",k6e="[object Error]",w6e="[object Function]",T6e="[object Map]",E6e="[object Number]",C6e="[object Object]",S6e="[object RegExp]",_6e="[object Set]",A6e="[object String]",L6e="[object WeakMap]",D6e="[object ArrayBuffer]",R6e="[object DataView]",M6e="[object Float32Array]",I6e="[object Float64Array]",N6e="[object Int8Array]",O6e="[object Int16Array]",P6e="[object Int32Array]",B6e="[object Uint8Array]",F6e="[object Uint8ClampedArray]",z6e="[object Uint16Array]",$6e="[object Uint32Array]",Sn={};Sn[M6e]=Sn[I6e]=Sn[N6e]=Sn[O6e]=Sn[P6e]=Sn[B6e]=Sn[F6e]=Sn[z6e]=Sn[$6e]=!0;Sn[y6e]=Sn[v6e]=Sn[D6e]=Sn[x6e]=Sn[R6e]=Sn[b6e]=Sn[k6e]=Sn[w6e]=Sn[T6e]=Sn[E6e]=Sn[C6e]=Sn[S6e]=Sn[_6e]=Sn[A6e]=Sn[L6e]=!1;s(G6e,"baseIsTypedArray");SH=G6e});function V6e(t){return function(e){return t(e)}}var To,ud=_(()=>{"use strict";s(V6e,"baseUnary");To=V6e});var AH,Vy,U6e,Q_,q6e,Eo,Uy=_(()=>{"use strict";B_();AH=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Vy=AH&&typeof module=="object"&&module&&!module.nodeType&&module,U6e=Vy&&Vy.exports===AH,Q_=U6e&&b3.process,q6e=function(){try{var t=Vy&&Vy.require&&Vy.require("util").types;return t||Q_&&Q_.binding&&Q_.binding("util")}catch{}}(),Eo=q6e});var LH,W6e,Rh,qy=_(()=>{"use strict";_H();ud();Uy();LH=Eo&&Eo.isTypedArray,W6e=LH?To(LH):SH,Rh=W6e});function H6e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var Wy,Z_=_(()=>{"use strict";s(H6e,"safeGet");Wy=H6e});function j6e(t,e,r){var n=t[e];(!(X6e.call(t,e)&&bo(n,r))||r===void 0&&!(e in t))&&Jl(t,e,r)}var Y6e,X6e,tc,Up=_(()=>{"use strict";Np();od();Y6e=Object.prototype,X6e=Y6e.hasOwnProperty;s(j6e,"assignValue");tc=j6e});function K6e(t,e,r,n){var i=!r;r||(r={});for(var a=-1,o=e.length;++a{"use strict";Up();Np();s(K6e,"copyObject");Co=K6e});function Q6e(t,e){for(var r=-1,n=Array(t);++r{"use strict";s(Q6e,"baseTimes");DH=Q6e});function ewe(t,e){var r=typeof t;return e=e??Z6e,!!e&&(r=="number"||r!="symbol"&&J6e.test(t))&&t>-1&&t%1==0&&t{"use strict";Z6e=9007199254740991,J6e=/^(?:0|[1-9]\d*)$/;s(ewe,"isIndex");Mh=ewe});function nwe(t,e){var r=ct(t),n=!r&&cl(t),i=!r&&!n&&ul(t),a=!r&&!n&&!i&&Rh(t),o=r||n||i||a,l=o?DH(t.length,String):[],u=l.length;for(var h in t)(e||rwe.call(t,h))&&!(o&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Mh(h,u)))&&l.push(h);return l}var twe,rwe,N3,J_=_(()=>{"use strict";RH();$p();Dn();Vp();Hy();qy();twe=Object.prototype,rwe=twe.hasOwnProperty;s(nwe,"arrayLikeKeys");N3=nwe});function iwe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var MH,IH=_(()=>{"use strict";s(iwe,"nativeKeysIn");MH=iwe});function owe(t){if(!on(t))return MH(t);var e=ec(t),r=[];for(var n in t)n=="constructor"&&(e||!swe.call(t,n))||r.push(n);return r}var awe,swe,NH,OH=_(()=>{"use strict";Ws();zp();IH();awe=Object.prototype,swe=awe.hasOwnProperty;s(owe,"baseKeysIn");NH=owe});function lwe(t){return Hn(t)?N3(t,!0):NH(t)}var ds,Ih=_(()=>{"use strict";J_();OH();wo();s(lwe,"keysIn");ds=lwe});function cwe(t){return Co(t,ds(t))}var PH,BH=_(()=>{"use strict";hd();Ih();s(cwe,"toPlainObject");PH=cwe});function uwe(t,e,r,n,i,a,o){var l=Wy(t,r),u=Wy(e,r),h=o.get(u);if(h){Gy(t,r,h);return}var f=a?a(l,u,r+"",t,e,o):void 0,d=f===void 0;if(d){var p=ct(u),m=!p&&ul(u),g=!p&&!m&&Rh(u);f=u,p||m||g?ct(l)?f=l:cd(l)?f=A3(l):m?(d=!1,f=C3(u,!0)):g?(d=!1,f=_3(u,!0)):f=[]:EH(u)||cl(u)?(f=l,cl(l)?f=PH(l):(!on(l)||fi(l))&&(f=R3(u))):d=!1}d&&(o.set(u,f),i(f,u,n,a,o),o.delete(u)),Gy(t,r,f)}var FH,zH=_(()=>{"use strict";U_();q_();H_();Y_();j_();$p();Dn();I3();Vp();Oy();Ws();CH();qy();Z_();BH();s(uwe,"baseMergeDeep");FH=uwe});function $H(t,e,r,n,i){t!==e&&Op(e,function(a,o){if(i||(i=new Zl),on(a))FH(t,e,o,r,$H,n,i);else{var l=n?n(Wy(t,o),a,o+"",t,e,i):void 0;l===void 0&&(l=a),Gy(t,o,l)}},ds)}var GH,VH=_(()=>{"use strict";$y();U_();E3();zH();Ws();Ih();Z_();s($H,"baseMerge");GH=$H});function hwe(t){return t}var Wi,mu=_(()=>{"use strict";s(hwe,"identity");Wi=hwe});function fwe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var UH,qH=_(()=>{"use strict";s(fwe,"apply");UH=fwe});function dwe(t,e,r){return e=WH(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=WH(n.length-e,0),o=Array(a);++i{"use strict";qH();WH=Math.max;s(dwe,"overRest");O3=dwe});function pwe(t){return function(){return t}}var ps,tA=_(()=>{"use strict";s(pwe,"constant");ps=pwe});var mwe,HH,YH=_(()=>{"use strict";tA();V_();mu();mwe=Ip?function(t,e){return Ip(t,"toString",{configurable:!0,enumerable:!1,value:ps(e),writable:!0})}:Wi,HH=mwe});function xwe(t){var e=0,r=0;return function(){var n=vwe(),i=ywe-(n-r);if(r=n,i>0){if(++e>=gwe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var gwe,ywe,vwe,XH,jH=_(()=>{"use strict";gwe=800,ywe=16,vwe=Date.now;s(xwe,"shortOut");XH=xwe});var bwe,P3,rA=_(()=>{"use strict";YH();jH();bwe=XH(HH),P3=bwe});function kwe(t,e){return P3(O3(t,e,Wi),t+"")}var rc,qp=_(()=>{"use strict";mu();eA();rA();s(kwe,"baseRest");rc=kwe});function wwe(t,e,r){if(!on(r))return!1;var n=typeof e;return(n=="number"?Hn(r)&&Mh(e,r.length):n=="string"&&e in r)?bo(r[e],t):!1}var Hs,fd=_(()=>{"use strict";od();wo();Hy();Ws();s(wwe,"isIterateeCall");Hs=wwe});function Twe(t){return rc(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,o&&Hs(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";qp();fd();s(Twe,"createAssigner");B3=Twe});var Ewe,Nh,iA=_(()=>{"use strict";VH();nA();Ewe=B3(function(t,e,r){GH(t,e,r)}),Nh=Ewe});function Wp(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return Cwe[r]??e}function Lwe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,ZH.sanitizeUrl)(r):r}function tY(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Rwe(t){let e,r=0;t.forEach(i=>{r+=tY(i,e),e=i});let n=r/2;return oA(t,n)}function Mwe(t){return t.length===1?t[0]:Rwe(t)}function Nwe(t,e,r){let n=structuredClone(r);V.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=oA(n,i),o=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*o+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*o+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*o+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*o+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*o+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*o+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*o+(n[0].x+a.x)/2,u.y=-Math.cos(l)*o+(n[0].y+a.y)/2),u}function Hp(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function Owe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;i{"use strict";ZH=ka(_p(),1);Xt();Qt();fE();it();Mf();Y0();G_();iA();hb();sA="\u200B",Cwe={curveBasis:hs,curveBasisClosed:s3,curveBasisOpen:o3,curveBumpX:g_,curveBumpY:y_,curveBundle:v_,curveCardinalClosed:b_,curveCardinalOpen:w_,curveCardinal:x_,curveCatmullRomClosed:C_,curveCatmullRomOpen:S_,curveCatmullRom:E_,curveLinear:uu,curveLinearClosed:f3,curveMonotoneX:A_,curveMonotoneY:L_,curveNatural:p3,curveStep:g3,curveStepAfter:R_,curveStepBefore:D_},Swe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,_we=s(function(t,e){let r=JH(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let o=r.map(l=>l.args);K0(o),n=An(n,[...o])}else n=r.args;if(!n)return;let i=H0(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),JH=s(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${Swe.source})(?=[}][%]{2}).* -`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),V.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Df.exec(t))!==null;)if(n.index===Df.lastIndex&&Df.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],o=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:o})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return V.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),eY=s(function(t){return t.replace(Df,"")},"removeDirectives"),Awe=s(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");s(Wp,"interpolateToCurve");s(Lwe,"formatUrl");Dwe=s((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let o=0;o{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),oA=s((t,e)=>{let r,n=e;for(let i of t){if(r){let a=tY(i,r);if(a=1)return{x:i.x,y:i.y};if(o>0&&o<1)return{x:KH((1-o)*r.x+o*i.x,5),y:KH((1-o)*r.y+o*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),Iwe=s((t,e,r)=>{V.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=oA(e,25),a=t?10:5,o=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(o)*a+(e[0].x+i.x)/2,l.y=-Math.cos(o)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");s(Nwe,"calcTerminalLabelPosition");s(Hp,"getStylesFromArray");QH=0,lA=s(()=>(QH++,"id-"+Math.random().toString(36).substr(2,12)+"-"+QH),"generateId");s(Owe,"makeRandomHex");cA=s(t=>Owe(t.length),"random"),Pwe=s(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),Bwe=s(function(t,e){let r=e.text.replace($e.lineBreakRegex," "),[,n]=nc(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),uA=Rp((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),$e.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((o,l)=>{let u=hl(`${o} `,r),h=hl(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=Fwe(o,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=o):a=[a,o].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(o=>o!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),Fwe=Rp((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],o="";return i.forEach((l,u)=>{let h=`${o}${l}`;if(hl(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),o=""}else o=h}),{hyphenatedStrings:a,remainingWord:o}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);s(z3,"calculateTextHeight");s(hl,"calculateTextWidth");hA=Rp((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=nc(r),o=["sans-serif",n],l=t.split($e.lineBreakRegex),u=[],h=Me("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of o){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=Pwe();v.text=y||sA;let x=Bwe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),aA=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{s(this,"InitIDGenerator")}},zwe=s(function(t){return F3=F3||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),F3.innerHTML=t,unescape(F3.textContent)},"entityDecode");s(fA,"isDetailedError");$we=s((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),nc=s(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");s(ms,"cleanAndMerge");dt={assignWithDepth:An,wrapLabel:uA,calculateTextHeight:z3,calculateTextWidth:hl,calculateTextDimensions:hA,cleanAndMerge:ms,detectInit:_we,detectDirective:JH,isSubstringInArray:Awe,interpolateToCurve:Wp,calcLabelPosition:Mwe,calcCardinalityPosition:Iwe,calcTerminalLabelPosition:Nwe,formatUrl:Lwe,getStylesFromArray:Hp,generateId:lA,random:cA,runFunc:Dwe,entityDecode:zwe,insertTitle:$we,parseFontSize:nc,InitIDGenerator:aA},rY=s(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),Ys=s(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),$3=s((t,e,{counter:r=0,prefix:n,suffix:i})=>`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId")});function fl(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=uA(e[t].text,i,n),e[t].textLines=e[t].text.split($e.lineBreakRegex).length,e[t].width=i,e[t].height=z3(e[t].text,n);else{let a=e[t].text.split($e.lineBreakRegex);e[t].textLines=a.length;let o=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(hl(l,n),e[t].width),o=z3(l,n),e[t].height=e[t].height+o}}function oY(t,e,r,n,i){let a=new q3(i);a.data.widthLimit=r.data.widthLimit/Math.min(dA,n.length);for(let[o,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&kt.wrap,f=G3(kt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",fl("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=G3(kt);fl("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=G3(kt);g.fontSize=g.fontSize-2,fl("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(o==0||o%dA===0){let g=r.data.startx+kt.diagramMarginX,y=r.data.stopy+kt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+kt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&sY(a,t,d,p),e=l.alias;let m=i.db.getBoundarys(e);m.length>0&&oY(t,e,a,m,i),l.alias!=="global"&&aY(t,l,a),r.data.stopy=Math.max(a.data.stopy+kt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+kt.c4ShapeMargin,r.data.stopx),V3=Math.max(V3,r.data.stopx),U3=Math.max(U3,r.data.stopy)}}var V3,U3,iY,dA,kt,q3,pA,Yy,G3,Gwe,aY,sY,gs,nY,Vwe,Uwe,qwe,mA,lY=_(()=>{"use strict";Xt();nW();it();Z7();Qt();vC();gt();Y0();pr();Un();V3=0,U3=0,iY=4,dA=2;C1.yy=Y1;kt={},q3=class{static{s(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,pA(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>iY)&&(r=this.nextData.startx+e.margin+kt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},pA(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},pA=s(function(t){An(kt,t),t.fontFamily&&(kt.personFontFamily=kt.systemFontFamily=kt.messageFontFamily=t.fontFamily),t.fontSize&&(kt.personFontSize=kt.systemFontSize=kt.messageFontSize=t.fontSize),t.fontWeight&&(kt.personFontWeight=kt.systemFontWeight=kt.messageFontWeight=t.fontWeight)},"setConf"),Yy=s((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),G3=s(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),Gwe=s(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");s(fl,"calcC4ShapeTextWH");aY=s(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=kt.c4ShapeMargin-35;let n=e.wrap&&kt.wrap,i=G3(kt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=hl(e.label.text,i);fl("label",e,n,i,a),ll.drawBoundary(t,e,kt)},"drawBoundary"),sY=s(function(t,e,r,n){let i=0;for(let a of n){i=0;let o=r[a],l=Yy(kt,o.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,o.typeC4Shape.width=hl("\xAB"+o.typeC4Shape.text+"\xBB",l),o.typeC4Shape.height=l.fontSize+2,o.typeC4Shape.Y=kt.c4ShapePadding,i=o.typeC4Shape.Y+o.typeC4Shape.height-4,o.image={width:0,height:0,Y:0},o.typeC4Shape.text){case"person":case"external_person":o.image.width=48,o.image.height=48,o.image.Y=i,i=o.image.Y+o.image.height;break}o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=i,i=o.image.Y+o.image.height);let u=o.wrap&&kt.wrap,h=kt.width-kt.c4ShapePadding*2,f=Yy(kt,o.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",fl("label",o,u,f,h),o.label.Y=i+8,i=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let m=Yy(kt,o.typeC4Shape.text);fl("type",o,u,m,h),o.type.Y=i+5,i=o.type.Y+o.type.height}else if(o.techn&&o.techn.text!==""){o.techn.text="["+o.techn.text+"]";let m=Yy(kt,o.techn.text);fl("techn",o,u,m,h),o.techn.Y=i+5,i=o.techn.Y+o.techn.height}let d=i,p=o.label.width;if(o.descr&&o.descr.text!==""){let m=Yy(kt,o.typeC4Shape.text);fl("descr",o,u,m,h),o.descr.Y=i+20,i=o.descr.Y+o.descr.height,p=Math.max(o.label.width,o.descr.width),d=i-o.descr.textLines*5}p=p+kt.c4ShapePadding,o.width=Math.max(o.width||kt.width,p,kt.width),o.height=Math.max(o.height||kt.height,d,kt.height),o.margin=o.margin||kt.c4ShapeMargin,t.insert(o),ll.drawC4Shape(e,o,kt)}t.bumpLastMargin(kt.c4ShapeMargin)},"drawC4ShapeArray"),gs=class{static{s(this,"Point")}constructor(e,r){this.x=e,this.y=r}},nY=s(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,o=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new gs(r,l):r==i&&na&&(p=new gs(o,n)),r>i&&n=f?p=new gs(r,l+f*t.width/2):p=new gs(o-u/h*t.height/2,n+t.height):r=f?p=new gs(r+t.width,l+f*t.width/2):p=new gs(o+u/h*t.height/2,n+t.height):ra?d>=f?p=new gs(r+t.width,l-f*t.width/2):p=new gs(o+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new gs(r,l-t.width/2*f):p=new gs(o-t.height/2*u/h,n)),p},"getIntersectPoint"),Vwe=s(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=nY(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=nY(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),Uwe=s(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let o=a.wrap&&kt.wrap,l=Gwe(kt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=hl(a.label.text,l);fl("label",a,o,l,h),a.techn&&a.techn.text!==""&&(h=hl(a.techn.text,l),fl("techn",a,o,l,h)),a.descr&&a.descr.text!==""&&(h=hl(a.descr.text,l),fl("descr",a,o,l,h));let f=r(a.from),d=r(a.to),p=Vwe(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}ll.drawRels(t,e,kt)},"drawRels");s(oY,"drawInsideBoundary");qwe=s(function(t,e,r,n){kt=le().c4;let i=le().securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let o=i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body"),l=n.db;n.db.setWrap(kt.wrap),iY=l.getC4ShapeInRow(),dA=l.getC4BoundaryInRow(),V.debug(`C:${JSON.stringify(kt,null,2)}`);let u=i==="sandbox"?o.select(`[id="${e}"]`):Me(`[id="${e}"]`);ll.insertComputerIcon(u),ll.insertDatabaseIcon(u),ll.insertClockIcon(u);let h=new q3(n);h.setData(kt.diagramMarginX,kt.diagramMarginX,kt.diagramMarginY,kt.diagramMarginY),h.data.widthLimit=screen.availWidth,V3=kt.diagramMarginX,U3=kt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundarys("");oY(u,"",h,d,n),ll.insertArrowHead(u),ll.insertArrowEnd(u),ll.insertArrowCrossHead(u),ll.insertArrowFilledHead(u),Uwe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=V3,h.data.stopy=U3;let p=h.data,g=p.stopy-p.starty+2*kt.diagramMarginY,v=p.stopx-p.startx+2*kt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*kt.diagramMarginX).attr("y",p.starty+kt.diagramMarginY),xr(u,g,v,kt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-kt.diagramMarginX+" -"+(kt.diagramMarginY+x)+" "+v+" "+(g+x)),V.debug("models:",p)},"draw"),mA={drawPersonOrSystemArray:sY,drawBoundary:aY,setConf:pA,draw:qwe}});var Wwe,cY,uY=_(()=>{"use strict";Wwe=s(t=>`.person { +`},"getStyles"),LG=o((t,e)=>{e!==void 0&&(S4[t]=e)},"addStylesForDiagram"),DG=zbe});var ly={};hr(ly,{clear:()=>vr,getAccDescription:()=>Lr,getAccTitle:()=>Ar,getDiagramTitle:()=>Xr,setAccDescription:()=>_r,setAccTitle:()=>kr,setDiagramTitle:()=>nn});var J7,eS,tS,rS,vr,kr,Ar,_r,Lr,nn,Xr,bi=R(()=>{"use strict";rr();qs();J7="",eS="",tS="",rS=o(t=>qr(t,Or()),"sanitizeText"),vr=o(()=>{J7="",tS="",eS=""},"clear"),kr=o(t=>{J7=rS(t).replace(/^\s+/g,"")},"setAccTitle"),Ar=o(()=>J7,"getAccTitle"),_r=o(t=>{tS=rS(t).replace(/\n\s+/g,` +`)},"setAccDescription"),Lr=o(()=>tS,"getAccDescription"),nn=o(t=>{eS=rS(t)},"setDiagramTitle"),Xr=o(()=>eS,"getDiagramTitle")});var RG,$be,de,iS,_4,Gbe,aS,Vbe,A4,Jf,cy,nS,_t=R(()=>{"use strict";Hf();ut();qs();rr();Yn();Z7();bi();RG=V,$be=G1,de=Or,iS=Zb,_4=uh,Gbe=o(t=>qr(t,de()),"sanitizeText"),aS=Lo,Vbe=o(()=>ly,"getCommonDb"),A4={},Jf=o((t,e,r)=>{A4[t]&&RG.warn(`Diagram with id ${t} already registered. Overwriting.`),A4[t]=e,r&&GC(t,r),LG(t,e.styles),e.injectUtils?.(RG,$be,de,Gbe,aS,Vbe(),()=>{})},"registerDiagram"),cy=o(t=>{if(t in A4)return A4[t];throw new nS(t)},"getDiagram"),nS=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var ul,vh,ja,cl,nc,uy,sS,oS,L4,D4,NG,Ube,Hbe,Ybe,Wbe,qbe,Xbe,jbe,Kbe,Qbe,Zbe,Jbe,e4e,t4e,r4e,n4e,i4e,a4e,MG,s4e,o4e,IG,l4e,c4e,u4e,h4e,xh,f4e,d4e,p4e,m4e,g4e,hy,lS=R(()=>{"use strict";_t();rr();bi();ul=[],vh=[""],ja="global",cl="",nc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],uy=[],sS="",oS=!1,L4=4,D4=2,Ube=o(function(){return NG},"getC4Type"),Hbe=o(function(t){NG=qr(t,de())},"setC4Type"),Ybe=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=uy.find(d=>d.from===e&&d.to===r);if(f?h=f:uy.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=xh()},"addRel"),Wbe=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=ul.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,ul.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=ja,l.wrap=xh()},"addPersonOrSystem"),qbe=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ul.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ul.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=xh(),u.typeC4Shape={text:t},u.parentBoundary=ja},"addContainer"),Xbe=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=ul.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,ul.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=xh(),u.typeC4Shape={text:t},u.parentBoundary=ja},"addComponent"),jbe=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=nc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,nc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=ja,a.wrap=xh(),cl=ja,ja=t,vh.push(cl)},"addPersonOrSystemBoundary"),Kbe=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=nc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,nc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=ja,a.wrap=xh(),cl=ja,ja=t,vh.push(cl)},"addContainerBoundary"),Qbe=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=nc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,nc.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=ja,u.wrap=xh(),cl=ja,ja=e,vh.push(cl)},"addDeploymentNode"),Zbe=o(function(){ja=cl,vh.pop(),cl=vh.pop(),vh.push(cl)},"popBoundaryParseStack"),Jbe=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=ul.find(p=>p.alias===e);if(!(d===void 0&&(d=nc.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),e4e=o(function(t,e,r,n,i,a,s){let l=uy.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),t4e=o(function(t,e,r){let n=L4,i=D4;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(L4=n),i>=1&&(D4=i)},"updateLayoutConfig"),r4e=o(function(){return L4},"getC4ShapeInRow"),n4e=o(function(){return D4},"getC4BoundaryInRow"),i4e=o(function(){return ja},"getCurrentBoundaryParse"),a4e=o(function(){return cl},"getParentBoundaryParse"),MG=o(function(t){return t==null?ul:ul.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),s4e=o(function(t){return ul.find(e=>e.alias===t)},"getC4Shape"),o4e=o(function(t){return Object.keys(MG(t))},"getC4ShapeKeys"),IG=o(function(t){return t==null?nc:nc.filter(e=>e.parentBoundary===t)},"getBoundaries"),l4e=IG,c4e=o(function(){return uy},"getRels"),u4e=o(function(){return sS},"getTitle"),h4e=o(function(t){oS=t},"setWrap"),xh=o(function(){return oS},"autoWrap"),f4e=o(function(){ul=[],nc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],cl="",ja="global",vh=[""],uy=[],vh=[""],sS="",oS=!1,L4=4,D4=2},"clear"),d4e={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},p4e={FILLED:0,OPEN:1},m4e={LEFTOF:0,RIGHTOF:1,OVER:2},g4e=o(function(t){sS=qr(t,de())},"setTitle"),hy={addPersonOrSystem:Wbe,addPersonOrSystemBoundary:jbe,addContainer:qbe,addContainerBoundary:Kbe,addComponent:Xbe,addDeploymentNode:Qbe,popBoundaryParseStack:Zbe,addRel:Ybe,updateElStyle:Jbe,updateRelStyle:e4e,updateLayoutConfig:t4e,autoWrap:xh,setWrap:h4e,getC4ShapeArray:MG,getC4Shape:s4e,getC4ShapeKeys:o4e,getBoundaries:IG,getBoundarys:l4e,getCurrentBoundaryParse:i4e,getParentBoundaryParse:a4e,getRels:c4e,getTitle:u4e,getC4Type:Ube,getC4ShapeInRow:r4e,getC4BoundaryInRow:n4e,setAccTitle:kr,getAccTitle:Ar,getAccDescription:Lr,setAccDescription:_r,getConfig:o(()=>de().c4,"getConfig"),clear:f4e,LINETYPE:d4e,ARROWTYPE:p4e,PLACEMENT:m4e,setTitle:g4e,setC4Type:Hbe}});function ed(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var cS=R(()=>{"use strict";o(ed,"ascending")});function uS(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var OG=R(()=>{"use strict";o(uS,"descending")});function td(t){let e,r,n;t.length!==2?(e=ed,r=o((l,u)=>ed(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===ed||t===uS?t:y4e,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function y4e(){return 0}var hS=R(()=>{"use strict";cS();OG();o(td,"bisector");o(y4e,"zero")});function fS(t){return t===null?NaN:+t}var PG=R(()=>{"use strict";o(fS,"number")});var BG,FG,v4e,x4e,dS,zG=R(()=>{"use strict";cS();hS();PG();BG=td(ed),FG=BG.right,v4e=BG.left,x4e=td(fS).center,dS=FG});function $G({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function b4e({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function w4e({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function T4e(t){return t!==null&&typeof t=="object"?t.valueOf():t}var wp,GG=R(()=>{"use strict";wp=class extends Map{static{o(this,"InternMap")}constructor(e,r=T4e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get($G(this,e))}has(e){return super.has($G(this,e))}set(e,r){return super.set(b4e(this,e),r)}delete(e){return super.delete(w4e(this,e))}};o($G,"intern_get");o(b4e,"intern_set");o(w4e,"intern_delete");o(T4e,"keyof")});function R4(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=k4e?10:a>=E4e?5:a>=C4e?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";k4e=Math.sqrt(50),E4e=Math.sqrt(10),C4e=Math.sqrt(2);o(R4,"tickSpec");o(N4,"ticks");o(fy,"tickIncrement");o(Tp,"tickStep")});function M4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var UG=R(()=>{"use strict";o(M4,"max")});function I4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var HG=R(()=>{"use strict";o(I4,"min")});function O4(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";o(O4,"range")});var bh=R(()=>{"use strict";zG();hS();UG();HG();YG();VG();GG()});function pS(t){return t}var WG=R(()=>{"use strict";o(pS,"default")});function S4e(t){return"translate("+t+",0)"}function A4e(t){return"translate(0,"+t+")"}function _4e(t){return e=>+t(e)}function L4e(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function D4e(){return!this.__axis}function XG(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===B4||t===P4?-1:1,f=t===P4||t===mS?"x":"y",d=t===B4||t===gS?S4e:A4e;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):pS),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,w=+x[x.length-1]+u,S=(e.bandwidth?L4e:_4e)(e.copy(),u),T=m.selection?m.selection():m,E=T.selectAll(".domain").data([null]),_=T.selectAll(".tick").data(g,e).order(),A=_.exit(),L=_.enter().append("g").attr("class","tick"),M=_.select("line"),N=_.select("text");E=E.merge(E.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(L),M=M.merge(L.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),N=N.merge(L.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===B4?"0em":t===gS?"0.71em":"0.32em")),m!==T&&(E=E.transition(m),_=_.transition(m),M=M.transition(m),N=N.transition(m),A=A.transition(m).attr("opacity",qG).attr("transform",function(k){return isFinite(k=S(k))?d(k+u):this.getAttribute("transform")}),L.attr("opacity",qG).attr("transform",function(k){var I=this.parentNode.__axis;return d((I&&isFinite(I=I(k))?I:S(k))+u)})),A.remove(),E.attr("d",t===P4||t===mS?s?"M"+h*s+","+b+"H"+u+"V"+w+"H"+h*s:"M"+u+","+b+"V"+w:s?"M"+b+","+h*s+"V"+u+"H"+w+"V"+h*s:"M"+b+","+u+"H"+w),_.attr("opacity",1).attr("transform",function(k){return d(S(k)+u)}),M.attr(f+"2",h*a),N.attr(f,h*v).text(y),T.filter(D4e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===mS?"start":t===P4?"end":"middle"),T.each(function(){this.__axis=S})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function yS(t){return XG(B4,t)}function vS(t){return XG(gS,t)}var B4,mS,gS,P4,qG,jG=R(()=>{"use strict";WG();B4=1,mS=2,gS=3,P4=4,qG=1e-6;o(S4e,"translateX");o(A4e,"translateY");o(_4e,"number");o(L4e,"center");o(D4e,"entering");o(XG,"axis");o(yS,"axisTop");o(vS,"axisBottom")});var KG=R(()=>{"use strict";jG()});function ZG(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}function M4e(t,e){for(var r=0,n=t.length,i;r{"use strict";R4e={value:o(()=>{},"value")};o(ZG,"dispatch");o(F4,"Dispatch");o(N4e,"parseTypenames");F4.prototype=ZG.prototype={constructor:F4,on:o(function(t,e){var r=this._,n=N4e(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";JG()});var z4,wS,TS=R(()=>{"use strict";z4="http://www.w3.org/1999/xhtml",wS={svg:"http://www.w3.org/2000/svg",xhtml:z4,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function ic(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),wS.hasOwnProperty(e)?{space:wS[e],local:t}:t}var $4=R(()=>{"use strict";TS();o(ic,"default")});function I4e(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===z4&&e.documentElement.namespaceURI===z4?e.createElement(t):e.createElementNS(r,t)}}function O4e(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function dy(t){var e=ic(t);return(e.local?O4e:I4e)(e)}var kS=R(()=>{"use strict";$4();TS();o(I4e,"creatorInherit");o(O4e,"creatorFixed");o(dy,"default")});function P4e(){}function wh(t){return t==null?P4e:function(){return this.querySelector(t)}}var G4=R(()=>{"use strict";o(P4e,"none");o(wh,"default")});function ES(t){typeof t!="function"&&(t=wh(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";hl();G4();o(ES,"default")});function CS(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var tV=R(()=>{"use strict";o(CS,"array")});function B4e(){return[]}function kp(t){return t==null?B4e:function(){return this.querySelectorAll(t)}}var SS=R(()=>{"use strict";o(B4e,"empty");o(kp,"default")});function F4e(t){return function(){return CS(t.apply(this,arguments))}}function AS(t){typeof t=="function"?t=F4e(t):t=kp(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";hl();tV();SS();o(F4e,"arrayAll");o(AS,"default")});function Ep(t){return function(){return this.matches(t)}}function V4(t){return function(e){return e.matches(t)}}var py=R(()=>{"use strict";o(Ep,"default");o(V4,"childMatcher")});function $4e(t){return function(){return z4e.call(this.children,t)}}function G4e(){return this.firstElementChild}function _S(t){return this.select(t==null?G4e:$4e(typeof t=="function"?t:V4(t)))}var z4e,nV=R(()=>{"use strict";py();z4e=Array.prototype.find;o($4e,"childFind");o(G4e,"childFirst");o(_S,"default")});function U4e(){return Array.from(this.children)}function H4e(t){return function(){return V4e.call(this.children,t)}}function LS(t){return this.selectAll(t==null?U4e:H4e(typeof t=="function"?t:V4(t)))}var V4e,iV=R(()=>{"use strict";py();V4e=Array.prototype.filter;o(U4e,"children");o(H4e,"childrenFilter");o(LS,"default")});function DS(t){typeof t!="function"&&(t=Ep(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";hl();py();o(DS,"default")});function my(t){return new Array(t.length)}var RS=R(()=>{"use strict";o(my,"default")});function NS(){return new Zn(this._enter||this._groups.map(my),this._parents)}function gy(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var MS=R(()=>{"use strict";RS();hl();o(NS,"default");o(gy,"EnterNode");gy.prototype={constructor:gy,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function IS(t){return function(){return t}}var sV=R(()=>{"use strict";o(IS,"default")});function Y4e(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=w&&(w=b+1);!(T=v[w])&&++w{"use strict";hl();MS();sV();o(Y4e,"bindIndex");o(W4e,"bindKey");o(q4e,"datum");o(OS,"default");o(X4e,"arraylike")});function PS(){return new Zn(this._exit||this._groups.map(my),this._parents)}var lV=R(()=>{"use strict";RS();hl();o(PS,"default")});function BS(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}var cV=R(()=>{"use strict";o(BS,"default")});function FS(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),l=new Array(i),u=0;u{"use strict";hl();o(FS,"default")});function zS(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var hV=R(()=>{"use strict";o(zS,"default")});function $S(t){t||(t=j4e);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var fV=R(()=>{"use strict";hl();o($S,"default");o(j4e,"ascending")});function GS(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var dV=R(()=>{"use strict";o(GS,"default")});function VS(){return Array.from(this)}var pV=R(()=>{"use strict";o(VS,"default")});function US(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(US,"default")});function HS(){let t=0;for(let e of this)++t;return t}var gV=R(()=>{"use strict";o(HS,"default")});function YS(){return!this.node()}var yV=R(()=>{"use strict";o(YS,"default")});function WS(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(WS,"default")});function K4e(t){return function(){this.removeAttribute(t)}}function Q4e(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Z4e(t,e){return function(){this.setAttribute(t,e)}}function J4e(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function e3e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function t3e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function qS(t,e){var r=ic(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?Q4e:K4e:typeof e=="function"?r.local?t3e:e3e:r.local?J4e:Z4e)(r,e))}var xV=R(()=>{"use strict";$4();o(K4e,"attrRemove");o(Q4e,"attrRemoveNS");o(Z4e,"attrConstant");o(J4e,"attrConstantNS");o(e3e,"attrFunction");o(t3e,"attrFunctionNS");o(qS,"default")});function yy(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var XS=R(()=>{"use strict";o(yy,"default")});function r3e(t){return function(){this.style.removeProperty(t)}}function n3e(t,e,r){return function(){this.style.setProperty(t,e,r)}}function i3e(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function jS(t,e,r){return arguments.length>1?this.each((e==null?r3e:typeof e=="function"?i3e:n3e)(t,e,r??"")):Th(this.node(),t)}function Th(t,e){return t.style.getPropertyValue(e)||yy(t).getComputedStyle(t,null).getPropertyValue(e)}var KS=R(()=>{"use strict";XS();o(r3e,"styleRemove");o(n3e,"styleConstant");o(i3e,"styleFunction");o(jS,"default");o(Th,"styleValue")});function a3e(t){return function(){delete this[t]}}function s3e(t,e){return function(){this[t]=e}}function o3e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function QS(t,e){return arguments.length>1?this.each((e==null?a3e:typeof e=="function"?o3e:s3e)(t,e)):this.node()[t]}var bV=R(()=>{"use strict";o(a3e,"propertyRemove");o(s3e,"propertyConstant");o(o3e,"propertyFunction");o(QS,"default")});function wV(t){return t.trim().split(/^|\s+/)}function ZS(t){return t.classList||new TV(t)}function TV(t){this._node=t,this._names=wV(t.getAttribute("class")||"")}function kV(t,e){for(var r=ZS(t),n=-1,i=e.length;++n{"use strict";o(wV,"classArray");o(ZS,"classList");o(TV,"ClassList");TV.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o(kV,"classedAdd");o(EV,"classedRemove");o(l3e,"classedTrue");o(c3e,"classedFalse");o(u3e,"classedFunction");o(JS,"default")});function h3e(){this.textContent=""}function f3e(t){return function(){this.textContent=t}}function d3e(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function eA(t){return arguments.length?this.each(t==null?h3e:(typeof t=="function"?d3e:f3e)(t)):this.node().textContent}var SV=R(()=>{"use strict";o(h3e,"textRemove");o(f3e,"textConstant");o(d3e,"textFunction");o(eA,"default")});function p3e(){this.innerHTML=""}function m3e(t){return function(){this.innerHTML=t}}function g3e(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function tA(t){return arguments.length?this.each(t==null?p3e:(typeof t=="function"?g3e:m3e)(t)):this.node().innerHTML}var AV=R(()=>{"use strict";o(p3e,"htmlRemove");o(m3e,"htmlConstant");o(g3e,"htmlFunction");o(tA,"default")});function y3e(){this.nextSibling&&this.parentNode.appendChild(this)}function rA(){return this.each(y3e)}var _V=R(()=>{"use strict";o(y3e,"raise");o(rA,"default")});function v3e(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function nA(){return this.each(v3e)}var LV=R(()=>{"use strict";o(v3e,"lower");o(nA,"default")});function iA(t){var e=typeof t=="function"?t:dy(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var DV=R(()=>{"use strict";kS();o(iA,"default")});function x3e(){return null}function aA(t,e){var r=typeof t=="function"?t:dy(t),n=e==null?x3e:typeof e=="function"?e:wh(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var RV=R(()=>{"use strict";kS();G4();o(x3e,"constantNull");o(aA,"default")});function b3e(){var t=this.parentNode;t&&t.removeChild(this)}function sA(){return this.each(b3e)}var NV=R(()=>{"use strict";o(b3e,"remove");o(sA,"default")});function w3e(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function T3e(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oA(t){return this.select(t?T3e:w3e)}var MV=R(()=>{"use strict";o(w3e,"selection_cloneShallow");o(T3e,"selection_cloneDeep");o(oA,"default")});function lA(t){return arguments.length?this.property("__data__",t):this.node().__data__}var IV=R(()=>{"use strict";o(lA,"default")});function k3e(t){return function(e){t.call(this,e,this.__data__)}}function E3e(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function C3e(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(k3e,"contextListener");o(E3e,"parseTypenames");o(C3e,"onRemove");o(S3e,"onAdd");o(cA,"default")});function PV(t,e,r){var n=yy(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function A3e(t,e){return function(){return PV(this,t,e)}}function _3e(t,e){return function(){return PV(this,t,e.apply(this,arguments))}}function uA(t,e){return this.each((typeof e=="function"?_3e:A3e)(t,e))}var BV=R(()=>{"use strict";XS();o(PV,"dispatchEvent");o(A3e,"dispatchConstant");o(_3e,"dispatchFunction");o(uA,"default")});function*hA(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(hA,"default")});function Zn(t,e){this._groups=t,this._parents=e}function zV(){return new Zn([[document.documentElement]],fA)}function L3e(){return this}var fA,cu,hl=R(()=>{"use strict";eV();rV();nV();iV();aV();oV();MS();lV();cV();uV();hV();fV();dV();pV();mV();gV();yV();vV();xV();KS();bV();CV();SV();AV();_V();LV();DV();RV();NV();MV();IV();OV();BV();FV();fA=[null];o(Zn,"Selection");o(zV,"selection");o(L3e,"selection_selection");Zn.prototype=zV.prototype={constructor:Zn,select:ES,selectAll:AS,selectChild:_S,selectChildren:LS,filter:DS,data:OS,enter:NS,exit:PS,join:BS,merge:FS,selection:L3e,order:zS,sort:$S,call:GS,nodes:VS,node:US,size:HS,empty:YS,each:WS,attr:qS,style:jS,property:QS,classed:JS,text:eA,html:tA,raise:rA,lower:nA,append:iA,insert:aA,remove:sA,clone:oA,datum:lA,on:cA,dispatch:uA,[Symbol.iterator]:hA};cu=zV});function Ge(t){return typeof t=="string"?new Zn([[document.querySelector(t)]],[document.documentElement]):new Zn([[t]],fA)}var $V=R(()=>{"use strict";hl();o(Ge,"default")});var fl=R(()=>{"use strict";py();$4();$V();hl();G4();SS();KS()});var GV=R(()=>{"use strict"});function kh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function Cp(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var dA=R(()=>{"use strict";o(kh,"default");o(Cp,"extend")});function Eh(){}function UV(){return this.rgb().formatHex()}function B3e(){return this.rgb().formatHex8()}function F3e(){return KV(this).formatHsl()}function HV(){return this.rgb().formatRgb()}function pl(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=D3e.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?YV(e):r===3?new la(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?U4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?U4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=R3e.exec(t))?new la(e[1],e[2],e[3],1):(e=N3e.exec(t))?new la(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=M3e.exec(t))?U4(e[1],e[2],e[3],e[4]):(e=I3e.exec(t))?U4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=O3e.exec(t))?XV(e[1],e[2]/100,e[3]/100,1):(e=P3e.exec(t))?XV(e[1],e[2]/100,e[3]/100,e[4]):VV.hasOwnProperty(t)?YV(VV[t]):t==="transparent"?new la(NaN,NaN,NaN,0):null}function YV(t){return new la(t>>16&255,t>>8&255,t&255,1)}function U4(t,e,r,n){return n<=0&&(t=e=r=NaN),new la(t,e,r,n)}function mA(t){return t instanceof Eh||(t=pl(t)),t?(t=t.rgb(),new la(t.r,t.g,t.b,t.opacity)):new la}function Ap(t,e,r,n){return arguments.length===1?mA(t):new la(t,e,r,n??1)}function la(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function WV(){return`#${rd(this.r)}${rd(this.g)}${rd(this.b)}`}function z3e(){return`#${rd(this.r)}${rd(this.g)}${rd(this.b)}${rd((isNaN(this.opacity)?1:this.opacity)*255)}`}function qV(){let t=W4(this.opacity);return`${t===1?"rgb(":"rgba("}${nd(this.r)}, ${nd(this.g)}, ${nd(this.b)}${t===1?")":`, ${t})`}`}function W4(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function nd(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function rd(t){return t=nd(t),(t<16?"0":"")+t.toString(16)}function XV(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new dl(t,e,r,n)}function KV(t){if(t instanceof dl)return new dl(t.h,t.s,t.l,t.opacity);if(t instanceof Eh||(t=pl(t)),!t)return new dl;if(t instanceof dl)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new dl(s,l,u,t.opacity)}function QV(t,e,r,n){return arguments.length===1?KV(t):new dl(t,e,r,n??1)}function dl(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function jV(t){return t=(t||0)%360,t<0?t+360:t}function H4(t){return Math.max(0,Math.min(1,t||0))}function pA(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var vy,Y4,Sp,xy,ac,D3e,R3e,N3e,M3e,I3e,O3e,P3e,VV,gA=R(()=>{"use strict";dA();o(Eh,"Color");vy=.7,Y4=1/vy,Sp="\\s*([+-]?\\d+)\\s*",xy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ac="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",D3e=/^#([0-9a-f]{3,8})$/,R3e=new RegExp(`^rgb\\(${Sp},${Sp},${Sp}\\)$`),N3e=new RegExp(`^rgb\\(${ac},${ac},${ac}\\)$`),M3e=new RegExp(`^rgba\\(${Sp},${Sp},${Sp},${xy}\\)$`),I3e=new RegExp(`^rgba\\(${ac},${ac},${ac},${xy}\\)$`),O3e=new RegExp(`^hsl\\(${xy},${ac},${ac}\\)$`),P3e=new RegExp(`^hsla\\(${xy},${ac},${ac},${xy}\\)$`),VV={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};kh(Eh,pl,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:UV,formatHex:UV,formatHex8:B3e,formatHsl:F3e,formatRgb:HV,toString:HV});o(UV,"color_formatHex");o(B3e,"color_formatHex8");o(F3e,"color_formatHsl");o(HV,"color_formatRgb");o(pl,"color");o(YV,"rgbn");o(U4,"rgba");o(mA,"rgbConvert");o(Ap,"rgb");o(la,"Rgb");kh(la,Ap,Cp(Eh,{brighter(t){return t=t==null?Y4:Math.pow(Y4,t),new la(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?vy:Math.pow(vy,t),new la(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new la(nd(this.r),nd(this.g),nd(this.b),W4(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:WV,formatHex:WV,formatHex8:z3e,formatRgb:qV,toString:qV}));o(WV,"rgb_formatHex");o(z3e,"rgb_formatHex8");o(qV,"rgb_formatRgb");o(W4,"clampa");o(nd,"clampi");o(rd,"hex");o(XV,"hsla");o(KV,"hslConvert");o(QV,"hsl");o(dl,"Hsl");kh(dl,QV,Cp(Eh,{brighter(t){return t=t==null?Y4:Math.pow(Y4,t),new dl(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?vy:Math.pow(vy,t),new dl(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new la(pA(t>=240?t-240:t+120,i,n),pA(t,i,n),pA(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new dl(jV(this.h),H4(this.s),H4(this.l),W4(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=W4(this.opacity);return`${t===1?"hsl(":"hsla("}${jV(this.h)}, ${H4(this.s)*100}%, ${H4(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(jV,"clamph");o(H4,"clampt");o(pA,"hsl2rgb")});var ZV,JV,eU=R(()=>{"use strict";ZV=Math.PI/180,JV=180/Math.PI});function sU(t){if(t instanceof sc)return new sc(t.l,t.a,t.b,t.opacity);if(t instanceof uu)return oU(t);t instanceof la||(t=mA(t));var e=bA(t.r),r=bA(t.g),n=bA(t.b),i=yA((.2225045*e+.7168786*r+.0606169*n)/rU),a,s;return e===r&&r===n?a=s=i:(a=yA((.4360747*e+.3850649*r+.1430804*n)/tU),s=yA((.0139322*e+.0971045*r+.7141733*n)/nU)),new sc(116*i-16,500*(a-i),200*(i-s),t.opacity)}function wA(t,e,r,n){return arguments.length===1?sU(t):new sc(t,e,r,n??1)}function sc(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function yA(t){return t>$3e?Math.pow(t,1/3):t/aU+iU}function vA(t){return t>_p?t*t*t:aU*(t-iU)}function xA(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function bA(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function G3e(t){if(t instanceof uu)return new uu(t.h,t.c,t.l,t.opacity);if(t instanceof sc||(t=sU(t)),t.a===0&&t.b===0)return new uu(NaN,0{"use strict";dA();gA();eU();q4=18,tU=.96422,rU=1,nU=.82521,iU=4/29,_p=6/29,aU=3*_p*_p,$3e=_p*_p*_p;o(sU,"labConvert");o(wA,"lab");o(sc,"Lab");kh(sc,wA,Cp(Eh,{brighter(t){return new sc(this.l+q4*(t??1),this.a,this.b,this.opacity)},darker(t){return new sc(this.l-q4*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=tU*vA(e),t=rU*vA(t),r=nU*vA(r),new la(xA(3.1338561*e-1.6168667*t-.4906146*r),xA(-.9787684*e+1.9161415*t+.033454*r),xA(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(yA,"xyz2lab");o(vA,"lab2xyz");o(xA,"lrgb2rgb");o(bA,"rgb2lrgb");o(G3e,"hclConvert");o(by,"hcl");o(uu,"Hcl");o(oU,"hcl2lab");kh(uu,by,Cp(Eh,{brighter(t){return new uu(this.h,this.c,this.l+q4*(t??1),this.opacity)},darker(t){return new uu(this.h,this.c,this.l-q4*(t??1),this.opacity)},rgb(){return oU(this).rgb()}}))});var Lp=R(()=>{"use strict";gA();lU()});function TA(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function kA(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(TA,"basis");o(kA,"default")});function CA(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return TA((r-n/e)*e,i,a,s,l)}}var cU=R(()=>{"use strict";EA();o(CA,"default")});var Dp,SA=R(()=>{"use strict";Dp=o(t=>()=>t,"default")});function uU(t,e){return function(r){return t+r*e}}function V3e(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function hU(t,e){var r=e-t;return r?uU(t,r>180||r<-180?r-360*Math.round(r/360):r):Dp(isNaN(t)?e:t)}function fU(t){return(t=+t)==1?hu:function(e,r){return r-e?V3e(e,r,t):Dp(isNaN(e)?r:e)}}function hu(t,e){var r=e-t;return r?uU(t,r):Dp(isNaN(t)?e:t)}var AA=R(()=>{"use strict";SA();o(uU,"linear");o(V3e,"exponential");o(hU,"hue");o(fU,"gamma");o(hu,"nogamma")});function dU(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";Lp();EA();cU();AA();id=o(function t(e){var r=fU(e);function n(i,a){var s=r((i=Ap(i)).r,(a=Ap(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=hu(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n},"rgbGamma")(1);o(dU,"rgbSpline");U3e=dU(kA),H3e=dU(CA)});function LA(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";o(LA,"default");o(pU,"isNumberArray")});function gU(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s{"use strict";X4();o(gU,"genericArray")});function DA(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var vU=R(()=>{"use strict";o(DA,"default")});function ji(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var wy=R(()=>{"use strict";o(ji,"default")});function RA(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=Ch(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var xU=R(()=>{"use strict";X4();o(RA,"default")});function Y3e(t){return function(){return t}}function W3e(t){return function(e){return t(e)+""}}function Rp(t,e){var r=MA.lastIndex=NA.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=MA.exec(t))&&(i=NA.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:ji(n,i)})),r=NA.lastIndex;return r{"use strict";wy();MA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,NA=new RegExp(MA.source,"g");o(Y3e,"zero");o(W3e,"one");o(Rp,"default")});function Ch(t,e){var r=typeof e,n;return e==null||r==="boolean"?Dp(e):(r==="number"?ji:r==="string"?(n=pl(e))?(e=n,id):Rp:e instanceof pl?id:e instanceof Date?DA:pU(e)?LA:Array.isArray(e)?gU:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?RA:ji)(t,e)}var X4=R(()=>{"use strict";Lp();_A();yU();vU();wy();xU();IA();SA();mU();o(Ch,"default")});function j4(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var bU=R(()=>{"use strict";o(j4,"default")});function Q4(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";wU=180/Math.PI,K4={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(Q4,"default")});function kU(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?K4:Q4(e.a,e.b,e.c,e.d,e.e,e.f)}function EU(t){return t==null?K4:(Z4||(Z4=document.createElementNS("http://www.w3.org/2000/svg","g")),Z4.setAttribute("transform",t),(t=Z4.transform.baseVal.consolidate())?(t=t.matrix,Q4(t.a,t.b,t.c,t.d,t.e,t.f)):K4)}var Z4,CU=R(()=>{"use strict";TU();o(kU,"parseCss");o(EU,"parseSvg")});function SU(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:ji(h,d)},{i:y-2,x:ji(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:ji(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:ji(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:ji(h,d)},{i:y-2,x:ji(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";wy();CU();o(SU,"interpolateTransform");OA=SU(kU,"px, ","px)","deg)"),PA=SU(EU,", ",")",")")});function _U(t){return function(e,r){var n=t((e=by(e)).h,(r=by(r)).h),i=hu(e.c,r.c),a=hu(e.l,r.l),s=hu(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var BA,q3e,LU=R(()=>{"use strict";Lp();AA();o(_U,"hcl");BA=_U(hU),q3e=_U(hu)});var Np=R(()=>{"use strict";X4();wy();bU();IA();AU();_A();LU()});function Ay(){return ad||(NU(X3e),ad=Cy.now()+t3)}function X3e(){ad=0}function Sy(){this._call=this._time=this._next=null}function r3(t,e,r){var n=new Sy;return n.restart(t,e,r),n}function MU(){Ay(),++Mp;for(var t=J4,e;t;)(e=ad-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Mp}function DU(){ad=(e3=Cy.now())+t3,Mp=ky=0;try{MU()}finally{Mp=0,K3e(),ad=0}}function j3e(){var t=Cy.now(),e=t-e3;e>RU&&(t3-=e,e3=t)}function K3e(){for(var t,e=J4,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:J4=r);Ey=t,FA(n)}function FA(t){if(!Mp){ky&&(ky=clearTimeout(ky));var e=t-ad;e>24?(t<1/0&&(ky=setTimeout(DU,t-Cy.now()-t3)),Ty&&(Ty=clearInterval(Ty))):(Ty||(e3=Cy.now(),Ty=setInterval(j3e,RU)),Mp=1,NU(DU))}}var Mp,ky,Ty,RU,J4,Ey,e3,ad,t3,Cy,NU,zA=R(()=>{"use strict";Mp=0,ky=0,Ty=0,RU=1e3,e3=0,ad=0,t3=0,Cy=typeof performance=="object"&&performance.now?performance:Date,NU=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(Ay,"now");o(X3e,"clearNow");o(Sy,"Timer");Sy.prototype=r3.prototype={constructor:Sy,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?Ay():+r)+(e==null?0:+e),!this._next&&Ey!==this&&(Ey?Ey._next=this:J4=this,Ey=this),this._call=t,this._time=r,FA()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,FA())},"stop")};o(r3,"timer");o(MU,"timerFlush");o(DU,"wake");o(j3e,"poke");o(K3e,"nap");o(FA,"sleep")});function _y(t,e,r){var n=new Sy;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var IU=R(()=>{"use strict";zA();o(_y,"default")});var n3=R(()=>{"use strict";zA();IU()});function fu(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;J3e(t,r,{name:e,index:n,group:i,on:Q3e,tween:Z3e,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:BU})}function Dy(t,e){var r=Mi(t,e);if(r.state>BU)throw new Error("too late; already scheduled");return r}function ca(t,e){var r=Mi(t,e);if(r.state>i3)throw new Error("too late; already running");return r}function Mi(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function J3e(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=r3(a,0,r.time);function a(h){r.state=OU,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==OU)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===i3)return _y(s);m.state===PU?(m.state=Ly,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";bS();n3();Q3e=xS("start","end","cancel","interrupt"),Z3e=[],BU=0,OU=1,a3=2,i3=3,PU=4,s3=5,Ly=6;o(fu,"default");o(Dy,"init");o(ca,"set");o(Mi,"get");o(J3e,"create")});function Ry(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>a3&&n.state{"use strict";ys();o(Ry,"default")});function $A(t){return this.each(function(){Ry(this,t)})}var zU=R(()=>{"use strict";FU();o($A,"default")});function e5e(t,e){var r,n;return function(){var i=ca(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";ys();o(e5e,"tweenRemove");o(t5e,"tweenFunction");o(GA,"default");o(Ip,"tweenValue")});function My(t,e){var r;return(typeof e=="number"?ji:e instanceof pl?id:(r=pl(e))?(e=r,id):Rp)(t,e)}var VA=R(()=>{"use strict";Lp();Np();o(My,"default")});function r5e(t){return function(){this.removeAttribute(t)}}function n5e(t){return function(){this.removeAttributeNS(t.space,t.local)}}function i5e(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function a5e(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function s5e(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function o5e(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function UA(t,e){var r=ic(t),n=r==="transform"?PA:My;return this.attrTween(t,typeof e=="function"?(r.local?o5e:s5e)(r,n,Ip(this,"attr."+t,e)):e==null?(r.local?n5e:r5e)(r):(r.local?a5e:i5e)(r,n,e))}var $U=R(()=>{"use strict";Np();fl();Ny();VA();o(r5e,"attrRemove");o(n5e,"attrRemoveNS");o(i5e,"attrConstant");o(a5e,"attrConstantNS");o(s5e,"attrFunction");o(o5e,"attrFunctionNS");o(UA,"default")});function l5e(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function c5e(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function u5e(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&c5e(t,a)),r}return o(i,"tween"),i._value=e,i}function h5e(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&l5e(t,a)),r}return o(i,"tween"),i._value=e,i}function HA(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=ic(t);return this.tween(r,(n.local?u5e:h5e)(n,e))}var GU=R(()=>{"use strict";fl();o(l5e,"attrInterpolate");o(c5e,"attrInterpolateNS");o(u5e,"attrTweenNS");o(h5e,"attrTween");o(HA,"default")});function f5e(t,e){return function(){Dy(this,t).delay=+e.apply(this,arguments)}}function d5e(t,e){return e=+e,function(){Dy(this,t).delay=e}}function YA(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?f5e:d5e)(e,t)):Mi(this.node(),e).delay}var VU=R(()=>{"use strict";ys();o(f5e,"delayFunction");o(d5e,"delayConstant");o(YA,"default")});function p5e(t,e){return function(){ca(this,t).duration=+e.apply(this,arguments)}}function m5e(t,e){return e=+e,function(){ca(this,t).duration=e}}function WA(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?p5e:m5e)(e,t)):Mi(this.node(),e).duration}var UU=R(()=>{"use strict";ys();o(p5e,"durationFunction");o(m5e,"durationConstant");o(WA,"default")});function g5e(t,e){if(typeof e!="function")throw new Error;return function(){ca(this,t).ease=e}}function qA(t){var e=this._id;return arguments.length?this.each(g5e(e,t)):Mi(this.node(),e).ease}var HU=R(()=>{"use strict";ys();o(g5e,"easeConstant");o(qA,"default")});function y5e(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;ca(this,t).ease=r}}function XA(t){if(typeof t!="function")throw new Error;return this.each(y5e(this._id,t))}var YU=R(()=>{"use strict";ys();o(y5e,"easeVarying");o(XA,"default")});function jA(t){typeof t!="function"&&(t=Ep(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";fl();sd();o(jA,"default")});function KA(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),l=0;l{"use strict";sd();o(KA,"default")});function v5e(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function x5e(t,e,r){var n,i,a=v5e(e)?Dy:ca;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function QA(t,e){var r=this._id;return arguments.length<2?Mi(this.node(),r).on.on(t):this.each(x5e(r,t,e))}var XU=R(()=>{"use strict";ys();o(v5e,"start");o(x5e,"onFunction");o(QA,"default")});function b5e(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function ZA(){return this.on("end.remove",b5e(this._id))}var jU=R(()=>{"use strict";o(b5e,"removeFunction");o(ZA,"default")});function JA(t){var e=this._name,r=this._id;typeof t!="function"&&(t=wh(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";fl();sd();ys();o(JA,"default")});function e8(t){var e=this._name,r=this._id;typeof t!="function"&&(t=kp(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";fl();sd();ys();o(e8,"default")});function t8(){return new w5e(this._groups,this._parents)}var w5e,ZU=R(()=>{"use strict";fl();w5e=cu.prototype.constructor;o(t8,"default")});function T5e(t,e){var r,n,i;return function(){var a=Th(this,t),s=(this.style.removeProperty(t),Th(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function JU(t){return function(){this.style.removeProperty(t)}}function k5e(t,e,r){var n,i=r+"",a;return function(){var s=Th(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function E5e(t,e,r){var n,i,a;return function(){var s=Th(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),Th(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function C5e(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=ca(this,t),h=u.on,f=u.value[a]==null?l||(l=JU(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function r8(t,e,r){var n=(t+="")=="transform"?OA:My;return e==null?this.styleTween(t,T5e(t,n)).on("end.style."+t,JU(t)):typeof e=="function"?this.styleTween(t,E5e(t,n,Ip(this,"style."+t,e))).each(C5e(this._id,t)):this.styleTween(t,k5e(t,n,e),r).on("end.style."+t,null)}var eH=R(()=>{"use strict";Np();fl();ys();Ny();VA();o(T5e,"styleNull");o(JU,"styleRemove");o(k5e,"styleConstant");o(E5e,"styleFunction");o(C5e,"styleMaybeRemove");o(r8,"default")});function S5e(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function A5e(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&S5e(t,s,r)),n}return o(a,"tween"),a._value=e,a}function n8(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,A5e(t,e,r??""))}var tH=R(()=>{"use strict";o(S5e,"styleInterpolate");o(A5e,"styleTween");o(n8,"default")});function _5e(t){return function(){this.textContent=t}}function L5e(t){return function(){var e=t(this);this.textContent=e??""}}function i8(t){return this.tween("text",typeof t=="function"?L5e(Ip(this,"text",t)):_5e(t==null?"":t+""))}var rH=R(()=>{"use strict";Ny();o(_5e,"textConstant");o(L5e,"textFunction");o(i8,"default")});function D5e(t){return function(e){this.textContent=t.call(this,e)}}function R5e(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&D5e(i)),e}return o(n,"tween"),n._value=t,n}function a8(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,R5e(t))}var nH=R(()=>{"use strict";o(D5e,"textInterpolate");o(R5e,"textTween");o(a8,"default")});function s8(){for(var t=this._name,e=this._id,r=o3(),n=this._groups,i=n.length,a=0;a{"use strict";sd();ys();o(s8,"default")});function o8(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=ca(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var aH=R(()=>{"use strict";ys();o(o8,"default")});function Ka(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function sH(t){return cu().transition(t)}function o3(){return++N5e}var N5e,du,sd=R(()=>{"use strict";fl();$U();GU();VU();UU();HU();YU();WU();qU();XU();jU();KU();QU();ZU();eH();tH();rH();nH();iH();Ny();aH();N5e=0;o(Ka,"Transition");o(sH,"transition");o(o3,"newId");du=cu.prototype;Ka.prototype=sH.prototype={constructor:Ka,select:JA,selectAll:e8,selectChild:du.selectChild,selectChildren:du.selectChildren,filter:jA,merge:KA,selection:t8,transition:s8,call:du.call,nodes:du.nodes,node:du.node,size:du.size,empty:du.empty,each:du.each,on:QA,attr:UA,attrTween:HA,style:r8,styleTween:n8,text:i8,textTween:a8,remove:ZA,tween:GA,delay:YA,duration:WA,ease:qA,easeVarying:XA,end:o8,[Symbol.iterator]:du[Symbol.iterator]}});function l3(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var oH=R(()=>{"use strict";o(l3,"cubicInOut")});var l8=R(()=>{"use strict";oH()});function I5e(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function c8(t){var e,r;t instanceof Ka?(e=t._id,t=t._name):(e=o3(),(r=M5e).time=Ay(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";sd();ys();l8();n3();M5e={time:null,delay:0,duration:250,ease:l3};o(I5e,"inherit");o(c8,"default")});var cH=R(()=>{"use strict";fl();zU();lH();cu.prototype.interrupt=$A;cu.prototype.transition=c8});var c3=R(()=>{"use strict";cH()});var uH=R(()=>{"use strict"});var hH=R(()=>{"use strict"});var fH=R(()=>{"use strict"});function dH(t){return[+t[0],+t[1]]}function O5e(t){return[dH(t[0]),dH(t[1])]}function u8(t){return{type:t}}var Kpt,Qpt,Zpt,Jpt,emt,tmt,pH=R(()=>{"use strict";c3();uH();hH();fH();({abs:Kpt,max:Qpt,min:Zpt}=Math);o(dH,"number1");o(O5e,"number2");Jpt={name:"x",handles:["w","e"].map(u8),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},emt={name:"y",handles:["n","s"].map(u8),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},tmt={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(u8),input:o(function(t){return t==null?null:O5e(t)},"input"),output:o(function(t){return t},"output")};o(u8,"type")});var mH=R(()=>{"use strict";pH()});function gH(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return gH;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";h8=Math.PI,f8=2*h8,od=1e-6,P5e=f8-od;o(gH,"append");o(B5e,"appendRound");ld=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?gH:B5e(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>od)if(!(Math.abs(d*u-h*f)>od)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),w=a*Math.tan((h8-Math.acos((y+p-v)/(2*x*b)))/2),S=w/b,T=w/x;Math.abs(S-1)>od&&this._append`L${e+S*f},${r+S*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+T*u},${this._y1=r+T*h}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>od||Math.abs(this._y1-f)>od)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%f8+f8),p>P5e?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>od&&this._append`A${n},${n},0,${+(p>=h8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};o(yH,"path");yH.prototype=ld.prototype});var d8=R(()=>{"use strict";vH()});var xH=R(()=>{"use strict"});var bH=R(()=>{"use strict"});var wH=R(()=>{"use strict"});var TH=R(()=>{"use strict"});var kH=R(()=>{"use strict"});var EH=R(()=>{"use strict"});var CH=R(()=>{"use strict"});function p8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function cd(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var Iy=R(()=>{"use strict";o(p8,"default");o(cd,"formatDecimalParts")});function ml(t){return t=cd(Math.abs(t)),t?t[1]:NaN}var Oy=R(()=>{"use strict";Iy();o(ml,"default")});function m8(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var SH=R(()=>{"use strict";o(m8,"default")});function g8(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var AH=R(()=>{"use strict";o(g8,"default")});function Sh(t){if(!(e=F5e.exec(t)))throw new Error("invalid format: "+t);var e;return new u3({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function u3(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var F5e,y8=R(()=>{"use strict";F5e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Sh,"formatSpecifier");Sh.prototype=u3.prototype;o(u3,"FormatSpecifier");u3.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type}});function v8(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var _H=R(()=>{"use strict";o(v8,"default")});function b8(t,e){var r=cd(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(x8=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+cd(t,Math.max(0,e+a-1))[0]}var x8,w8=R(()=>{"use strict";Iy();o(b8,"default")});function h3(t,e){var r=cd(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var LH=R(()=>{"use strict";Iy();o(h3,"default")});var T8,DH=R(()=>{"use strict";Iy();w8();LH();T8={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:p8,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>h3(t*100,e),"p"),r:h3,s:b8,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function f3(t){return t}var RH=R(()=>{"use strict";o(f3,"default")});function k8(t){var e=t.grouping===void 0||t.thousands===void 0?f3:m8(NH.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?f3:g8(NH.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Sh(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,w=d.precision,S=d.trim,T=d.type;T==="n"?(b=!0,T="g"):T8[T]||(w===void 0&&(w=12),S=!0,T="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var E=y==="$"?r:y==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",_=y==="$"?n:/[%p]/.test(T)?s:"",A=T8[T],L=/[defgprs%]/.test(T);w=w===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function M(N){var k=E,I=_,C,O,D;if(T==="c")I=A(N)+I,N="";else{N=+N;var P=N<0||1/N<0;if(N=isNaN(N)?u:A(Math.abs(N),w),S&&(N=v8(N)),P&&+N==0&&g!=="+"&&(P=!1),k=(P?g==="("?g:l:g==="-"||g==="("?"":g)+k,I=(T==="s"?MH[8+x8/3]:"")+I+(P&&g==="("?")":""),L){for(C=-1,O=N.length;++CD||D>57){I=(D===46?i+N.slice(C+1):N.slice(C))+I,N=N.slice(0,C);break}}}b&&!v&&(N=e(N,1/0));var F=k.length+N.length+I.length,B=F>1)+k+N+I+B.slice(F);break;default:N=B+k+N+I;break}return a(N)}return o(M,"format"),M.toString=function(){return d+""},M}o(h,"newFormat");function f(d,p){var m=h((d=Sh(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(ml(p)/3)))*3,y=Math.pow(10,-g),v=MH[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var NH,MH,IH=R(()=>{"use strict";Oy();SH();AH();y8();_H();DH();w8();RH();NH=Array.prototype.map,MH=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(k8,"default")});function E8(t){return d3=k8(t),p3=d3.format,m3=d3.formatPrefix,d3}var d3,p3,m3,OH=R(()=>{"use strict";IH();E8({thousands:",",grouping:[3],currency:["$",""]});o(E8,"defaultLocale")});function g3(t){return Math.max(0,-ml(Math.abs(t)))}var PH=R(()=>{"use strict";Oy();o(g3,"default")});function y3(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ml(e)/3)))*3-ml(Math.abs(t)))}var BH=R(()=>{"use strict";Oy();o(y3,"default")});function v3(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ml(e)-ml(t))+1}var FH=R(()=>{"use strict";Oy();o(v3,"default")});var C8=R(()=>{"use strict";OH();y8();PH();BH();FH()});var zH=R(()=>{"use strict"});var $H=R(()=>{"use strict"});var GH=R(()=>{"use strict"});var VH=R(()=>{"use strict"});function Ah(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var Py=R(()=>{"use strict";o(Ah,"initRange")});function pu(){var t=new wp,e=[],r=[],n=S8;function i(a){let s=t.get(a);if(s===void 0){if(n!==S8)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new wp;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return pu(e,r).unknown(n)},Ah.apply(i,arguments),i}var S8,A8=R(()=>{"use strict";bh();Py();S8=Symbol("implicit");o(pu,"ordinal")});function Op(){var t=pu().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";bh();Py();A8();o(Op,"band")});function _8(t){return function(){return t}}var HH=R(()=>{"use strict";o(_8,"constants")});function L8(t){return+t}var YH=R(()=>{"use strict";o(L8,"number")});function Pp(t){return t}function D8(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:_8(isNaN(e)?NaN:.5)}function z5e(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function $5e(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?G5e:$5e,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),ji)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,L8),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=j4,f()},d.clamp=function(p){return arguments.length?(s=p?!0:Pp,f()):s!==Pp},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function By(){return V5e()(Pp,Pp)}var WH,R8=R(()=>{"use strict";bh();Np();HH();YH();WH=[0,1];o(Pp,"identity");o(D8,"normalize");o(z5e,"clamper");o($5e,"bimap");o(G5e,"polymap");o(x3,"copy");o(V5e,"transformer");o(By,"continuous")});function N8(t,e,r,n){var i=Tp(t,e,r),a;switch(n=Sh(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=y3(i,s))&&(n.precision=a),m3(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=v3(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=g3(i))&&(n.precision=a-(n.type==="%")*2);break}}return p3(n)}var qH=R(()=>{"use strict";bh();C8();o(N8,"tickFormat")});function U5e(t){var e=t.domain;return t.ticks=function(r){var n=e();return N4(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return N8(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],l=n[a],u,h,f=10;for(l0;){if(h=fy(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function gl(){var t=By();return t.copy=function(){return x3(t,gl())},Ah.apply(t,arguments),U5e(t)}var XH=R(()=>{"use strict";bh();R8();Py();qH();o(U5e,"linearish");o(gl,"linear")});function M8(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(M8,"nice")});function dn(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hdn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(I8.setTime(+a),O8.setTime(+s),t(I8),t(O8),Math.floor(r(I8,O8))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}var I8,O8,mu=R(()=>{"use strict";I8=new Date,O8=new Date;o(dn,"timeInterval")});var oc,KH,P8=R(()=>{"use strict";mu();oc=dn(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);oc.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?dn(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):oc);KH=oc.range});var Ks,QH,B8=R(()=>{"use strict";mu();Ks=dn(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),QH=Ks.range});var gu,H5e,b3,Y5e,F8=R(()=>{"use strict";mu();gu=dn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),H5e=gu.range,b3=dn(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),Y5e=b3.range});var yu,W5e,w3,q5e,z8=R(()=>{"use strict";mu();yu=dn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),W5e=yu.range,w3=dn(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),q5e=w3.range});var Do,X5e,zy,j5e,T3,K5e,$8=R(()=>{"use strict";mu();Do=dn(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),X5e=Do.range,zy=dn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),j5e=zy.range,T3=dn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),K5e=T3.range});function fd(t){return dn(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function dd(t){return dn(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var yl,_h,k3,E3,cc,C3,S3,JH,Q5e,Z5e,J5e,ewe,twe,rwe,pd,Bp,eY,tY,Lh,rY,nY,iY,nwe,iwe,awe,swe,owe,lwe,G8=R(()=>{"use strict";mu();o(fd,"timeWeekday");yl=fd(0),_h=fd(1),k3=fd(2),E3=fd(3),cc=fd(4),C3=fd(5),S3=fd(6),JH=yl.range,Q5e=_h.range,Z5e=k3.range,J5e=E3.range,ewe=cc.range,twe=C3.range,rwe=S3.range;o(dd,"utcWeekday");pd=dd(0),Bp=dd(1),eY=dd(2),tY=dd(3),Lh=dd(4),rY=dd(5),nY=dd(6),iY=pd.range,nwe=Bp.range,iwe=eY.range,awe=tY.range,swe=Lh.range,owe=rY.range,lwe=nY.range});var vu,cwe,A3,uwe,V8=R(()=>{"use strict";mu();vu=dn(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),cwe=vu.range,A3=dn(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),uwe=A3.range});var Qs,hwe,vl,fwe,U8=R(()=>{"use strict";mu();Qs=dn(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Qs.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:dn(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});hwe=Qs.range,vl=dn(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());vl.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:dn(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});fwe=vl.range});function sY(t,e,r,n,i,a){let s=[[Ks,1,1e3],[Ks,5,5*1e3],[Ks,15,15*1e3],[Ks,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(Tp(h/31536e6,f/31536e6,d));if(m===0)return oc.every(Math.max(Tp(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";bh();P8();B8();F8();z8();$8();G8();V8();U8();o(sY,"ticker");[pwe,mwe]=sY(vl,A3,pd,T3,w3,b3),[H8,Y8]=sY(Qs,vu,yl,Do,yu,gu)});var _3=R(()=>{"use strict";P8();B8();F8();z8();$8();G8();V8();U8();oY()});function W8(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function q8(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function $y(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function X8(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=Gy(i),f=Vy(i),d=Gy(a),p=Vy(a),m=Gy(s),g=Vy(s),y=Gy(l),v=Vy(l),x=Gy(u),b=Vy(u),w={a:P,A:F,b:B,B:G,c:null,d:dY,e:dY,f:Fwe,g:Xwe,G:Kwe,H:Owe,I:Pwe,j:Bwe,L:vY,m:zwe,M:$we,p:z,q:Y,Q:gY,s:yY,S:Gwe,u:Vwe,U:Uwe,V:Hwe,w:Ywe,W:Wwe,x:null,X:null,y:qwe,Y:jwe,Z:Qwe,"%":mY},S={a:Q,A:X,b:ie,B:j,c:null,d:pY,e:pY,f:tTe,g:hTe,G:dTe,H:Zwe,I:Jwe,j:eTe,L:bY,m:rTe,M:nTe,p:J,q:Z,Q:gY,s:yY,S:iTe,u:aTe,U:sTe,V:oTe,w:lTe,W:cTe,x:null,X:null,y:uTe,Y:fTe,Z:pTe,"%":mY},T={a:M,A:N,b:k,B:I,c:C,d:hY,e:hY,f:Rwe,g:uY,G:cY,H:fY,I:fY,j:Awe,L:Dwe,m:Swe,M:_we,p:L,q:Cwe,Q:Mwe,s:Iwe,S:Lwe,u:bwe,U:wwe,V:Twe,w:xwe,W:kwe,x:O,X:D,y:uY,Y:cY,Z:Ewe,"%":Nwe};w.x=E(r,w),w.X=E(n,w),w.c=E(e,w),S.x=E(r,S),S.X=E(n,S),S.c=E(e,S);function E(H,q){return function(K){var se=[],ce=-1,ue=0,te=H.length,De,oe,ke;for(K instanceof Date||(K=new Date(+K));++ce53)return null;"w"in se||(se.w=1),"Z"in se?(ue=q8($y(se.y,0,1)),te=ue.getUTCDay(),ue=te>4||te===0?Bp.ceil(ue):Bp(ue),ue=zy.offset(ue,(se.V-1)*7),se.y=ue.getUTCFullYear(),se.m=ue.getUTCMonth(),se.d=ue.getUTCDate()+(se.w+6)%7):(ue=W8($y(se.y,0,1)),te=ue.getDay(),ue=te>4||te===0?_h.ceil(ue):_h(ue),ue=Do.offset(ue,(se.V-1)*7),se.y=ue.getFullYear(),se.m=ue.getMonth(),se.d=ue.getDate()+(se.w+6)%7)}else("W"in se||"U"in se)&&("w"in se||(se.w="u"in se?se.u%7:"W"in se?1:0),te="Z"in se?q8($y(se.y,0,1)).getUTCDay():W8($y(se.y,0,1)).getDay(),se.m=0,se.d="W"in se?(se.w+6)%7+se.W*7-(te+5)%7:se.w+se.U*7-(te+6)%7);return"Z"in se?(se.H+=se.Z/100|0,se.M+=se.Z%100,q8(se)):W8(se)}}o(_,"newParse");function A(H,q,K,se){for(var ce=0,ue=q.length,te=K.length,De,oe;ce=te)return-1;if(De=q.charCodeAt(ce++),De===37){if(De=q.charAt(ce++),oe=T[De in lY?q.charAt(ce++):De],!oe||(se=oe(H,K,se))<0)return-1}else if(De!=K.charCodeAt(se++))return-1}return se}o(A,"parseSpecifier");function L(H,q,K){var se=h.exec(q.slice(K));return se?(H.p=f.get(se[0].toLowerCase()),K+se[0].length):-1}o(L,"parsePeriod");function M(H,q,K){var se=m.exec(q.slice(K));return se?(H.w=g.get(se[0].toLowerCase()),K+se[0].length):-1}o(M,"parseShortWeekday");function N(H,q,K){var se=d.exec(q.slice(K));return se?(H.w=p.get(se[0].toLowerCase()),K+se[0].length):-1}o(N,"parseWeekday");function k(H,q,K){var se=x.exec(q.slice(K));return se?(H.m=b.get(se[0].toLowerCase()),K+se[0].length):-1}o(k,"parseShortMonth");function I(H,q,K){var se=y.exec(q.slice(K));return se?(H.m=v.get(se[0].toLowerCase()),K+se[0].length):-1}o(I,"parseMonth");function C(H,q,K){return A(H,e,q,K)}o(C,"parseLocaleDateTime");function O(H,q,K){return A(H,r,q,K)}o(O,"parseLocaleDate");function D(H,q,K){return A(H,n,q,K)}o(D,"parseLocaleTime");function P(H){return s[H.getDay()]}o(P,"formatShortWeekday");function F(H){return a[H.getDay()]}o(F,"formatWeekday");function B(H){return u[H.getMonth()]}o(B,"formatShortMonth");function G(H){return l[H.getMonth()]}o(G,"formatMonth");function z(H){return i[+(H.getHours()>=12)]}o(z,"formatPeriod");function Y(H){return 1+~~(H.getMonth()/3)}o(Y,"formatQuarter");function Q(H){return s[H.getUTCDay()]}o(Q,"formatUTCShortWeekday");function X(H){return a[H.getUTCDay()]}o(X,"formatUTCWeekday");function ie(H){return u[H.getUTCMonth()]}o(ie,"formatUTCShortMonth");function j(H){return l[H.getUTCMonth()]}o(j,"formatUTCMonth");function J(H){return i[+(H.getUTCHours()>=12)]}o(J,"formatUTCPeriod");function Z(H){return 1+~~(H.getUTCMonth()/3)}return o(Z,"formatUTCQuarter"),{format:o(function(H){var q=E(H+="",w);return q.toString=function(){return H},q},"format"),parse:o(function(H){var q=_(H+="",!1);return q.toString=function(){return H},q},"parse"),utcFormat:o(function(H){var q=E(H+="",S);return q.toString=function(){return H},q},"utcFormat"),utcParse:o(function(H){var q=_(H+="",!0);return q.toString=function(){return H},q},"utcParse")}}function Pr(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function xwe(t,e,r){var n=Ki.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function bwe(t,e,r){var n=Ki.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function wwe(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Twe(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function kwe(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function cY(t,e,r){var n=Ki.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function uY(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Ewe(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Cwe(t,e,r){var n=Ki.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Swe(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function hY(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Awe(t,e,r){var n=Ki.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function fY(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function _we(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Lwe(t,e,r){var n=Ki.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Dwe(t,e,r){var n=Ki.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Rwe(t,e,r){var n=Ki.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Nwe(t,e,r){var n=gwe.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Mwe(t,e,r){var n=Ki.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Iwe(t,e,r){var n=Ki.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function dY(t,e){return Pr(t.getDate(),e,2)}function Owe(t,e){return Pr(t.getHours(),e,2)}function Pwe(t,e){return Pr(t.getHours()%12||12,e,2)}function Bwe(t,e){return Pr(1+Do.count(Qs(t),t),e,3)}function vY(t,e){return Pr(t.getMilliseconds(),e,3)}function Fwe(t,e){return vY(t,e)+"000"}function zwe(t,e){return Pr(t.getMonth()+1,e,2)}function $we(t,e){return Pr(t.getMinutes(),e,2)}function Gwe(t,e){return Pr(t.getSeconds(),e,2)}function Vwe(t){var e=t.getDay();return e===0?7:e}function Uwe(t,e){return Pr(yl.count(Qs(t)-1,t),e,2)}function xY(t){var e=t.getDay();return e>=4||e===0?cc(t):cc.ceil(t)}function Hwe(t,e){return t=xY(t),Pr(cc.count(Qs(t),t)+(Qs(t).getDay()===4),e,2)}function Ywe(t){return t.getDay()}function Wwe(t,e){return Pr(_h.count(Qs(t)-1,t),e,2)}function qwe(t,e){return Pr(t.getFullYear()%100,e,2)}function Xwe(t,e){return t=xY(t),Pr(t.getFullYear()%100,e,2)}function jwe(t,e){return Pr(t.getFullYear()%1e4,e,4)}function Kwe(t,e){var r=t.getDay();return t=r>=4||r===0?cc(t):cc.ceil(t),Pr(t.getFullYear()%1e4,e,4)}function Qwe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Pr(e/60|0,"0",2)+Pr(e%60,"0",2)}function pY(t,e){return Pr(t.getUTCDate(),e,2)}function Zwe(t,e){return Pr(t.getUTCHours(),e,2)}function Jwe(t,e){return Pr(t.getUTCHours()%12||12,e,2)}function eTe(t,e){return Pr(1+zy.count(vl(t),t),e,3)}function bY(t,e){return Pr(t.getUTCMilliseconds(),e,3)}function tTe(t,e){return bY(t,e)+"000"}function rTe(t,e){return Pr(t.getUTCMonth()+1,e,2)}function nTe(t,e){return Pr(t.getUTCMinutes(),e,2)}function iTe(t,e){return Pr(t.getUTCSeconds(),e,2)}function aTe(t){var e=t.getUTCDay();return e===0?7:e}function sTe(t,e){return Pr(pd.count(vl(t)-1,t),e,2)}function wY(t){var e=t.getUTCDay();return e>=4||e===0?Lh(t):Lh.ceil(t)}function oTe(t,e){return t=wY(t),Pr(Lh.count(vl(t),t)+(vl(t).getUTCDay()===4),e,2)}function lTe(t){return t.getUTCDay()}function cTe(t,e){return Pr(Bp.count(vl(t)-1,t),e,2)}function uTe(t,e){return Pr(t.getUTCFullYear()%100,e,2)}function hTe(t,e){return t=wY(t),Pr(t.getUTCFullYear()%100,e,2)}function fTe(t,e){return Pr(t.getUTCFullYear()%1e4,e,4)}function dTe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Lh(t):Lh.ceil(t),Pr(t.getUTCFullYear()%1e4,e,4)}function pTe(){return"+0000"}function mY(){return"%"}function gY(t){return+t}function yY(t){return Math.floor(+t/1e3)}var lY,Ki,gwe,ywe,TY=R(()=>{"use strict";_3();o(W8,"localDate");o(q8,"utcDate");o($y,"newDate");o(X8,"formatLocale");lY={"-":"",_:" ",0:"0"},Ki=/^\s*\d+/,gwe=/^%/,ywe=/[\\^$*+?|[\]().{}]/g;o(Pr,"pad");o(vwe,"requote");o(Gy,"formatRe");o(Vy,"formatLookup");o(xwe,"parseWeekdayNumberSunday");o(bwe,"parseWeekdayNumberMonday");o(wwe,"parseWeekNumberSunday");o(Twe,"parseWeekNumberISO");o(kwe,"parseWeekNumberMonday");o(cY,"parseFullYear");o(uY,"parseYear");o(Ewe,"parseZone");o(Cwe,"parseQuarter");o(Swe,"parseMonthNumber");o(hY,"parseDayOfMonth");o(Awe,"parseDayOfYear");o(fY,"parseHour24");o(_we,"parseMinutes");o(Lwe,"parseSeconds");o(Dwe,"parseMilliseconds");o(Rwe,"parseMicroseconds");o(Nwe,"parseLiteralPercent");o(Mwe,"parseUnixTimestamp");o(Iwe,"parseUnixTimestampSeconds");o(dY,"formatDayOfMonth");o(Owe,"formatHour24");o(Pwe,"formatHour12");o(Bwe,"formatDayOfYear");o(vY,"formatMilliseconds");o(Fwe,"formatMicroseconds");o(zwe,"formatMonthNumber");o($we,"formatMinutes");o(Gwe,"formatSeconds");o(Vwe,"formatWeekdayNumberMonday");o(Uwe,"formatWeekNumberSunday");o(xY,"dISO");o(Hwe,"formatWeekNumberISO");o(Ywe,"formatWeekdayNumberSunday");o(Wwe,"formatWeekNumberMonday");o(qwe,"formatYear");o(Xwe,"formatYearISO");o(jwe,"formatFullYear");o(Kwe,"formatFullYearISO");o(Qwe,"formatZone");o(pY,"formatUTCDayOfMonth");o(Zwe,"formatUTCHour24");o(Jwe,"formatUTCHour12");o(eTe,"formatUTCDayOfYear");o(bY,"formatUTCMilliseconds");o(tTe,"formatUTCMicroseconds");o(rTe,"formatUTCMonthNumber");o(nTe,"formatUTCMinutes");o(iTe,"formatUTCSeconds");o(aTe,"formatUTCWeekdayNumberMonday");o(sTe,"formatUTCWeekNumberSunday");o(wY,"UTCdISO");o(oTe,"formatUTCWeekNumberISO");o(lTe,"formatUTCWeekdayNumberSunday");o(cTe,"formatUTCWeekNumberMonday");o(uTe,"formatUTCYear");o(hTe,"formatUTCYearISO");o(fTe,"formatUTCFullYear");o(dTe,"formatUTCFullYearISO");o(pTe,"formatUTCZone");o(mY,"formatLiteralPercent");o(gY,"formatUnixTimestamp");o(yY,"formatUnixTimestampSeconds")});function j8(t){return Fp=X8(t),md=Fp.format,kY=Fp.parse,EY=Fp.utcFormat,CY=Fp.utcParse,Fp}var Fp,md,kY,EY,CY,SY=R(()=>{"use strict";TY();j8({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});o(j8,"defaultLocale")});var K8=R(()=>{"use strict";SY()});function mTe(t){return new Date(t)}function gTe(t){return t instanceof Date?+t:+new Date(+t)}function AY(t,e,r,n,i,a,s,l,u,h){var f=By(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),w=h("%B"),S=h("%Y");function T(E){return(u(E){"use strict";_3();K8();R8();Py();jH();o(mTe,"date");o(gTe,"number");o(AY,"calendar");o(L3,"time")});var LY=R(()=>{"use strict";UH();XH();A8();_Y()});function Q8(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(Q8,"default")});var Z8,RY=R(()=>{"use strict";DY();Z8=Q8("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var NY=R(()=>{"use strict";RY()});function Nn(t){return o(function(){return t},"constant")}var D3=R(()=>{"use strict";o(Nn,"default")});function IY(t){return t>1?0:t<-1?zp:Math.acos(t)}function e_(t){return t>=1?Uy:t<=-1?-Uy:Math.asin(t)}var J8,ua,Dh,MY,R3,xl,gd,Qi,zp,Uy,$p,N3=R(()=>{"use strict";J8=Math.abs,ua=Math.atan2,Dh=Math.cos,MY=Math.max,R3=Math.min,xl=Math.sin,gd=Math.sqrt,Qi=1e-12,zp=Math.PI,Uy=zp/2,$p=2*zp;o(IY,"acos");o(e_,"asin")});function M3(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new ld(e)}var t_=R(()=>{"use strict";d8();o(M3,"withPath")});function yTe(t){return t.innerRadius}function vTe(t){return t.outerRadius}function xTe(t){return t.startAngle}function bTe(t){return t.endAngle}function wTe(t){return t&&t.padAngle}function TTe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*pC*C+O*O&&(A=M,L=N),{cx:A,cy:L,x01:-f,y01:-d,x11:A*(i/T-1),y11:L*(i/T-1)}}function bl(){var t=yTe,e=vTe,r=Nn(0),n=null,i=xTe,a=bTe,s=wTe,l=null,u=M3(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-Uy,y=a.apply(this,arguments)-Uy,v=J8(y-g),x=y>g;if(l||(l=f=u()),mQi))l.moveTo(0,0);else if(v>$p-Qi)l.moveTo(m*Dh(g),m*xl(g)),l.arc(0,0,m,g,y,!x),p>Qi&&(l.moveTo(p*Dh(y),p*xl(y)),l.arc(0,0,p,y,g,x));else{var b=g,w=y,S=g,T=y,E=v,_=v,A=s.apply(this,arguments)/2,L=A>Qi&&(n?+n.apply(this,arguments):gd(p*p+m*m)),M=R3(J8(m-p)/2,+r.apply(this,arguments)),N=M,k=M,I,C;if(L>Qi){var O=e_(L/p*xl(A)),D=e_(L/m*xl(A));(E-=O*2)>Qi?(O*=x?1:-1,S+=O,T-=O):(E=0,S=T=(g+y)/2),(_-=D*2)>Qi?(D*=x?1:-1,b+=D,w-=D):(_=0,b=w=(g+y)/2)}var P=m*Dh(b),F=m*xl(b),B=p*Dh(T),G=p*xl(T);if(M>Qi){var z=m*Dh(w),Y=m*xl(w),Q=p*Dh(S),X=p*xl(S),ie;if(vQi?k>Qi?(I=I3(Q,X,P,F,m,k,x),C=I3(z,Y,B,G,m,k,x),l.moveTo(I.cx+I.x01,I.cy+I.y01),kQi)||!(E>Qi)?l.lineTo(B,G):N>Qi?(I=I3(B,G,z,Y,p,-N,x),C=I3(P,F,Q,X,p,-N,x),l.lineTo(I.cx+I.x01,I.cy+I.y01),N{"use strict";D3();N3();t_();o(yTe,"arcInnerRadius");o(vTe,"arcOuterRadius");o(xTe,"arcStartAngle");o(bTe,"arcEndAngle");o(wTe,"arcPadAngle");o(TTe,"intersect");o(I3,"cornerTangents");o(bl,"default")});function Hy(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var Dyt,r_=R(()=>{"use strict";Dyt=Array.prototype.slice;o(Hy,"default")});function PY(t){this._context=t}function xu(t){return new PY(t)}var n_=R(()=>{"use strict";o(PY,"Linear");PY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};o(xu,"default")});function BY(t){return t[0]}function FY(t){return t[1]}var zY=R(()=>{"use strict";o(BY,"x");o(FY,"y")});function ha(t,e){var r=Nn(!0),n=null,i=xu,a=null,s=M3(l);t=typeof t=="function"?t:t===void 0?BY:Nn(t),e=typeof e=="function"?e:e===void 0?FY:Nn(e);function l(u){var h,f=(u=Hy(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";r_();D3();n_();t_();zY();o(ha,"default")});function i_(t,e){return et?1:e>=t?0:NaN}var GY=R(()=>{"use strict";o(i_,"default")});function a_(t){return t}var VY=R(()=>{"use strict";o(a_,"default")});function O3(){var t=a_,e=i_,r=null,n=Nn(0),i=Nn($p),a=Nn(0);function s(l){var u,h=(l=Hy(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min($p,Math.max(-$p,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),w=b*(v<0?-1:1),S;for(u=0;u0&&(p+=S);for(e!=null?m.sort(function(T,E){return e(g[T],g[E])}):r!=null&&m.sort(function(T,E){return r(l[T],l[E])}),u=0,d=p?(v-h*w)/p:0;u0?S*d:0)+w,g[f]={data:l[f],index:u,value:S,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:Nn(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:Nn(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Nn(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Nn(+l),s):a},s}var UY=R(()=>{"use strict";r_();D3();GY();VY();N3();o(O3,"default")});function s_(t){return new P3(t,!0)}function o_(t){return new P3(t,!1)}var P3,HY=R(()=>{"use strict";P3=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o(s_,"bumpX");o(o_,"bumpY")});function Zs(){}var Yy=R(()=>{"use strict";o(Zs,"default")});function Gp(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function Wy(t){this._context=t}function vs(t){return new Wy(t)}var qy=R(()=>{"use strict";o(Gp,"point");o(Wy,"Basis");Wy.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:Gp(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Gp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(vs,"default")});function YY(t){this._context=t}function B3(t){return new YY(t)}var WY=R(()=>{"use strict";Yy();qy();o(YY,"BasisClosed");YY.prototype={areaStart:Zs,areaEnd:Zs,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Gp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(B3,"default")});function qY(t){this._context=t}function F3(t){return new qY(t)}var XY=R(()=>{"use strict";qy();o(qY,"BasisOpen");qY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Gp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(F3,"default")});function jY(t,e){this._basis=new Wy(t),this._beta=e}var l_,KY=R(()=>{"use strict";qy();o(jY,"Bundle");jY.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};l_=o(function t(e){function r(n){return e===1?new Wy(n):new jY(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r},"custom")(.85)});function Vp(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function z3(t,e){this._context=t,this._k=(1-e)/6}var c_,Xy=R(()=>{"use strict";o(Vp,"point");o(z3,"Cardinal");z3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Vp(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Vp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};c_=o(function t(e){function r(n){return new z3(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function $3(t,e){this._context=t,this._k=(1-e)/6}var u_,h_=R(()=>{"use strict";Yy();Xy();o($3,"CardinalClosed");$3.prototype={areaStart:Zs,areaEnd:Zs,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Vp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};u_=o(function t(e){function r(n){return new $3(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function G3(t,e){this._context=t,this._k=(1-e)/6}var f_,d_=R(()=>{"use strict";Xy();o(G3,"CardinalOpen");G3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Vp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};f_=o(function t(e){function r(n){return new G3(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function jy(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Qi){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Qi){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function QY(t,e){this._context=t,this._alpha=e}var p_,V3=R(()=>{"use strict";N3();Xy();o(jy,"point");o(QY,"CatmullRom");QY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:jy(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};p_=o(function t(e){function r(n){return e?new QY(n,e):new z3(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function ZY(t,e){this._context=t,this._alpha=e}var m_,JY=R(()=>{"use strict";h_();Yy();V3();o(ZY,"CatmullRomClosed");ZY.prototype={areaStart:Zs,areaEnd:Zs,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:jy(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};m_=o(function t(e){function r(n){return e?new ZY(n,e):new $3(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function eW(t,e){this._context=t,this._alpha=e}var g_,tW=R(()=>{"use strict";d_();V3();o(eW,"CatmullRomOpen");eW.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:jy(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};g_=o(function t(e){function r(n){return e?new eW(n,e):new G3(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function rW(t){this._context=t}function U3(t){return new rW(t)}var nW=R(()=>{"use strict";Yy();o(rW,"LinearClosed");rW.prototype={areaStart:Zs,areaEnd:Zs,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(U3,"default")});function iW(t){return t<0?-1:1}function aW(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),l=(a*i+s*n)/(n+i);return(iW(a)+iW(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function sW(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function y_(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function H3(t){this._context=t}function oW(t){this._context=new lW(t)}function lW(t){this._context=t}function v_(t){return new H3(t)}function x_(t){return new oW(t)}var cW=R(()=>{"use strict";o(iW,"sign");o(aW,"slope3");o(sW,"slope2");o(y_,"point");o(H3,"MonotoneX");H3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:y_(this,this._t0,sW(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,y_(this,sW(this,r=aW(this,t,e)),r);break;default:y_(this,this._t0,r=aW(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(oW,"MonotoneY");(oW.prototype=Object.create(H3.prototype)).point=function(t,e){H3.prototype.point.call(this,e,t)};o(lW,"ReflectContext");lW.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(v_,"monotoneX");o(x_,"monotoneY")});function hW(t){this._context=t}function uW(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(hW,"Natural");hW.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=uW(t),i=uW(e),a=0,s=1;s{"use strict";o(W3,"Step");W3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};o(q3,"default");o(b_,"stepBefore");o(w_,"stepAfter")});var pW=R(()=>{"use strict";OY();$Y();UY();WY();XY();qy();HY();KY();h_();d_();Xy();JY();tW();V3();nW();n_();cW();fW();dW()});var mW=R(()=>{"use strict"});var gW=R(()=>{"use strict"});function Rh(t,e,r){this.k=t,this.x=e,this.y=r}function k_(t){for(;!t.__zoom;)if(!(t=t.parentNode))return T_;return t.__zoom}var T_,E_=R(()=>{"use strict";o(Rh,"Transform");Rh.prototype={constructor:Rh,scale:o(function(t){return t===1?this:new Rh(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Rh(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};T_=new Rh(1,0,0);k_.prototype=Rh.prototype;o(k_,"transform")});var yW=R(()=>{"use strict"});var vW=R(()=>{"use strict";c3();mW();gW();E_();yW()});var xW=R(()=>{"use strict";vW();E_()});var Zt=R(()=>{"use strict";bh();KG();mH();xH();Lp();bH();wH();bS();GV();TH();l8();kH();CH();C8();zH();$H();Np();d8();GH();EH();VH();LY();NY();fl();pW();_3();K8();n3();c3();xW()});var bW=gi(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.BLANK_URL=Zi.relativeFirstCharacters=Zi.whitespaceEscapeCharsRegex=Zi.urlSchemeRegex=Zi.ctrlCharactersRegex=Zi.htmlCtrlEntityRegex=Zi.htmlEntitiesRegex=Zi.invalidProtocolRegex=void 0;Zi.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;Zi.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;Zi.htmlCtrlEntityRegex=/&(newline|tab);/gi;Zi.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;Zi.urlSchemeRegex=/^.+(:|:)/gim;Zi.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;Zi.relativeFirstCharacters=[".","/"];Zi.BLANK_URL="about:blank"});var Up=gi(X3=>{"use strict";Object.defineProperty(X3,"__esModule",{value:!0});X3.sanitizeUrl=void 0;var Na=bW();function kTe(t){return Na.relativeFirstCharacters.indexOf(t[0])>-1}o(kTe,"isRelativeUrlWithoutProtocol");function ETe(t){var e=t.replace(Na.ctrlCharactersRegex,"");return e.replace(Na.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(ETe,"decodeHtmlCharacters");function CTe(t){return URL.canParse(t)}o(CTe,"isValidUrl");function wW(t){try{return decodeURIComponent(t)}catch{return t}}o(wW,"decodeURI");function STe(t){if(!t)return Na.BLANK_URL;var e,r=wW(t.trim());do r=ETe(r).replace(Na.htmlCtrlEntityRegex,"").replace(Na.ctrlCharactersRegex,"").replace(Na.whitespaceEscapeCharsRegex,"").trim(),r=wW(r),e=r.match(Na.ctrlCharactersRegex)||r.match(Na.htmlEntitiesRegex)||r.match(Na.htmlCtrlEntityRegex)||r.match(Na.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Na.BLANK_URL;if(kTe(n))return n;var i=n.trimStart(),a=i.match(Na.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(Na.invalidProtocolRegex.test(s))return Na.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!CTe(l))return Na.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(STe,"sanitizeUrl");X3.sanitizeUrl=STe});var C_,yd,j3,TW,kW,EW,wl,Ky,Qy=R(()=>{"use strict";C_=Xi(Up(),1);rr();yd=o((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),j3=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};yd(t,r).lower()},"drawBackgroundRect"),TW=o((t,e)=>{let r=e.text.replace(Qf," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),kW=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,C_.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),EW=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,C_.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),wl=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Ky=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var CW,S_,SW,ATe,_Te,LTe,DTe,RTe,NTe,MTe,ITe,OTe,PTe,BTe,FTe,bu,Tl,AW=R(()=>{"use strict";rr();Qy();CW=Xi(Up(),1),S_=o(function(t,e){return yd(t,e)},"drawRect"),SW=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,CW.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),ATe=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();bu(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),bu(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),_Te=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};S_(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,bu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,bu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,bu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),LTe=o(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=wl();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},S_(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=FTe(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":SW(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,bu(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?bu(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&bu(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,bu(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),DTe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),RTe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),NTe=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),MTe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),ITe=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),OTe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),PTe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),BTe=o(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),FTe=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),bu=function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(We.lineBreakRegex);for(let v=0;v{"use strict";zTe=typeof global=="object"&&global&&global.Object===Object&&global,Q3=zTe});var $Te,GTe,Jn,Ro=R(()=>{"use strict";A_();$Te=typeof self=="object"&&self&&self.Object===Object&&self,GTe=Q3||$Te||Function("return this")(),Jn=GTe});var VTe,Ji,vd=R(()=>{"use strict";Ro();VTe=Jn.Symbol,Ji=VTe});function YTe(t){var e=UTe.call(t,Zy),r=t[Zy];try{t[Zy]=void 0;var n=!0}catch{}var i=HTe.call(t);return n&&(e?t[Zy]=r:delete t[Zy]),i}var _W,UTe,HTe,Zy,LW,DW=R(()=>{"use strict";vd();_W=Object.prototype,UTe=_W.hasOwnProperty,HTe=_W.toString,Zy=Ji?Ji.toStringTag:void 0;o(YTe,"getRawTag");LW=YTe});function XTe(t){return qTe.call(t)}var WTe,qTe,RW,NW=R(()=>{"use strict";WTe=Object.prototype,qTe=WTe.toString;o(XTe,"objectToString");RW=XTe});function QTe(t){return t==null?t===void 0?KTe:jTe:MW&&MW in Object(t)?LW(t):RW(t)}var jTe,KTe,MW,fa,wu=R(()=>{"use strict";vd();DW();NW();jTe="[object Null]",KTe="[object Undefined]",MW=Ji?Ji.toStringTag:void 0;o(QTe,"baseGetTag");fa=QTe});function ZTe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var pn,Js=R(()=>{"use strict";o(ZTe,"isObject");pn=ZTe});function nke(t){if(!pn(t))return!1;var e=fa(t);return e==eke||e==tke||e==JTe||e==rke}var JTe,eke,tke,rke,wi,Jy=R(()=>{"use strict";wu();Js();JTe="[object AsyncFunction]",eke="[object Function]",tke="[object GeneratorFunction]",rke="[object Proxy]";o(nke,"isFunction");wi=nke});var ike,Z3,IW=R(()=>{"use strict";Ro();ike=Jn["__core-js_shared__"],Z3=ike});function ake(t){return!!OW&&OW in t}var OW,PW,BW=R(()=>{"use strict";IW();OW=function(){var t=/[^.]+$/.exec(Z3&&Z3.keys&&Z3.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();o(ake,"isMasked");PW=ake});function lke(t){if(t!=null){try{return oke.call(t)}catch{}try{return t+""}catch{}}return""}var ske,oke,Tu,__=R(()=>{"use strict";ske=Function.prototype,oke=ske.toString;o(lke,"toSource");Tu=lke});function gke(t){if(!pn(t)||PW(t))return!1;var e=wi(t)?mke:uke;return e.test(Tu(t))}var cke,uke,hke,fke,dke,pke,mke,FW,zW=R(()=>{"use strict";Jy();BW();Js();__();cke=/[\\^$.*+?()[\]{}|]/g,uke=/^\[object .+?Constructor\]$/,hke=Function.prototype,fke=Object.prototype,dke=hke.toString,pke=fke.hasOwnProperty,mke=RegExp("^"+dke.call(pke).replace(cke,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(gke,"baseIsNative");FW=gke});function yke(t,e){return t?.[e]}var $W,GW=R(()=>{"use strict";o(yke,"getValue");$W=yke});function vke(t,e){var r=$W(t,e);return FW(r)?r:void 0}var xs,Nh=R(()=>{"use strict";zW();GW();o(vke,"getNative");xs=vke});var xke,ku,ev=R(()=>{"use strict";Nh();xke=xs(Object,"create"),ku=xke});function bke(){this.__data__=ku?ku(null):{},this.size=0}var VW,UW=R(()=>{"use strict";ev();o(bke,"hashClear");VW=bke});function wke(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var HW,YW=R(()=>{"use strict";o(wke,"hashDelete");HW=wke});function Cke(t){var e=this.__data__;if(ku){var r=e[t];return r===Tke?void 0:r}return Eke.call(e,t)?e[t]:void 0}var Tke,kke,Eke,WW,qW=R(()=>{"use strict";ev();Tke="__lodash_hash_undefined__",kke=Object.prototype,Eke=kke.hasOwnProperty;o(Cke,"hashGet");WW=Cke});function _ke(t){var e=this.__data__;return ku?e[t]!==void 0:Ake.call(e,t)}var Ske,Ake,XW,jW=R(()=>{"use strict";ev();Ske=Object.prototype,Ake=Ske.hasOwnProperty;o(_ke,"hashHas");XW=_ke});function Dke(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=ku&&e===void 0?Lke:e,this}var Lke,KW,QW=R(()=>{"use strict";ev();Lke="__lodash_hash_undefined__";o(Dke,"hashSet");KW=Dke});function Hp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";UW();YW();qW();jW();QW();o(Hp,"Hash");Hp.prototype.clear=VW;Hp.prototype.delete=HW;Hp.prototype.get=WW;Hp.prototype.has=XW;Hp.prototype.set=KW;L_=Hp});function Rke(){this.__data__=[],this.size=0}var JW,eq=R(()=>{"use strict";o(Rke,"listCacheClear");JW=Rke});function Nke(t,e){return t===e||t!==t&&e!==e}var No,xd=R(()=>{"use strict";o(Nke,"eq");No=Nke});function Mke(t,e){for(var r=t.length;r--;)if(No(t[r][0],e))return r;return-1}var Mh,tv=R(()=>{"use strict";xd();o(Mke,"assocIndexOf");Mh=Mke});function Pke(t){var e=this.__data__,r=Mh(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():Oke.call(e,r,1),--this.size,!0}var Ike,Oke,tq,rq=R(()=>{"use strict";tv();Ike=Array.prototype,Oke=Ike.splice;o(Pke,"listCacheDelete");tq=Pke});function Bke(t){var e=this.__data__,r=Mh(e,t);return r<0?void 0:e[r][1]}var nq,iq=R(()=>{"use strict";tv();o(Bke,"listCacheGet");nq=Bke});function Fke(t){return Mh(this.__data__,t)>-1}var aq,sq=R(()=>{"use strict";tv();o(Fke,"listCacheHas");aq=Fke});function zke(t,e){var r=this.__data__,n=Mh(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var oq,lq=R(()=>{"use strict";tv();o(zke,"listCacheSet");oq=zke});function Yp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";eq();rq();iq();sq();lq();o(Yp,"ListCache");Yp.prototype.clear=JW;Yp.prototype.delete=tq;Yp.prototype.get=nq;Yp.prototype.has=aq;Yp.prototype.set=oq;Ih=Yp});var $ke,Oh,J3=R(()=>{"use strict";Nh();Ro();$ke=xs(Jn,"Map"),Oh=$ke});function Gke(){this.size=0,this.__data__={hash:new L_,map:new(Oh||Ih),string:new L_}}var cq,uq=R(()=>{"use strict";ZW();rv();J3();o(Gke,"mapCacheClear");cq=Gke});function Vke(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var hq,fq=R(()=>{"use strict";o(Vke,"isKeyable");hq=Vke});function Uke(t,e){var r=t.__data__;return hq(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Ph,nv=R(()=>{"use strict";fq();o(Uke,"getMapData");Ph=Uke});function Hke(t){var e=Ph(this,t).delete(t);return this.size-=e?1:0,e}var dq,pq=R(()=>{"use strict";nv();o(Hke,"mapCacheDelete");dq=Hke});function Yke(t){return Ph(this,t).get(t)}var mq,gq=R(()=>{"use strict";nv();o(Yke,"mapCacheGet");mq=Yke});function Wke(t){return Ph(this,t).has(t)}var yq,vq=R(()=>{"use strict";nv();o(Wke,"mapCacheHas");yq=Wke});function qke(t,e){var r=Ph(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var xq,bq=R(()=>{"use strict";nv();o(qke,"mapCacheSet");xq=qke});function Wp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";uq();pq();gq();vq();bq();o(Wp,"MapCache");Wp.prototype.clear=cq;Wp.prototype.delete=dq;Wp.prototype.get=mq;Wp.prototype.has=yq;Wp.prototype.set=xq;bd=Wp});function D_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Xke);var r=o(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(D_.Cache||bd),r}var Xke,qp,R_=R(()=>{"use strict";e5();Xke="Expected a function";o(D_,"memoize");D_.Cache=bd;qp=D_});function jke(){this.__data__=new Ih,this.size=0}var wq,Tq=R(()=>{"use strict";rv();o(jke,"stackClear");wq=jke});function Kke(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var kq,Eq=R(()=>{"use strict";o(Kke,"stackDelete");kq=Kke});function Qke(t){return this.__data__.get(t)}var Cq,Sq=R(()=>{"use strict";o(Qke,"stackGet");Cq=Qke});function Zke(t){return this.__data__.has(t)}var Aq,_q=R(()=>{"use strict";o(Zke,"stackHas");Aq=Zke});function eEe(t,e){var r=this.__data__;if(r instanceof Ih){var n=r.__data__;if(!Oh||n.length{"use strict";rv();J3();e5();Jke=200;o(eEe,"stackSet");Lq=eEe});function Xp(t){var e=this.__data__=new Ih(t);this.size=e.size}var uc,iv=R(()=>{"use strict";rv();Tq();Eq();Sq();_q();Dq();o(Xp,"Stack");Xp.prototype.clear=wq;Xp.prototype.delete=kq;Xp.prototype.get=Cq;Xp.prototype.has=Aq;Xp.prototype.set=Lq;uc=Xp});var tEe,jp,N_=R(()=>{"use strict";Nh();tEe=function(){try{var t=xs(Object,"defineProperty");return t({},"",{}),t}catch{}}(),jp=tEe});function rEe(t,e,r){e=="__proto__"&&jp?jp(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var hc,Kp=R(()=>{"use strict";N_();o(rEe,"baseAssignValue");hc=rEe});function nEe(t,e,r){(r!==void 0&&!No(t[e],r)||r===void 0&&!(e in t))&&hc(t,e,r)}var av,M_=R(()=>{"use strict";Kp();xd();o(nEe,"assignMergeValue");av=nEe});function iEe(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var Rq,Nq=R(()=>{"use strict";o(iEe,"createBaseFor");Rq=iEe});var aEe,Qp,t5=R(()=>{"use strict";Nq();aEe=Rq(),Qp=aEe});function oEe(t,e){if(e)return t.slice();var r=t.length,n=Oq?Oq(r):new t.constructor(r);return t.copy(n),n}var Pq,Mq,sEe,Iq,Oq,r5,I_=R(()=>{"use strict";Ro();Pq=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mq=Pq&&typeof module=="object"&&module&&!module.nodeType&&module,sEe=Mq&&Mq.exports===Pq,Iq=sEe?Jn.Buffer:void 0,Oq=Iq?Iq.allocUnsafe:void 0;o(oEe,"cloneBuffer");r5=oEe});var lEe,Zp,O_=R(()=>{"use strict";Ro();lEe=Jn.Uint8Array,Zp=lEe});function cEe(t){var e=new t.constructor(t.byteLength);return new Zp(e).set(new Zp(t)),e}var Jp,n5=R(()=>{"use strict";O_();o(cEe,"cloneArrayBuffer");Jp=cEe});function uEe(t,e){var r=e?Jp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var i5,P_=R(()=>{"use strict";n5();o(uEe,"cloneTypedArray");i5=uEe});function hEe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(hEe,"copyArray");a5=hEe});var Bq,fEe,Fq,zq=R(()=>{"use strict";Js();Bq=Object.create,fEe=function(){function t(){}return o(t,"object"),function(e){if(!pn(e))return{};if(Bq)return Bq(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Fq=fEe});function dEe(t,e){return function(r){return t(e(r))}}var s5,F_=R(()=>{"use strict";o(dEe,"overArg");s5=dEe});var pEe,em,o5=R(()=>{"use strict";F_();pEe=s5(Object.getPrototypeOf,Object),em=pEe});function gEe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||mEe;return t===r}var mEe,fc,tm=R(()=>{"use strict";mEe=Object.prototype;o(gEe,"isPrototype");fc=gEe});function yEe(t){return typeof t.constructor=="function"&&!fc(t)?Fq(em(t)):{}}var l5,z_=R(()=>{"use strict";zq();o5();tm();o(yEe,"initCloneObject");l5=yEe});function vEe(t){return t!=null&&typeof t=="object"}var Wn,Mo=R(()=>{"use strict";o(vEe,"isObjectLike");Wn=vEe});function bEe(t){return Wn(t)&&fa(t)==xEe}var xEe,$_,$q=R(()=>{"use strict";wu();Mo();xEe="[object Arguments]";o(bEe,"baseIsArguments");$_=bEe});var Gq,wEe,TEe,kEe,kl,rm=R(()=>{"use strict";$q();Mo();Gq=Object.prototype,wEe=Gq.hasOwnProperty,TEe=Gq.propertyIsEnumerable,kEe=$_(function(){return arguments}())?$_:function(t){return Wn(t)&&wEe.call(t,"callee")&&!TEe.call(t,"callee")},kl=kEe});var EEe,wt,Bn=R(()=>{"use strict";EEe=Array.isArray,wt=EEe});function SEe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=CEe}var CEe,nm,c5=R(()=>{"use strict";CEe=9007199254740991;o(SEe,"isLength");nm=SEe});function AEe(t){return t!=null&&nm(t.length)&&!wi(t)}var ei,Io=R(()=>{"use strict";Jy();c5();o(AEe,"isArrayLike");ei=AEe});function _Ee(t){return Wn(t)&&ei(t)}var wd,u5=R(()=>{"use strict";Io();Mo();o(_Ee,"isArrayLikeObject");wd=_Ee});function LEe(){return!1}var Vq,Uq=R(()=>{"use strict";o(LEe,"stubFalse");Vq=LEe});var Wq,Hq,DEe,Yq,REe,NEe,El,im=R(()=>{"use strict";Ro();Uq();Wq=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Hq=Wq&&typeof module=="object"&&module&&!module.nodeType&&module,DEe=Hq&&Hq.exports===Wq,Yq=DEe?Jn.Buffer:void 0,REe=Yq?Yq.isBuffer:void 0,NEe=REe||Vq,El=NEe});function FEe(t){if(!Wn(t)||fa(t)!=MEe)return!1;var e=em(t);if(e===null)return!0;var r=PEe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&qq.call(r)==BEe}var MEe,IEe,OEe,qq,PEe,BEe,Xq,jq=R(()=>{"use strict";wu();o5();Mo();MEe="[object Object]",IEe=Function.prototype,OEe=Object.prototype,qq=IEe.toString,PEe=OEe.hasOwnProperty,BEe=qq.call(Object);o(FEe,"isPlainObject");Xq=FEe});function c6e(t){return Wn(t)&&nm(t.length)&&!!Mn[fa(t)]}var zEe,$Ee,GEe,VEe,UEe,HEe,YEe,WEe,qEe,XEe,jEe,KEe,QEe,ZEe,JEe,e6e,t6e,r6e,n6e,i6e,a6e,s6e,o6e,l6e,Mn,Kq,Qq=R(()=>{"use strict";wu();c5();Mo();zEe="[object Arguments]",$Ee="[object Array]",GEe="[object Boolean]",VEe="[object Date]",UEe="[object Error]",HEe="[object Function]",YEe="[object Map]",WEe="[object Number]",qEe="[object Object]",XEe="[object RegExp]",jEe="[object Set]",KEe="[object String]",QEe="[object WeakMap]",ZEe="[object ArrayBuffer]",JEe="[object DataView]",e6e="[object Float32Array]",t6e="[object Float64Array]",r6e="[object Int8Array]",n6e="[object Int16Array]",i6e="[object Int32Array]",a6e="[object Uint8Array]",s6e="[object Uint8ClampedArray]",o6e="[object Uint16Array]",l6e="[object Uint32Array]",Mn={};Mn[e6e]=Mn[t6e]=Mn[r6e]=Mn[n6e]=Mn[i6e]=Mn[a6e]=Mn[s6e]=Mn[o6e]=Mn[l6e]=!0;Mn[zEe]=Mn[$Ee]=Mn[ZEe]=Mn[GEe]=Mn[JEe]=Mn[VEe]=Mn[UEe]=Mn[HEe]=Mn[YEe]=Mn[WEe]=Mn[qEe]=Mn[XEe]=Mn[jEe]=Mn[KEe]=Mn[QEe]=!1;o(c6e,"baseIsTypedArray");Kq=c6e});function u6e(t){return function(e){return t(e)}}var Oo,Td=R(()=>{"use strict";o(u6e,"baseUnary");Oo=u6e});var Zq,sv,h6e,G_,f6e,Po,ov=R(()=>{"use strict";A_();Zq=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sv=Zq&&typeof module=="object"&&module&&!module.nodeType&&module,h6e=sv&&sv.exports===Zq,G_=h6e&&Q3.process,f6e=function(){try{var t=sv&&sv.require&&sv.require("util").types;return t||G_&&G_.binding&&G_.binding("util")}catch{}}(),Po=f6e});var Jq,d6e,Bh,lv=R(()=>{"use strict";Qq();Td();ov();Jq=Po&&Po.isTypedArray,d6e=Jq?Oo(Jq):Kq,Bh=d6e});function p6e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var cv,V_=R(()=>{"use strict";o(p6e,"safeGet");cv=p6e});function y6e(t,e,r){var n=t[e];(!(g6e.call(t,e)&&No(n,r))||r===void 0&&!(e in t))&&hc(t,e,r)}var m6e,g6e,dc,am=R(()=>{"use strict";Kp();xd();m6e=Object.prototype,g6e=m6e.hasOwnProperty;o(y6e,"assignValue");dc=y6e});function v6e(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";am();Kp();o(v6e,"copyObject");Bo=v6e});function x6e(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(x6e,"baseTimes");eX=x6e});function T6e(t,e){var r=typeof t;return e=e??b6e,!!e&&(r=="number"||r!="symbol"&&w6e.test(t))&&t>-1&&t%1==0&&t{"use strict";b6e=9007199254740991,w6e=/^(?:0|[1-9]\d*)$/;o(T6e,"isIndex");Fh=T6e});function C6e(t,e){var r=wt(t),n=!r&&kl(t),i=!r&&!n&&El(t),a=!r&&!n&&!i&&Bh(t),s=r||n||i||a,l=s?eX(t.length,String):[],u=l.length;for(var h in t)(e||E6e.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Fh(h,u)))&&l.push(h);return l}var k6e,E6e,h5,U_=R(()=>{"use strict";tX();rm();Bn();im();uv();lv();k6e=Object.prototype,E6e=k6e.hasOwnProperty;o(C6e,"arrayLikeKeys");h5=C6e});function S6e(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var rX,nX=R(()=>{"use strict";o(S6e,"nativeKeysIn");rX=S6e});function L6e(t){if(!pn(t))return rX(t);var e=fc(t),r=[];for(var n in t)n=="constructor"&&(e||!_6e.call(t,n))||r.push(n);return r}var A6e,_6e,iX,aX=R(()=>{"use strict";Js();tm();nX();A6e=Object.prototype,_6e=A6e.hasOwnProperty;o(L6e,"baseKeysIn");iX=L6e});function D6e(t){return ei(t)?h5(t,!0):iX(t)}var bs,zh=R(()=>{"use strict";U_();aX();Io();o(D6e,"keysIn");bs=D6e});function R6e(t){return Bo(t,bs(t))}var sX,oX=R(()=>{"use strict";kd();zh();o(R6e,"toPlainObject");sX=R6e});function N6e(t,e,r,n,i,a,s){var l=cv(t,r),u=cv(e,r),h=s.get(u);if(h){av(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=wt(u),m=!p&&El(u),g=!p&&!m&&Bh(u);f=u,p||m||g?wt(l)?f=l:wd(l)?f=a5(l):m?(d=!1,f=r5(u,!0)):g?(d=!1,f=i5(u,!0)):f=[]:Xq(u)||kl(u)?(f=l,kl(l)?f=sX(l):(!pn(l)||wi(l))&&(f=l5(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),av(t,r,f)}var lX,cX=R(()=>{"use strict";M_();I_();P_();B_();z_();rm();Bn();u5();im();Jy();Js();jq();lv();V_();oX();o(N6e,"baseMergeDeep");lX=N6e});function uX(t,e,r,n,i){t!==e&&Qp(e,function(a,s){if(i||(i=new uc),pn(a))lX(t,e,s,r,uX,n,i);else{var l=n?n(cv(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),av(t,s,l)}},bs)}var hX,fX=R(()=>{"use strict";iv();M_();t5();cX();Js();zh();V_();o(uX,"baseMerge");hX=uX});function M6e(t){return t}var ea,Eu=R(()=>{"use strict";o(M6e,"identity");ea=M6e});function I6e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var dX,pX=R(()=>{"use strict";o(I6e,"apply");dX=I6e});function O6e(t,e,r){return e=mX(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=mX(n.length-e,0),s=Array(a);++i{"use strict";pX();mX=Math.max;o(O6e,"overRest");f5=O6e});function P6e(t){return function(){return t}}var ws,Y_=R(()=>{"use strict";o(P6e,"constant");ws=P6e});var B6e,gX,yX=R(()=>{"use strict";Y_();N_();Eu();B6e=jp?function(t,e){return jp(t,"toString",{configurable:!0,enumerable:!1,value:ws(e),writable:!0})}:ea,gX=B6e});function G6e(t){var e=0,r=0;return function(){var n=$6e(),i=z6e-(n-r);if(r=n,i>0){if(++e>=F6e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var F6e,z6e,$6e,vX,xX=R(()=>{"use strict";F6e=800,z6e=16,$6e=Date.now;o(G6e,"shortOut");vX=G6e});var V6e,d5,W_=R(()=>{"use strict";yX();xX();V6e=vX(gX),d5=V6e});function U6e(t,e){return d5(f5(t,e,ea),t+"")}var pc,sm=R(()=>{"use strict";Eu();H_();W_();o(U6e,"baseRest");pc=U6e});function H6e(t,e,r){if(!pn(r))return!1;var n=typeof e;return(n=="number"?ei(r)&&Fh(e,r.length):n=="string"&&e in r)?No(r[e],t):!1}var eo,Ed=R(()=>{"use strict";xd();Io();uv();Js();o(H6e,"isIterateeCall");eo=H6e});function Y6e(t){return pc(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&eo(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";sm();Ed();o(Y6e,"createAssigner");p5=Y6e});var W6e,$h,X_=R(()=>{"use strict";fX();q_();W6e=p5(function(t,e,r){hX(t,e,r)}),$h=W6e});function om(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return q6e[r]??e}function Q6e(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,TX.sanitizeUrl)(r):r}function CX(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function J6e(t){let e,r=0;t.forEach(i=>{r+=CX(i,e),e=i});let n=r/2;return Q_(t,n)}function eCe(t){return t.length===1?t[0]:J6e(t)}function rCe(t,e,r){let n=structuredClone(r);V.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=Q_(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function lm(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function nCe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;i{"use strict";TX=Xi(Up(),1);Zt();rr();r7();ut();Hf();cp();R_();X_();Vb();K_="\u200B",q6e={curveBasis:vs,curveBasisClosed:B3,curveBasisOpen:F3,curveBumpX:s_,curveBumpY:o_,curveBundle:l_,curveCardinalClosed:u_,curveCardinalOpen:f_,curveCardinal:c_,curveCatmullRomClosed:m_,curveCatmullRomOpen:g_,curveCatmullRom:p_,curveLinear:xu,curveLinearClosed:U3,curveMonotoneX:v_,curveMonotoneY:x_,curveNatural:Y3,curveStep:q3,curveStepAfter:w_,curveStepBefore:b_},X6e=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,j6e=o(function(t,e){let r=kX(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);fp(s),n=On(n,[...s])}else n=r.args;if(!n)return;let i=lp(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),kX=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${X6e.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),V.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Vf.exec(t))!==null;)if(n.index===Vf.lastIndex&&Vf.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return V.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),EX=o(function(t){return t.replace(Vf,"")},"removeDirectives"),K6e=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(om,"interpolateToCurve");o(Q6e,"formatUrl");Z6e=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),Q_=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=CX(i,r);if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:bX((1-s)*r.x+s*i.x,5),y:bX((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),tCe=o((t,e,r)=>{V.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=Q_(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(rCe,"calcTerminalLabelPosition");o(lm,"getStylesFromArray");wX=0,Z_=o(()=>(wX++,"id-"+Math.random().toString(36).substr(2,12)+"-"+wX),"generateId");o(nCe,"makeRandomHex");J_=o(t=>nCe(t.length),"random"),iCe=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),aCe=o(function(t,e){let r=e.text.replace(We.lineBreakRegex," "),[,n]=mc(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),e9=qp((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),We.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=Cl(`${s} `,r),h=Cl(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=sCe(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),sCe=qp((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(Cl(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(g5,"calculateTextHeight");o(Cl,"calculateTextWidth");t9=qp((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=mc(r),s=["sans-serif",n],l=t.split(We.lineBreakRegex),u=[],h=Ge("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=iCe();v.text=y||K_;let x=aCe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),j_=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},oCe=o(function(t){return m5=m5||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),m5.innerHTML=t,unescape(m5.textContent)},"entityDecode");o(r9,"isDetailedError");lCe=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),mc=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(Ts,"cleanAndMerge");Lt={assignWithDepth:On,wrapLabel:e9,calculateTextHeight:g5,calculateTextWidth:Cl,calculateTextDimensions:t9,cleanAndMerge:Ts,detectInit:j6e,detectDirective:kX,isSubstringInArray:K6e,interpolateToCurve:om,calcLabelPosition:eCe,calcCardinalityPosition:tCe,calcTerminalLabelPosition:rCe,formatUrl:Q6e,getStylesFromArray:lm,generateId:Z_,random:J_,runFunc:Z6e,entityDecode:oCe,insertTitle:lCe,parseFontSize:mc,InitIDGenerator:j_},SX=o(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),to=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),y5=o((t,e,{counter:r=0,prefix:n,suffix:i})=>`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId")});function Sl(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=e9(e[t].text,i,n),e[t].textLines=e[t].text.split(We.lineBreakRegex).length,e[t].width=i,e[t].height=g5(e[t].text,n);else{let a=e[t].text.split(We.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(Cl(l,n),e[t].width),s=g5(l,n),e[t].height=e[t].height+s}}function RX(t,e,r,n,i){let a=new w5(i);a.data.widthLimit=r.data.widthLimit/Math.min(n9,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Nt.wrap,f=v5(Nt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Sl("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=v5(Nt);Sl("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=v5(Nt);g.fontSize=g.fontSize-2,Sl("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%n9===0){let g=r.data.startx+Nt.diagramMarginX,y=r.data.stopy+Nt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Nt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&DX(a,t,d,p),e=l.alias;let m=i.db.getBoundarys(e);m.length>0&&RX(t,e,a,m,i),l.alias!=="global"&&LX(t,l,a),r.data.stopy=Math.max(a.data.stopy+Nt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Nt.c4ShapeMargin,r.data.stopx),x5=Math.max(x5,r.data.stopx),b5=Math.max(b5,r.data.stopy)}}var x5,b5,_X,n9,Nt,w5,i9,hv,v5,cCe,LX,DX,ks,AX,uCe,hCe,fCe,a9,NX=R(()=>{"use strict";Zt();AW();ut();VC();rr();lS();_t();cp();xr();Yn();x5=0,b5=0,_X=4,n9=2;U1.yy=hy;Nt={},w5=class{static{o(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,i9(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>_X)&&(r=this.nextData.startx+e.margin+Nt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},i9(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},i9=o(function(t){On(Nt,t),t.fontFamily&&(Nt.personFontFamily=Nt.systemFontFamily=Nt.messageFontFamily=t.fontFamily),t.fontSize&&(Nt.personFontSize=Nt.systemFontSize=Nt.messageFontSize=t.fontSize),t.fontWeight&&(Nt.personFontWeight=Nt.systemFontWeight=Nt.messageFontWeight=t.fontWeight)},"setConf"),hv=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),v5=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),cCe=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(Sl,"calcC4ShapeTextWH");LX=o(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=Nt.c4ShapeMargin-35;let n=e.wrap&&Nt.wrap,i=v5(Nt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=Cl(e.label.text,i);Sl("label",e,n,i,a),Tl.drawBoundary(t,e,Nt)},"drawBoundary"),DX=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=hv(Nt,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=Cl("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Nt.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let u=s.wrap&&Nt.wrap,h=Nt.width-Nt.c4ShapePadding*2,f=hv(Nt,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Sl("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=hv(Nt,s.typeC4Shape.text);Sl("type",s,u,m,h),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=hv(Nt,s.techn.text);Sl("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=hv(Nt,s.typeC4Shape.text);Sl("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Nt.c4ShapePadding,s.width=Math.max(s.width||Nt.width,p,Nt.width),s.height=Math.max(s.height||Nt.height,d,Nt.height),s.margin=s.margin||Nt.c4ShapeMargin,t.insert(s),Tl.drawC4Shape(e,s,Nt)}t.bumpLastMargin(Nt.c4ShapeMargin)},"drawC4ShapeArray"),ks=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},AX=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new ks(r,l):r==i&&na&&(p=new ks(s,n)),r>i&&n=f?p=new ks(r,l+f*t.width/2):p=new ks(s-u/h*t.height/2,n+t.height):r=f?p=new ks(r+t.width,l+f*t.width/2):p=new ks(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new ks(r+t.width,l-f*t.width/2):p=new ks(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new ks(r,l-t.width/2*f):p=new ks(s-t.height/2*u/h,n)),p},"getIntersectPoint"),uCe=o(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=AX(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=AX(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),hCe=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Nt.wrap,l=cCe(Nt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=Cl(a.label.text,l);Sl("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=Cl(a.techn.text,l),Sl("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=Cl(a.descr.text,l),Sl("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=uCe(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}Tl.drawRels(t,e,Nt)},"drawRels");o(RX,"drawInsideBoundary");fCe=o(function(t,e,r,n){Nt=de().c4;let i=de().securityLevel,a;i==="sandbox"&&(a=Ge("#i"+e));let s=i==="sandbox"?Ge(a.nodes()[0].contentDocument.body):Ge("body"),l=n.db;n.db.setWrap(Nt.wrap),_X=l.getC4ShapeInRow(),n9=l.getC4BoundaryInRow(),V.debug(`C:${JSON.stringify(Nt,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):Ge(`[id="${e}"]`);Tl.insertComputerIcon(u),Tl.insertDatabaseIcon(u),Tl.insertClockIcon(u);let h=new w5(n);h.setData(Nt.diagramMarginX,Nt.diagramMarginX,Nt.diagramMarginY,Nt.diagramMarginY),h.data.widthLimit=screen.availWidth,x5=Nt.diagramMarginX,b5=Nt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundarys("");RX(u,"",h,d,n),Tl.insertArrowHead(u),Tl.insertArrowEnd(u),Tl.insertArrowCrossHead(u),Tl.insertArrowFilledHead(u),hCe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=x5,h.data.stopy=b5;let p=h.data,g=p.stopy-p.starty+2*Nt.diagramMarginY,v=p.stopx-p.startx+2*Nt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Nt.diagramMarginX).attr("y",p.starty+Nt.diagramMarginY),Sr(u,g,v,Nt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Nt.diagramMarginX+" -"+(Nt.diagramMarginY+x)+" "+v+" "+(g+x)),V.debug("models:",p)},"draw"),a9={drawPersonOrSystemArray:DX,drawBoundary:LX,setConf:i9,draw:fCe}});var dCe,MX,IX=R(()=>{"use strict";dCe=o(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } -`,"getStyles"),cY=Wwe});var hY={};ur(hY,{diagram:()=>Hwe});var Hwe,fY=_(()=>{"use strict";Z7();vC();lY();uY();Hwe={parser:MB,db:Y1,renderer:mA,styles:cY,init:s(({c4:t,wrap:e})=>{mA.setConf(t),Y1.setWrap(e)},"init")}});function yA(t){let e=[];for(let r of t){let n=jy.get(r);n?.styles&&(e=[...e,...n.styles??[]].map(i=>i.trim())),n?.textStyles&&(e=[...e,...n.textStyles??[]].map(i=>i.trim()))}return e}var Kwe,mY,Yp,Oh,ys,jy,gu,vA,xA,W3,gA,So,H3,Y3,X3,j3,Qwe,Zwe,Jwe,eTe,tTe,rTe,nTe,bA,iTe,aTe,sTe,gY,oTe,lTe,kA,yY,vY,cTe,xY,uTe,hTe,fTe,dTe,pTe,Xy,bY,kY,mTe,gTe,wY,yTe,vTe,xTe,bTe,kTe,TY,EY,wTe,TTe,ETe,CTe,STe,_Te,K3,wA=_(()=>{"use strict";Xt();pr();gt();Qt();it();Ci();Kwe="flowchart-",mY=0,Yp=le(),Oh=new Map,ys=[],jy=new Map,gu=[],vA=new Map,xA=new Map,W3=0,gA=!0,Y3=[],X3=s(t=>$e.sanitizeText(t,Yp),"sanitizeText"),j3=s(function(t){for(let e of Oh.values())if(e.id===t)return e.domId;return t},"lookUpDomId"),Qwe=s(function(t,e,r,n,i,a,o={}){if(!t||t.trim().length===0)return;let l,u=Oh.get(t);u===void 0&&(u={id:t,labelType:"text",domId:Kwe+t+"-"+mY,styles:[],classes:[]},Oh.set(t,u)),mY++,e!==void 0?(Yp=le(),l=X3(e.text.trim()),u.labelType=e.type,l.startsWith('"')&&l.endsWith('"')&&(l=l.substring(1,l.length-1)),u.text=l):u.text===void 0&&(u.text=t),r!==void 0&&(u.type=r),n?.forEach(function(h){u.styles.push(h)}),i?.forEach(function(h){u.classes.push(h)}),a!==void 0&&(u.dir=a),u.props===void 0?u.props=o:o!==void 0&&Object.assign(u.props,o)},"addVertex"),Zwe=s(function(t,e,r){let a={start:t,end:e,type:void 0,text:"",labelType:"text"};V.info("abc78 Got edge...",a);let o=r.text;if(o!==void 0&&(a.text=X3(o.text.trim()),a.text.startsWith('"')&&a.text.endsWith('"')&&(a.text=a.text.substring(1,a.text.length-1)),a.labelType=o.type),r!==void 0&&(a.type=r.type,a.stroke=r.stroke,a.length=r.length>10?10:r.length),ys.length<(Yp.maxEdges??500))V.info("Pushing edge..."),ys.push(a);else throw new Error(`Edge limit exceeded. ${ys.length} edges found, but the limit is ${Yp.maxEdges}. +`,"getStyles"),MX=dCe});var OX={};hr(OX,{diagram:()=>pCe});var pCe,PX=R(()=>{"use strict";VC();lS();NX();IX();pCe={parser:rz,db:hy,renderer:a9,styles:MX,init:o(({c4:t,wrap:e})=>{a9.setConf(t),hy.setWrap(e)},"init")}});function o9(t){let e=[];for(let r of t){let n=dv.get(r);n?.styles&&(e=[...e,...n.styles??[]].map(i=>i.trim())),n?.textStyles&&(e=[...e,...n.textStyles??[]].map(i=>i.trim()))}return e}var vCe,zX,cm,Gh,Es,dv,Cu,l9,c9,T5,s9,Fo,k5,E5,C5,S5,xCe,bCe,wCe,TCe,kCe,ECe,CCe,u9,SCe,ACe,_Ce,$X,LCe,DCe,h9,GX,VX,RCe,UX,NCe,MCe,ICe,OCe,PCe,fv,HX,YX,BCe,FCe,WX,zCe,$Ce,GCe,VCe,UCe,qX,XX,HCe,YCe,WCe,qCe,XCe,jCe,A5,f9=R(()=>{"use strict";Zt();xr();_t();rr();ut();bi();vCe="flowchart-",zX=0,cm=de(),Gh=new Map,Es=[],dv=new Map,Cu=[],l9=new Map,c9=new Map,T5=0,s9=!0,E5=[],C5=o(t=>We.sanitizeText(t,cm),"sanitizeText"),S5=o(function(t){for(let e of Gh.values())if(e.id===t)return e.domId;return t},"lookUpDomId"),xCe=o(function(t,e,r,n,i,a,s={}){if(!t||t.trim().length===0)return;let l,u=Gh.get(t);u===void 0&&(u={id:t,labelType:"text",domId:vCe+t+"-"+zX,styles:[],classes:[]},Gh.set(t,u)),zX++,e!==void 0?(cm=de(),l=C5(e.text.trim()),u.labelType=e.type,l.startsWith('"')&&l.endsWith('"')&&(l=l.substring(1,l.length-1)),u.text=l):u.text===void 0&&(u.text=t),r!==void 0&&(u.type=r),n?.forEach(function(h){u.styles.push(h)}),i?.forEach(function(h){u.classes.push(h)}),a!==void 0&&(u.dir=a),u.props===void 0?u.props=s:s!==void 0&&Object.assign(u.props,s)},"addVertex"),bCe=o(function(t,e,r){let a={start:t,end:e,type:void 0,text:"",labelType:"text"};V.info("abc78 Got edge...",a);let s=r.text;if(s!==void 0&&(a.text=C5(s.text.trim()),a.text.startsWith('"')&&a.text.endsWith('"')&&(a.text=a.text.substring(1,a.text.length-1)),a.labelType=s.type),r!==void 0&&(a.type=r.type,a.stroke=r.stroke,a.length=r.length>10?10:r.length),Es.length<(cm.maxEdges??500))V.info("Pushing edge..."),Es.push(a);else throw new Error(`Edge limit exceeded. ${Es.length} edges found, but the limit is ${cm.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. -You have to call mermaid.initialize.`)},"addSingleLink"),Jwe=s(function(t,e,r){V.info("addLink",t,e,r);for(let n of t)for(let i of e)Zwe(n,i,r)},"addLink"),eTe=s(function(t,e){t.forEach(function(r){r==="default"?ys.defaultInterpolate=e:ys[r].interpolate=e})},"updateLinkInterpolate"),tTe=s(function(t,e){t.forEach(function(r){if(typeof r=="number"&&r>=ys.length)throw new Error(`The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${ys.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);r==="default"?ys.defaultStyle=e:(ys[r].style=e,(ys[r]?.style?.length??0)>0&&!ys[r]?.style?.some(n=>n?.startsWith("fill"))&&ys[r]?.style?.push("fill:none"))})},"updateLink"),rTe=s(function(t,e){t.split(",").forEach(function(r){let n=jy.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},jy.set(r,n)),e?.forEach(function(i){if(/color/.exec(i)){let a=i.replace("fill","bgFill");n.textStyles.push(a)}n.styles.push(i)})})},"addClass"),nTe=s(function(t){So=t,/.*/.exec(So)&&(So="LR"),/.*v/.exec(So)&&(So="TB"),So==="TD"&&(So="TB")},"setDirection"),bA=s(function(t,e){for(let r of t.split(",")){let n=Oh.get(r);n&&n.classes.push(e);let i=vA.get(r);i&&i.classes.push(e)}},"setClass"),iTe=s(function(t,e){if(e!==void 0){e=X3(e);for(let r of t.split(","))xA.set(H3==="gen-1"?j3(r):r,e)}},"setTooltip"),aTe=s(function(t,e,r){let n=j3(t);if(le().securityLevel!=="loose"||e===void 0)return;let i=[];if(typeof r=="string"){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let o=0;o")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),Me(this).classed("hover",!1)})},"setupToolTips");Y3.push(xY);uTe=s(function(t="gen-1"){Oh=new Map,jy=new Map,ys=[],Y3=[xY],gu=[],vA=new Map,W3=0,xA=new Map,gA=!0,H3=t,Yp=le(),br()},"clear"),hTe=s(t=>{H3=t||"gen-2"},"setGen"),fTe=s(function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},"defaultStyle"),dTe=s(function(t,e,r){let n=t.text.trim(),i=r.text;t===r&&/\s/.exec(r.text)&&(n=void 0);function a(h){let f={boolean:{},number:{},string:{}},d=[],p;return{nodeList:h.filter(function(g){let y=typeof g;return g.stmt&&g.stmt==="dir"?(p=g.value,!1):g.trim()===""?!1:y in f?f[y].hasOwnProperty(g)?!1:f[y][g]=!0:d.includes(g)?!1:d.push(g)}),dir:p}}s(a,"uniq");let{nodeList:o,dir:l}=a(e.flat());if(H3==="gen-1")for(let h=0;h2e3)return{result:!1,count:0};if(bY[Xy]=e,gu[e].id===t)return{result:!0,count:0};let n=0,i=1;for(;n=0){let o=kY(t,a);if(o.result)return{result:!0,count:i+o.count};i=i+o.count}n=n+1}return{result:!1,count:i}},"indexNodes2"),mTe=s(function(t){return bY[t]},"getDepthFirstPos"),gTe=s(function(){Xy=-1,gu.length>0&&kY("none",gu.length-1)},"indexNodes"),wY=s(function(){return gu},"getSubGraphs"),yTe=s(()=>gA?(gA=!1,!0):!1,"firstGraph"),vTe=s(t=>{let e=t.trim(),r="arrow_open";switch(e[0]){case"<":r="arrow_point",e=e.slice(1);break;case"x":r="arrow_cross",e=e.slice(1);break;case"o":r="arrow_circle",e=e.slice(1);break}let n="normal";return e.includes("=")&&(n="thick"),e.includes(".")&&(n="dotted"),{type:r,stroke:n}},"destructStartLink"),xTe=s((t,e)=>{let r=e.length,n=0;for(let i=0;i{let e=t.trim(),r=e.slice(0,-1),n="arrow_open";switch(e.slice(-1)){case"x":n="arrow_cross",e.startsWith("x")&&(n="double_"+n,r=r.slice(1));break;case">":n="arrow_point",e.startsWith("<")&&(n="double_"+n,r=r.slice(1));break;case"o":n="arrow_circle",e.startsWith("o")&&(n="double_"+n,r=r.slice(1));break}let i="normal",a=r.length-1;r.startsWith("=")&&(i="thick"),r.startsWith("~")&&(i="invisible");let o=xTe(".",r);return o&&(i="dotted",a=o),{type:n,stroke:i,length:a}},"destructEndLink"),kTe=s((t,e)=>{let r=bTe(t),n;if(e){if(n=vTe(e),n.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=r.type;else{if(n.type!==r.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=r.length,n}return r},"destructLink"),TY=s((t,e)=>{for(let r of t)if(r.nodes.includes(e))return!0;return!1},"exists"),EY=s((t,e)=>{let r=[];return t.nodes.forEach((n,i)=>{TY(e,n)||r.push(t.nodes[i])}),{nodes:r}},"makeUniq"),wTe={firstGraph:yTe},TTe=s(t=>t.type==="square"?"squareRect":t.type==="round"?"roundedRect":t.type??"squareRect","getTypeFromVertex"),ETe=s((t,e)=>t.find(r=>r.id===e),"findNode"),CTe=s(t=>{let e="none",r="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":r=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),r=e;break}return{arrowTypeStart:e,arrowTypeEnd:r}},"destructEdgeType"),STe=s((t,e,r,n,i,a)=>{let o=r.get(t.id),l=n.get(t.id)??!1,u=ETe(e,t.id);u?(u.cssStyles=t.styles,u.cssCompiledStyles=yA(t.classes),u.cssClasses=t.classes.join(" ")):e.push({id:t.id,label:t.text,labelStyle:"",parentId:o,padding:i.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:yA(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),shape:TTe(t),dir:t.dir,domId:t.domId,isGroup:l,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:gY(t.id)})},"addNodeFromVertex");s(yA,"getCompiledStyles");_Te=s(()=>{let t=le(),e=[],r=[],n=wY(),i=new Map,a=new Map;for(let u=n.length-1;u>=0;u--){let h=n[u];h.nodes.length>0&&a.set(h.id,!0);for(let f of h.nodes)i.set(f,h.id)}for(let u=n.length-1;u>=0;u--){let h=n[u];e.push({id:h.id,label:h.title,labelStyle:"",parentId:i.get(h.id),padding:8,cssCompiledStyles:yA(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:t.look})}yY().forEach(u=>{STe(u,e,i,a,t,t.look||"classic")});let l=vY();return l.forEach((u,h)=>{let{arrowTypeStart:f,arrowTypeEnd:d}=CTe(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);let m={id:$3(u.start,u.end,{counter:h,prefix:"L"}),start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"?"none":f,arrowTypeEnd:u?.stroke==="invisible"?"none":d,arrowheadStyle:"fill: #333",labelStyle:p,style:p,pattern:u.stroke,look:t.look};r.push(m)}),{nodes:e,edges:r,other:{},config:t}},"getData"),K3={defaultConfig:s(()=>Qb.flowchart,"defaultConfig"),setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,getData:_Te,setAccDescription:Vr,addVertex:Qwe,lookUpDomId:j3,addLink:Jwe,updateLinkInterpolate:eTe,updateLink:tTe,addClass:rTe,setDirection:nTe,setClass:bA,setTooltip:iTe,getTooltip:gY,setClickEvent:oTe,setLink:sTe,bindFunctions:lTe,getDirection:kA,getVertices:yY,getEdges:vY,getClasses:cTe,clear:uTe,setGen:hTe,defaultStyle:fTe,addSubGraph:dTe,getDepthFirstPos:mTe,indexNodes:gTe,getSubGraphs:wY,destructLink:kTe,lex:wTe,exists:TY,makeUniq:EY,setDiagramTitle:an,getDiagramTitle:Qr}});var ATe,CY,SY=_(()=>{"use strict";ATe=s(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),CY=s((t,e,r)=>{let n=ATe(t),i=2,a=e.height+2*r.padding,o=a/i,l=e.width+2*o+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:l/2,y:2*u},{x:l-o,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-o,y:-a},{x:l/2,y:-a-2*u},{x:o,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:o,y:0},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:o,y:-a},{x:l-o,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-o},{x:l,y:-a+o},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-o},{x:0,y:-a+o},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:o,y:0},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:l-o,y:-a+u},{x:o,y:-a+u},{x:o,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:o,y:-u},{x:o,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-o,y:-a+u},{x:l-o,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-o},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-o},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:o,y:-u},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:l-o,y:-a+u},{x:o,y:-a+u},{x:o,y:-a+u}]:n.has("left")?[{x:o,y:0},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:-a+u},{x:o,y:-a+u},{x:o,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:o,y:-u},{x:o,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-o,y:-a+u},{x:l-o,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:o,y:-u},{x:o,y:-a+u},{x:l-o,y:-a+u},{x:l-o,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function CA(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function MY(t){pd=t}function Xs(t,e){if(e){if(IY.test(t))return t.replace(LTe,_Y)}else if(NY.test(t))return t.replace(DTe,_Y);return t}function ITe(t){return t.replace(MTe,(e,r)=>(r=r.toLowerCase(),r==="colon"?":":r.charAt(0)==="#"?r.charAt(1)==="x"?String.fromCharCode(parseInt(r.substring(2),16)):String.fromCharCode(+r.substring(1)):""))}function en(t,e){let r=typeof t=="string"?t:t.source;e=e||"";let n={replace:s((i,a)=>{let o=typeof a=="string"?a:a.source;return o=o.replace(NTe,"$1"),r=r.replace(i,o),n},"replace"),getRegex:s(()=>new RegExp(r,e),"getRegex")};return n}function AY(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}function LY(t,e){let r=t.replace(/\|/g,(a,o,l)=>{let u=!1,h=o;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(/ \|/),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length{let a=i.match(/^\s+/);if(a===null)return i;let[o]=a;return o.length>=n.length?i.slice(n.length):i}).join(` -`)}function qr(t,e){return dd.parse(t,e)}var pd,IY,LTe,NY,DTe,RTe,_Y,MTe,NTe,Zy,jp,BTe,FTe,zTe,ev,$Te,OY,PY,SA,GTe,_A,VTe,UTe,J3,AA,qTe,BY,WTe,LA,RY,HTe,YTe,FY,XTe,zY,jTe,tv,KTe,QTe,ZTe,JTe,e7e,t7e,r7e,n7e,i7e,Z3,a7e,$Y,GY,s7e,DA,o7e,TA,l7e,Q3,Qy,yu,Kp,Jy,vu,Xp,EA,dd,b3t,k3t,w3t,T3t,E3t,C3t,S3t,VY=_(()=>{"use strict";s(CA,"_getDefaults");pd=CA();s(MY,"changeDefaults");IY=/[&<>"']/,LTe=new RegExp(IY.source,"g"),NY=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,DTe=new RegExp(NY.source,"g"),RTe={"&":"&","<":"<",">":">",'"':""","'":"'"},_Y=s(t=>RTe[t],"getEscapeReplacement");s(Xs,"escape$1");MTe=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;s(ITe,"unescape");NTe=/(^|[^\[])\^/g;s(en,"edit");s(AY,"cleanUrl");Zy={exec:s(()=>null,"exec")};s(LY,"splitCells");s(Ky,"rtrim");s(OTe,"findClosingBracket");s(DY,"outputLink");s(PTe,"indentCodeCompensation");jp=class{static{s(this,"_Tokenizer")}options;rules;lexer;constructor(e){this.options=e||pd}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Ky(n,` -`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=PTe(n,r[3]||"");return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(/#$/.test(n)){let i=Ky(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:Ky(r[0],` -`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=Ky(r[0],` +You have to call mermaid.initialize.`)},"addSingleLink"),wCe=o(function(t,e,r){V.info("addLink",t,e,r);for(let n of t)for(let i of e)bCe(n,i,r)},"addLink"),TCe=o(function(t,e){t.forEach(function(r){r==="default"?Es.defaultInterpolate=e:Es[r].interpolate=e})},"updateLinkInterpolate"),kCe=o(function(t,e){t.forEach(function(r){if(typeof r=="number"&&r>=Es.length)throw new Error(`The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${Es.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);r==="default"?Es.defaultStyle=e:(Es[r].style=e,(Es[r]?.style?.length??0)>0&&!Es[r]?.style?.some(n=>n?.startsWith("fill"))&&Es[r]?.style?.push("fill:none"))})},"updateLink"),ECe=o(function(t,e){t.split(",").forEach(function(r){let n=dv.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},dv.set(r,n)),e?.forEach(function(i){if(/color/.exec(i)){let a=i.replace("fill","bgFill");n.textStyles.push(a)}n.styles.push(i)})})},"addClass"),CCe=o(function(t){Fo=t,/.*/.exec(Fo)&&(Fo="LR"),/.*v/.exec(Fo)&&(Fo="TB"),Fo==="TD"&&(Fo="TB")},"setDirection"),u9=o(function(t,e){for(let r of t.split(",")){let n=Gh.get(r);n&&n.classes.push(e);let i=l9.get(r);i&&i.classes.push(e)}},"setClass"),SCe=o(function(t,e){if(e!==void 0){e=C5(e);for(let r of t.split(","))c9.set(k5==="gen-1"?S5(r):r,e)}},"setTooltip"),ACe=o(function(t,e,r){let n=S5(t);if(de().securityLevel!=="loose"||e===void 0)return;let i=[];if(typeof r=="string"){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),Ge(this).classed("hover",!1)})},"setupToolTips");E5.push(UX);NCe=o(function(t="gen-1"){Gh=new Map,dv=new Map,Es=[],E5=[UX],Cu=[],l9=new Map,T5=0,c9=new Map,s9=!0,k5=t,cm=de(),vr()},"clear"),MCe=o(t=>{k5=t||"gen-2"},"setGen"),ICe=o(function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},"defaultStyle"),OCe=o(function(t,e,r){let n=t.text.trim(),i=r.text;t===r&&/\s/.exec(r.text)&&(n=void 0);function a(h){let f={boolean:{},number:{},string:{}},d=[],p;return{nodeList:h.filter(function(g){let y=typeof g;return g.stmt&&g.stmt==="dir"?(p=g.value,!1):g.trim()===""?!1:y in f?f[y].hasOwnProperty(g)?!1:f[y][g]=!0:d.includes(g)?!1:d.push(g)}),dir:p}}o(a,"uniq");let{nodeList:s,dir:l}=a(e.flat());if(k5==="gen-1")for(let h=0;h2e3)return{result:!1,count:0};if(HX[fv]=e,Cu[e].id===t)return{result:!0,count:0};let n=0,i=1;for(;n=0){let s=YX(t,a);if(s.result)return{result:!0,count:i+s.count};i=i+s.count}n=n+1}return{result:!1,count:i}},"indexNodes2"),BCe=o(function(t){return HX[t]},"getDepthFirstPos"),FCe=o(function(){fv=-1,Cu.length>0&&YX("none",Cu.length-1)},"indexNodes"),WX=o(function(){return Cu},"getSubGraphs"),zCe=o(()=>s9?(s9=!1,!0):!1,"firstGraph"),$Ce=o(t=>{let e=t.trim(),r="arrow_open";switch(e[0]){case"<":r="arrow_point",e=e.slice(1);break;case"x":r="arrow_cross",e=e.slice(1);break;case"o":r="arrow_circle",e=e.slice(1);break}let n="normal";return e.includes("=")&&(n="thick"),e.includes(".")&&(n="dotted"),{type:r,stroke:n}},"destructStartLink"),GCe=o((t,e)=>{let r=e.length,n=0;for(let i=0;i{let e=t.trim(),r=e.slice(0,-1),n="arrow_open";switch(e.slice(-1)){case"x":n="arrow_cross",e.startsWith("x")&&(n="double_"+n,r=r.slice(1));break;case">":n="arrow_point",e.startsWith("<")&&(n="double_"+n,r=r.slice(1));break;case"o":n="arrow_circle",e.startsWith("o")&&(n="double_"+n,r=r.slice(1));break}let i="normal",a=r.length-1;r.startsWith("=")&&(i="thick"),r.startsWith("~")&&(i="invisible");let s=GCe(".",r);return s&&(i="dotted",a=s),{type:n,stroke:i,length:a}},"destructEndLink"),UCe=o((t,e)=>{let r=VCe(t),n;if(e){if(n=$Ce(e),n.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=r.type;else{if(n.type!==r.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=r.length,n}return r},"destructLink"),qX=o((t,e)=>{for(let r of t)if(r.nodes.includes(e))return!0;return!1},"exists"),XX=o((t,e)=>{let r=[];return t.nodes.forEach((n,i)=>{qX(e,n)||r.push(t.nodes[i])}),{nodes:r}},"makeUniq"),HCe={firstGraph:zCe},YCe=o(t=>t.type==="square"?"squareRect":t.type==="round"?"roundedRect":t.type??"squareRect","getTypeFromVertex"),WCe=o((t,e)=>t.find(r=>r.id===e),"findNode"),qCe=o(t=>{let e="none",r="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":r=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),r=e;break}return{arrowTypeStart:e,arrowTypeEnd:r}},"destructEdgeType"),XCe=o((t,e,r,n,i,a)=>{let s=r.get(t.id),l=n.get(t.id)??!1,u=WCe(e,t.id);u?(u.cssStyles=t.styles,u.cssCompiledStyles=o9(t.classes),u.cssClasses=t.classes.join(" ")):e.push({id:t.id,label:t.text,labelStyle:"",parentId:s,padding:i.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:o9(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),shape:YCe(t),dir:t.dir,domId:t.domId,isGroup:l,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:$X(t.id)})},"addNodeFromVertex");o(o9,"getCompiledStyles");jCe=o(()=>{let t=de(),e=[],r=[],n=WX(),i=new Map,a=new Map;for(let u=n.length-1;u>=0;u--){let h=n[u];h.nodes.length>0&&a.set(h.id,!0);for(let f of h.nodes)i.set(f,h.id)}for(let u=n.length-1;u>=0;u--){let h=n[u];e.push({id:h.id,label:h.title,labelStyle:"",parentId:i.get(h.id),padding:8,cssCompiledStyles:o9(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:t.look})}GX().forEach(u=>{XCe(u,e,i,a,t,t.look||"classic")});let l=VX();return l.forEach((u,h)=>{let{arrowTypeStart:f,arrowTypeEnd:d}=qCe(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);let m={id:y5(u.start,u.end,{counter:h,prefix:"L"}),start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"?"none":f,arrowTypeEnd:u?.stroke==="invisible"?"none":d,arrowheadStyle:"fill: #333",labelStyle:p,style:p,pattern:u.stroke,look:t.look};r.push(m)}),{nodes:e,edges:r,other:{},config:t}},"getData"),A5={defaultConfig:o(()=>_4.flowchart,"defaultConfig"),setAccTitle:kr,getAccTitle:Ar,getAccDescription:Lr,getData:jCe,setAccDescription:_r,addVertex:xCe,lookUpDomId:S5,addLink:wCe,updateLinkInterpolate:TCe,updateLink:kCe,addClass:ECe,setDirection:CCe,setClass:u9,setTooltip:SCe,getTooltip:$X,setClickEvent:LCe,setLink:_Ce,bindFunctions:DCe,getDirection:h9,getVertices:GX,getEdges:VX,getClasses:RCe,clear:NCe,setGen:MCe,defaultStyle:ICe,addSubGraph:OCe,getDepthFirstPos:BCe,indexNodes:FCe,getSubGraphs:WX,destructLink:UCe,lex:HCe,exists:qX,makeUniq:XX,setDiagramTitle:nn,getDiagramTitle:Xr}});var KCe,jX,KX=R(()=>{"use strict";KCe=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),jX=o((t,e,r)=>{let n=KCe(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function m9(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function rj(t){Sd=t}function ro(t,e){if(e){if(nj.test(t))return t.replace(QCe,QX)}else if(ij.test(t))return t.replace(ZCe,QX);return t}function t7e(t){return t.replace(e7e,(e,r)=>(r=r.toLowerCase(),r==="colon"?":":r.charAt(0)==="#"?r.charAt(1)==="x"?String.fromCharCode(parseInt(r.substring(2),16)):String.fromCharCode(+r.substring(1)):""))}function ln(t,e){let r=typeof t=="string"?t:t.source;e=e||"";let n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(r7e,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function ZX(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}function JX(t,e){let r=t.replace(/\|/g,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(/ \|/),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length{let a=i.match(/^\s+/);if(a===null)return i;let[s]=a;return s.length>=n.length?i.slice(n.length):i}).join(` +`)}function jr(t,e){return Cd.parse(t,e)}var Sd,nj,QCe,ij,ZCe,JCe,QX,e7e,r7e,gv,hm,a7e,s7e,o7e,vv,l7e,aj,sj,g9,c7e,y9,u7e,h7e,D5,v9,f7e,oj,d7e,x9,tj,p7e,m7e,lj,g7e,cj,y7e,xv,v7e,x7e,b7e,w7e,T7e,k7e,E7e,C7e,S7e,L5,A7e,uj,hj,_7e,b9,L7e,d9,D7e,_5,mv,Su,fm,yv,Au,um,p9,Cd,mkt,gkt,ykt,vkt,xkt,bkt,wkt,fj=R(()=>{"use strict";o(m9,"_getDefaults");Sd=m9();o(rj,"changeDefaults");nj=/[&<>"']/,QCe=new RegExp(nj.source,"g"),ij=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,ZCe=new RegExp(ij.source,"g"),JCe={"&":"&","<":"<",">":">",'"':""","'":"'"},QX=o(t=>JCe[t],"getEscapeReplacement");o(ro,"escape$1");e7e=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;o(t7e,"unescape");r7e=/(^|[^\[])\^/g;o(ln,"edit");o(ZX,"cleanUrl");gv={exec:o(()=>null,"exec")};o(JX,"splitCells");o(pv,"rtrim");o(n7e,"findClosingBracket");o(ej,"outputLink");o(i7e,"indentCodeCompensation");hm=class{static{o(this,"_Tokenizer")}options;rules;lexer;constructor(e){this.options=e||Sd}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:pv(n,` +`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=i7e(n,r[3]||"");return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(/#$/.test(n)){let i=pv(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:pv(r[0],` +`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=pv(r[0],` `).split(` -`),i="",a="",o=[];for(;n.length>0;){let l=!1,u=[],h;for(h=0;h/.test(n[h]))u.push(n[h]),l=!0;else if(!l)u.push(n[h]);else break;n=n.slice(h);let f=u.join(` +`),i="",a="",s=[];for(;n.length>0;){let l=!1,u=[],h;for(h=0;h/.test(n[h]))u.push(n[h]),l=!0;else if(!l)u.push(n[h]);else break;n=n.slice(h);let f=u.join(` `),d=f.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` $1`).replace(/^ {0,3}>[ \t]?/gm,"");i=i?`${i} ${f}`:f,a=a?`${a} -${d}`:d;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,o,!0),this.lexer.state.top=p,n.length===0)break;let m=o[o.length-1];if(m?.type==="code")break;if(m?.type==="blockquote"){let g=m,y=g.raw+` +${d}`:d;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,s,!0),this.lexer.state.top=p,n.length===0)break;let m=s[s.length-1];if(m?.type==="code")break;if(m?.type==="blockquote"){let g=m,y=g.raw+` `+n.join(` -`),v=this.blockquote(y);o[o.length-1]=v,i=i.substring(0,i.length-g.raw.length)+v.raw,a=a.substring(0,a.length-g.text.length)+v.text;break}else if(m?.type==="list"){let g=m,y=g.raw+` +`),v=this.blockquote(y);s[s.length-1]=v,i=i.substring(0,i.length-g.raw.length)+v.raw,a=a.substring(0,a.length-g.text.length)+v.text;break}else if(m?.type==="list"){let g=m,y=g.raw+` `+n.join(` -`),v=this.list(y);o[o.length-1]=v,i=i.substring(0,i.length-m.raw.length)+v.raw,a=a.substring(0,a.length-g.raw.length)+v.raw,n=y.substring(o[o.length-1].raw.length).split(` -`);continue}}return{type:"blockquote",raw:i,tokens:o,text:a}}}list(e){let r=this.rules.block.list.exec(e);if(r){let n=r[1].trim(),i=n.length>1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let o=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),l=!1;for(;e;){let u=!1,h="",f="";if(!(r=o.exec(e))||this.rules.block.hr.test(e))break;h=r[0],e=e.substring(h.length);let d=r[2].split(` +`),v=this.list(y);s[s.length-1]=v,i=i.substring(0,i.length-m.raw.length)+v.raw,a=a.substring(0,a.length-g.raw.length)+v.raw,n=y.substring(s[s.length-1].raw.length).split(` +`);continue}}return{type:"blockquote",raw:i,tokens:s,text:a}}}list(e){let r=this.rules.block.list.exec(e);if(r){let n=r[1].trim(),i=n.length>1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let s=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),l=!1;for(;e;){let u=!1,h="",f="";if(!(r=s.exec(e))||this.rules.block.hr.test(e))break;h=r[0],e=e.substring(h.length);let d=r[2].split(` `,1)[0].replace(/^\t+/,x=>" ".repeat(3*x.length)),p=e.split(` `,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=r[1].length+1:(g=r[2].search(/[^ ]/),g=g>4?1:g,f=d.slice(g),g+=r[1].length),m&&/^ *$/.test(p)&&(h+=p+` -`,e=e.substring(p.length+1),u=!0),!u){let x=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),b=new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),k=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),A=new RegExp(`^ {0,${Math.min(3,g-1)}}#`);for(;e;){let w=e.split(` -`,1)[0];if(p=w,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),k.test(p)||A.test(p)||x.test(p)||b.test(e))break;if(p.search(/[^ ]/)>=g||!p.trim())f+=` -`+p.slice(g);else{if(m||d.search(/[^ ]/)>=4||k.test(d)||A.test(d)||b.test(d))break;f+=` -`+p}!m&&!p.trim()&&(m=!0),h+=w+` -`,e=e.substring(w.length+1),d=p.slice(g)}}a.loose||(l?a.loose=!0:/\n *\n *$/.test(h)&&(l=!0));let y=null,v;this.options.gfm&&(y=/^\[[ xX]\] /.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),a.raw+=h}a.items[a.items.length-1].raw=a.items[a.items.length-1].raw.trimEnd(),a.items[a.items.length-1].text=a.items[a.items.length-1].text.trimEnd(),a.raw=a.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>/\n.*\n/.test(d.raw));a.loose=f}if(a.loose)for(let u=0;u$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:i,title:a}}}table(e){let r=this.rules.block.table.exec(e);if(!r||!/[:|]/.test(r[2]))return;let n=LY(r[1]),i=r[2].replace(/^\||\| *$/g,"").split("|"),a=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(` -`):[],o={type:"table",raw:r[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)/^ *-+: *$/.test(l)?o.align.push("right"):/^ *:-+: *$/.test(l)?o.align.push("center"):/^ *:-+ *$/.test(l)?o.align.push("left"):o.align.push(null);for(let l=0;l({text:u,tokens:this.lexer.inline(u),header:!1,align:o.align[h]})));return o}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` -`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:Xs(r[1])}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&/^/i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;let o=Ky(n.slice(0,-1),"\\");if((n.length-o.length)%2===0)return}else{let o=OTe(r[2],"()");if(o>-1){let u=(r[0].indexOf("!")===0?5:4)+r[1].length+o;r[2]=r[2].substring(0,o),r[0]=r[0].substring(0,u).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let o=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);o&&(i=o[1],a=o[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),/^$/.test(n)?i=i.slice(1):i=i.slice(1,-1)),DY(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(/\s+/g," "),a=r[i.toLowerCase()];if(!a){let o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return DY(n,a,n[0],this.lexer)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!i||i[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let o=[...i[0]].length-1,l,u,h=o,f=0,d=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*e.length+o);(i=d.exec(r))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(u=[...l].length,i[3]||i[4]){h+=u;continue}else if((i[5]||i[6])&&o%3&&!((o+u)%3)){f+=u;continue}if(h-=u,h>0)continue;u=Math.min(u,u+h+f);let p=[...i[0]][0].length,m=e.slice(0,o+i.index+p+u);if(Math.min(o,u)%2){let y=m.slice(1,-1);return{type:"em",raw:m,text:y,tokens:this.lexer.inlineTokens(y)}}let g=m.slice(2,-2);return{type:"strong",raw:m,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(/\n/g," "),i=/[^ ]/.test(n),a=/^ /.test(n)&&/ $/.test(n);return i&&a&&(n=n.substring(1,n.length-1)),n=Xs(n,!0),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=Xs(r[1]),i="mailto:"+n):(n=Xs(r[1]),i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=Xs(r[0]),i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=Xs(r[0]),r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n;return this.lexer.state.inRawBlock?n=r[0]:n=Xs(r[0]),{type:"text",raw:r[0],text:n}}}},BTe=/^(?: *(?:\n|$))+/,FTe=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,zTe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ev=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$Te=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,OY=/(?:[*+-]|\d{1,9}[.)])/,PY=en(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,OY).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),SA=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,GTe=/^[^\n]+/,_A=/(?!\s*\])(?:\\.|[^\[\]\\])+/,VTe=en(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",_A).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),UTe=en(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,OY).getRegex(),J3="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",AA=/|$))/,qTe=en("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",AA).replace("tag",J3).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),BY=en(SA).replace("hr",ev).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",J3).getRegex(),WTe=en(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",BY).getRegex(),LA={blockquote:WTe,code:FTe,def:VTe,fences:zTe,heading:$Te,hr:ev,html:qTe,lheading:PY,list:UTe,newline:BTe,paragraph:BY,table:Zy,text:GTe},RY=en("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ev).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",J3).getRegex(),HTe={...LA,table:RY,paragraph:en(SA).replace("hr",ev).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",RY).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",J3).getRegex()},YTe={...LA,html:en(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",AA).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Zy,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:en(SA).replace("hr",ev).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",PY).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},FY=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,XTe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,zY=/^( {2,}|\\)\n(?!\s*$)/,jTe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,ZTe=en(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,tv).getRegex(),JTe=en("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,tv).getRegex(),e7e=en("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,tv).getRegex(),t7e=en(/\\([punct])/,"gu").replace(/punct/g,tv).getRegex(),r7e=en(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),n7e=en(AA).replace("(?:-->|$)","-->").getRegex(),i7e=en("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",n7e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Z3=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,a7e=en(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Z3).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$Y=en(/^!?\[(label)\]\[(ref)\]/).replace("label",Z3).replace("ref",_A).getRegex(),GY=en(/^!?\[(ref)\](?:\[\])?/).replace("ref",_A).getRegex(),s7e=en("reflink|nolink(?!\\()","g").replace("reflink",$Y).replace("nolink",GY).getRegex(),DA={_backpedal:Zy,anyPunctuation:t7e,autolink:r7e,blockSkip:QTe,br:zY,code:XTe,del:Zy,emStrongLDelim:ZTe,emStrongRDelimAst:JTe,emStrongRDelimUnd:e7e,escape:FY,link:a7e,nolink:GY,punctuation:KTe,reflink:$Y,reflinkSearch:s7e,tag:i7e,text:jTe,url:Zy},o7e={...DA,link:en(/^!?\[(label)\]\((.*?)\)/).replace("label",Z3).getRegex(),reflink:en(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Z3).getRegex()},TA={...DA,escape:en(FY).replace("])","~|])").getRegex(),url:en(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\u+" ".repeat(h.length));let i,a,o;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(i=l.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&r.length>0?r[r.length-1].raw+=` +`,e=e.substring(p.length+1),u=!0),!u){let x=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),b=new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),w=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),S=new RegExp(`^ {0,${Math.min(3,g-1)}}#`);for(;e;){let T=e.split(` +`,1)[0];if(p=T,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),w.test(p)||S.test(p)||x.test(p)||b.test(e))break;if(p.search(/[^ ]/)>=g||!p.trim())f+=` +`+p.slice(g);else{if(m||d.search(/[^ ]/)>=4||w.test(d)||S.test(d)||b.test(d))break;f+=` +`+p}!m&&!p.trim()&&(m=!0),h+=T+` +`,e=e.substring(T.length+1),d=p.slice(g)}}a.loose||(l?a.loose=!0:/\n *\n *$/.test(h)&&(l=!0));let y=null,v;this.options.gfm&&(y=/^\[[ xX]\] /.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),a.raw+=h}a.items[a.items.length-1].raw=a.items[a.items.length-1].raw.trimEnd(),a.items[a.items.length-1].text=a.items[a.items.length-1].text.trimEnd(),a.raw=a.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>/\n.*\n/.test(d.raw));a.loose=f}if(a.loose)for(let u=0;u$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:i,title:a}}}table(e){let r=this.rules.block.table.exec(e);if(!r||!/[:|]/.test(r[2]))return;let n=JX(r[1]),i=r[2].replace(/^\||\| *$/g,"").split("|"),a=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(` +`):[],s={type:"table",raw:r[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)/^ *-+: *$/.test(l)?s.align.push("right"):/^ *:-+: *$/.test(l)?s.align.push("center"):/^ *:-+ *$/.test(l)?s.align.push("left"):s.align.push(null);for(let l=0;l({text:u,tokens:this.lexer.inline(u),header:!1,align:s.align[h]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` +`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:ro(r[1])}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&/^/i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;let s=pv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=n7e(r[2],"()");if(s>-1){let u=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,u).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),/^$/.test(n)?i=i.slice(1):i=i.slice(1,-1)),ej(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(/\s+/g," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return ej(n,a,n[0],this.lexer)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!i||i[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let s=[...i[0]].length-1,l,u,h=s,f=0,d=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*e.length+s);(i=d.exec(r))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(u=[...l].length,i[3]||i[4]){h+=u;continue}else if((i[5]||i[6])&&s%3&&!((s+u)%3)){f+=u;continue}if(h-=u,h>0)continue;u=Math.min(u,u+h+f);let p=[...i[0]][0].length,m=e.slice(0,s+i.index+p+u);if(Math.min(s,u)%2){let y=m.slice(1,-1);return{type:"em",raw:m,text:y,tokens:this.lexer.inlineTokens(y)}}let g=m.slice(2,-2);return{type:"strong",raw:m,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(/\n/g," "),i=/[^ ]/.test(n),a=/^ /.test(n)&&/ $/.test(n);return i&&a&&(n=n.substring(1,n.length-1)),n=ro(n,!0),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=ro(r[1]),i="mailto:"+n):(n=ro(r[1]),i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=ro(r[0]),i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=ro(r[0]),r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n;return this.lexer.state.inRawBlock?n=r[0]:n=ro(r[0]),{type:"text",raw:r[0],text:n}}}},a7e=/^(?: *(?:\n|$))+/,s7e=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,o7e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,vv=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,l7e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,aj=/(?:[*+-]|\d{1,9}[.)])/,sj=ln(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,aj).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),g9=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,c7e=/^[^\n]+/,y9=/(?!\s*\])(?:\\.|[^\[\]\\])+/,u7e=ln(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",y9).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),h7e=ln(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,aj).getRegex(),D5="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",v9=/|$))/,f7e=ln("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",v9).replace("tag",D5).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),oj=ln(g9).replace("hr",vv).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",D5).getRegex(),d7e=ln(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",oj).getRegex(),x9={blockquote:d7e,code:s7e,def:u7e,fences:o7e,heading:l7e,hr:vv,html:f7e,lheading:sj,list:h7e,newline:a7e,paragraph:oj,table:gv,text:c7e},tj=ln("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",vv).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",D5).getRegex(),p7e={...x9,table:tj,paragraph:ln(g9).replace("hr",vv).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",tj).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",D5).getRegex()},m7e={...x9,html:ln(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",v9).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:gv,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ln(g9).replace("hr",vv).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",sj).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},lj=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,g7e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,cj=/^( {2,}|\\)\n(?!\s*$)/,y7e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,b7e=ln(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,xv).getRegex(),w7e=ln("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,xv).getRegex(),T7e=ln("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,xv).getRegex(),k7e=ln(/\\([punct])/,"gu").replace(/punct/g,xv).getRegex(),E7e=ln(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),C7e=ln(v9).replace("(?:-->|$)","-->").getRegex(),S7e=ln("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",C7e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),L5=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,A7e=ln(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",L5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),uj=ln(/^!?\[(label)\]\[(ref)\]/).replace("label",L5).replace("ref",y9).getRegex(),hj=ln(/^!?\[(ref)\](?:\[\])?/).replace("ref",y9).getRegex(),_7e=ln("reflink|nolink(?!\\()","g").replace("reflink",uj).replace("nolink",hj).getRegex(),b9={_backpedal:gv,anyPunctuation:k7e,autolink:E7e,blockSkip:x7e,br:cj,code:g7e,del:gv,emStrongLDelim:b7e,emStrongRDelimAst:w7e,emStrongRDelimUnd:T7e,escape:lj,link:A7e,nolink:hj,punctuation:v7e,reflink:uj,reflinkSearch:_7e,tag:S7e,text:y7e,url:gv},L7e={...b9,link:ln(/^!?\[(label)\]\((.*?)\)/).replace("label",L5).getRegex(),reflink:ln(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",L5).getRegex()},d9={...b9,escape:ln(lj).replace("])","~|])").getRegex(),url:ln(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\u+" ".repeat(h.length));let i,a,s;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(i=l.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&r.length>0?r[r.length-1].raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` `+i.raw,a.text+=` `+i.text,this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` `+i.raw,a.text+=` -`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=a.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let l=1/0,u=e.slice(1),h;this.options.extensions.startBlock.forEach(f=>{h=f.call({lexer:this},u),typeof h=="number"&&h>=0&&(l=Math.min(l,h))}),l<1/0&&l>=0&&(o=e.substring(0,l+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){a=r[r.length-1],n&&a?.type==="paragraph"?(a.raw+=` +`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=a.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(s=e,this.options.extensions&&this.options.extensions.startBlock){let l=1/0,u=e.slice(1),h;this.options.extensions.startBlock.forEach(f=>{h=f.call({lexer:this},u),typeof h=="number"&&h>=0&&(l=Math.min(l,h))}),l<1/0&&l>=0&&(s=e.substring(0,l+1))}if(this.state.top&&(i=this.tokenizer.paragraph(s))){a=r[r.length-1],n&&a?.type==="paragraph"?(a.raw+=` `+i.raw,a.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i),n=o.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&a.type==="text"?(a.raw+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i),n=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&a.type==="text"?(a.raw+=` `+i.raw,a.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n,i,a,o=e,l,u,h;if(this.tokens.links){let f=Object.keys(this.tokens.links);if(f.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(o))!=null;)f.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(o))!=null;)o=o.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(o))!=null;)o=o.slice(0,l.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(u||(h=""),u=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(f=>(n=f.call({lexer:this},e,r))?(e=e.substring(n.raw.length),r.push(n),!0):!1))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.emStrong(e,o,h)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.codespan(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.br(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.del(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.autolink(e)){e=e.substring(n.raw.length),r.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),r.push(n);continue}if(a=e,this.options.extensions&&this.options.extensions.startInline){let f=1/0,d=e.slice(1),p;this.options.extensions.startInline.forEach(m=>{p=m.call({lexer:this},d),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(a=e.substring(0,f+1))}if(n=this.tokenizer.inlineText(a)){e=e.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(h=n.raw.slice(-1)),u=!0,i=r[r.length-1],i&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(e){let f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return r}},Kp=class{static{s(this,"_Renderer")}options;parser;constructor(e){this.options=e||pd}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(/^\S*/)?.[0],a=e.replace(/\n$/,"")+` -`;return i?'
    '+(n?a:Xs(a,!0))+`
    -`:"
    "+(n?a:Xs(a,!0))+`
    +`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n,i,a,s=e,l,u,h;if(this.tokens.links){let f=Object.keys(this.tokens.links);if(f.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)f.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,l.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(u||(h=""),u=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(f=>(n=f.call({lexer:this},e,r))?(e=e.substring(n.raw.length),r.push(n),!0):!1))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.emStrong(e,s,h)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.codespan(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.br(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.del(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.autolink(e)){e=e.substring(n.raw.length),r.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),r.push(n);continue}if(a=e,this.options.extensions&&this.options.extensions.startInline){let f=1/0,d=e.slice(1),p;this.options.extensions.startInline.forEach(m=>{p=m.call({lexer:this},d),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(a=e.substring(0,f+1))}if(n=this.tokenizer.inlineText(a)){e=e.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(h=n.raw.slice(-1)),u=!0,i=r[r.length-1],i&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(e){let f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return r}},fm=class{static{o(this,"_Renderer")}options;parser;constructor(e){this.options=e||Sd}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(/^\S*/)?.[0],a=e.replace(/\n$/,"")+` +`;return i?'
    '+(n?a:ro(a,!0))+`
    +`:"
    "+(n?a:ro(a,!0))+`
    `}blockquote({tokens:e}){return`
    ${this.parser.parse(e)}
    `}html({text:e}){return e}heading({tokens:e,depth:r}){return`${this.parser.parseInline(e)} `}hr(e){return`
    -`}list(e){let r=e.ordered,n=e.start,i="";for(let l=0;l +`}list(e){let r=e.ordered,n=e.start,i="";for(let l=0;l `+i+" `}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&e.tokens[0].type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`
  • ${r}
  • `}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    -`}table(e){let r="",n="";for(let a=0;a${i}`),` +`}table(e){let r="",n="";for(let a=0;a${i}`),`
    `+r+` `+i+`
    `}tablerow({text:e}){return` ${e} `}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` -`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=AY(e);if(a===null)return i;e=a;let o='
    ",o}image({href:e,title:r,text:n}){let i=AY(e);if(i===null)return n;e=i;let a=`${n}{let l=a[o].flat(1/0);n=n.concat(this.walkTokens(l,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let o=r.renderers[a.name];o?r.renderers[a.name]=function(...l){let u=a.renderer.apply(this,l);return u===!1&&(u=o.apply(this,l)),u}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=r[a.level];o?o.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new Kp(this.defaults);for(let o in n.renderer){if(!(o in a))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let l=o,u=n.renderer[l];n.useNewRenderer||(u=this.#t(u,l,a));let h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new jp(this.defaults);for(let o in n.tokenizer){if(!(o in a))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let l=o,u=n.tokenizer[l],h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new Xp;for(let o in n.hooks){if(!(o in a))throw new Error(`hook '${o}' does not exist`);if(o==="options")continue;let l=o,u=n.hooks[l],h=a[l];Xp.passThroughHooks.has(o)?a[l]=f=>{if(this.defaults.async)return Promise.resolve(u.call(a,f)).then(p=>h.call(a,p));let d=u.call(a,f);return h.call(a,d)}:a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,o=n.walkTokens;i.walkTokens=function(l){let u=[];return u.push(o.call(this,l)),a&&(u=u.concat(a.call(this,l))),u}}this.defaults={...this.defaults,...i}}),this}#t(e,r,n){switch(r){case"heading":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,n.parser.parseInline(i.tokens),i.depth,ITe(n.parser.parseInline(i.tokens,n.parser.textRenderer)))};case"code":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.lang,!!i.escaped)};case"table":return function(i){if(!i.type||i.type!==r)return e.apply(this,arguments);let a="",o="";for(let u=0;u0&&f.tokens[0].type==="paragraph"?(f.tokens[0].text=g+" "+f.tokens[0].text,f.tokens[0].tokens&&f.tokens[0].tokens.length>0&&f.tokens[0].tokens[0].type==="text"&&(f.tokens[0].tokens[0].text=g+" "+f.tokens[0].tokens[0].text)):f.tokens.unshift({type:"text",text:g+" "}):m+=g+" "}m+=this.parser.parse(f.tokens,l),u+=this.listitem({type:"list_item",raw:m,text:m,task:p,checked:!!d,loose:l,tokens:f.tokens})}return e.call(this,u,a,o)};case"html":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.block)};case"paragraph":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"escape":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"link":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,this.parser.parseInline(i.tokens))};case"image":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,i.text)};case"strong":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"em":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"codespan":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"del":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"text":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)}}return e}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return yu.lex(e,r??this.defaults)}parser(e,r){return vu.parse(e,r??this.defaults)}#e(e,r){return(n,i)=>{let a={...i},o={...this.defaults,...a};this.defaults.async===!0&&a.async===!1&&(o.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),o.async=!0);let l=this.#r(!!o.silent,!!o.async);if(typeof n>"u"||n===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(o.hooks&&(o.hooks.options=o),o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(n):n).then(u=>e(u,o)).then(u=>o.hooks?o.hooks.processAllTokens(u):u).then(u=>o.walkTokens?Promise.all(this.walkTokens(u,o.walkTokens)).then(()=>u):u).then(u=>r(u,o)).then(u=>o.hooks?o.hooks.postprocess(u):u).catch(l);try{o.hooks&&(n=o.hooks.preprocess(n));let u=e(n,o);o.hooks&&(u=o.hooks.processAllTokens(u)),o.walkTokens&&this.walkTokens(u,o.walkTokens);let h=r(u,o);return o.hooks&&(h=o.hooks.postprocess(h)),h}catch(u){return l(u)}}}#r(e,r){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+Xs(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},dd=new EA;s(qr,"marked");qr.options=qr.setOptions=function(t){return dd.setOptions(t),qr.defaults=dd.defaults,MY(qr.defaults),qr};qr.getDefaults=CA;qr.defaults=pd;qr.use=function(...t){return dd.use(...t),qr.defaults=dd.defaults,MY(qr.defaults),qr};qr.walkTokens=function(t,e){return dd.walkTokens(t,e)};qr.parseInline=dd.parseInline;qr.Parser=vu;qr.parser=vu.parse;qr.Renderer=Kp;qr.TextRenderer=Jy;qr.Lexer=yu;qr.lexer=yu.lex;qr.Tokenizer=jp;qr.Hooks=Xp;qr.parse=qr;b3t=qr.options,k3t=qr.setOptions,w3t=qr.use,T3t=qr.walkTokens,E3t=qr.parseInline,C3t=vu.parse,S3t=yu.lex});function c7e(t,{markdownAutoWrap:e}){let n=t.replace(//g,` +`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=ZX(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n}){let i=ZX(e);if(i===null)return n;e=i;let a=`${n}{let l=a[s].flat(1/0);n=n.concat(this.walkTokens(l,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...l){let u=a.renderer.apply(this,l);return u===!1&&(u=s.apply(this,l)),u}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new fm(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let l=s,u=n.renderer[l];n.useNewRenderer||(u=this.#t(u,l,a));let h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new hm(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let l=s,u=n.tokenizer[l],h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new um;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let l=s,u=n.hooks[l],h=a[l];um.passThroughHooks.has(s)?a[l]=f=>{if(this.defaults.async)return Promise.resolve(u.call(a,f)).then(p=>h.call(a,p));let d=u.call(a,f);return h.call(a,d)}:a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(l){let u=[];return u.push(s.call(this,l)),a&&(u=u.concat(a.call(this,l))),u}}this.defaults={...this.defaults,...i}}),this}#t(e,r,n){switch(r){case"heading":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,n.parser.parseInline(i.tokens),i.depth,t7e(n.parser.parseInline(i.tokens,n.parser.textRenderer)))};case"code":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.lang,!!i.escaped)};case"table":return function(i){if(!i.type||i.type!==r)return e.apply(this,arguments);let a="",s="";for(let u=0;u0&&f.tokens[0].type==="paragraph"?(f.tokens[0].text=g+" "+f.tokens[0].text,f.tokens[0].tokens&&f.tokens[0].tokens.length>0&&f.tokens[0].tokens[0].type==="text"&&(f.tokens[0].tokens[0].text=g+" "+f.tokens[0].tokens[0].text)):f.tokens.unshift({type:"text",text:g+" "}):m+=g+" "}m+=this.parser.parse(f.tokens,l),u+=this.listitem({type:"list_item",raw:m,text:m,task:p,checked:!!d,loose:l,tokens:f.tokens})}return e.call(this,u,a,s)};case"html":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.block)};case"paragraph":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"escape":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"link":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,this.parser.parseInline(i.tokens))};case"image":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,i.text)};case"strong":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"em":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"codespan":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"del":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"text":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)}}return e}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return Su.lex(e,r??this.defaults)}parser(e,r){return Au.parse(e,r??this.defaults)}#e(e,r){return(n,i)=>{let a={...i},s={...this.defaults,...a};this.defaults.async===!0&&a.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);let l=this.#r(!!s.silent,!!s.async);if(typeof n>"u"||n===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(n):n).then(u=>e(u,s)).then(u=>s.hooks?s.hooks.processAllTokens(u):u).then(u=>s.walkTokens?Promise.all(this.walkTokens(u,s.walkTokens)).then(()=>u):u).then(u=>r(u,s)).then(u=>s.hooks?s.hooks.postprocess(u):u).catch(l);try{s.hooks&&(n=s.hooks.preprocess(n));let u=e(n,s);s.hooks&&(u=s.hooks.processAllTokens(u)),s.walkTokens&&this.walkTokens(u,s.walkTokens);let h=r(u,s);return s.hooks&&(h=s.hooks.postprocess(h)),h}catch(u){return l(u)}}}#r(e,r){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+ro(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},Cd=new p9;o(jr,"marked");jr.options=jr.setOptions=function(t){return Cd.setOptions(t),jr.defaults=Cd.defaults,rj(jr.defaults),jr};jr.getDefaults=m9;jr.defaults=Sd;jr.use=function(...t){return Cd.use(...t),jr.defaults=Cd.defaults,rj(jr.defaults),jr};jr.walkTokens=function(t,e){return Cd.walkTokens(t,e)};jr.parseInline=Cd.parseInline;jr.Parser=Au;jr.parser=Au.parse;jr.Renderer=fm;jr.TextRenderer=yv;jr.Lexer=Su;jr.lexer=Su.lex;jr.Tokenizer=hm;jr.Hooks=um;jr.parse=jr;mkt=jr.options,gkt=jr.setOptions,ykt=jr.use,vkt=jr.walkTokens,xkt=jr.parseInline,bkt=Au.parse,wkt=Su.lex});function R7e(t,{markdownAutoWrap:e}){let n=t.replace(//g,` `).replace(/\n{2,}/g,` -`),i=lb(n);return e===!1?i.replace(/ /g," "):i}function UY(t,e={}){let r=c7e(t,e),n=qr.lexer(r),i=[[]],a=0;function o(l,u="normal"){l.type==="text"?l.text.split(` -`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{o(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return s(o,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{o(u)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}),i}function qY(t,{markdownAutoWrap:e}={}){let r=qr.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:`Unsupported markdown: ${i.type}`}return s(n,"output"),r.map(n).join("")}var WY=_(()=>{"use strict";VY();Y7();s(c7e,"preprocessMarkdown");s(UY,"markdownToLines");s(qY,"markdownToHTML")});function u7e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function h7e(t,e){let r=u7e(e.content);return HY(t,[],r,e.type)}function HY(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,o=[...e,i];return t([{content:o.join(""),type:n}])?HY(t,o,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function YY(t,e){if(t.some(({content:r})=>r.includes(` -`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return RA(t,e)}function RA(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},o=[...n];if(i!==""&&o.push({content:i,type:"normal"}),o.push(a),e(o))return RA(t,e,r,o);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=h7e(e,a);r.push([l]),u.content&&t.unshift(u)}return RA(t,e,r)}var XY=_(()=>{"use strict";s(u7e,"splitTextToChars");s(h7e,"splitWordToFitWidth");s(HY,"splitWordToFitWidthRecursion");s(YY,"splitLineToFitWidth");s(RA,"splitLineToFitWidthRecursion")});function jY(t,e){e&&t.attr("style",e)}async function f7e(t,e,r,n,i=!1){let a=t.append("foreignObject"),o=a.append("xhtml:div"),l=e.label;e.label&&Ei(e.label)&&(l=await hh(e.label.replace($e.lineBreakRegex,` -`),le()));let u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),jY(h,e.labelStyle),h.attr("class",`${u} ${n}`),jY(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),o.style("max-width",r+"px"),o.style("text-align","center"),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let f=o.node().getBoundingClientRect();return f.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),f=o.node().getBoundingClientRect()),a.node()}function MA(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function d7e(t,e,r){let n=t.append("text"),i=MA(n,1,e);IA(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function KY(t,e,r){let n=t.append("text"),i=MA(n,1,e);IA(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function p7e(t,e,r,n=!1){let a=e.append("g"),o=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=s(p=>d7e(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:YY(h,f);for(let p of d){let m=MA(l,u,1.1);IA(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return o.attr("x",-f).attr("y",-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function IA(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}function NA(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,e=>``)}var vs,ic=_(()=>{"use strict";gt();Qt();Xt();it();WY();pr();XY();s(jY,"applyStyle");s(f7e,"addHtmlSpan");s(MA,"createTspan");s(d7e,"computeWidthOfText");s(KY,"computeDimensionOfText");s(p7e,"createFormattedText");s(IA,"updateTextContentAndStyles");s(NA,"replaceIconSubstring");vs=s(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(V.info("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){let f=qY(e,h),d=NA(Ys(f)),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ei(e)?p:d,labelStyle:r.replace("fill:","color:")};return await f7e(t,m,l,i,u)}else{let f=e.replace(//g,"
    "),d=UY(f.replace("
    ","
    "),h),p=p7e(l,t,d,e?u:!1);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Me(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Me(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Me(p).select("text").attr("style",g)}return p}},"createText")});function QY(t,e){e&&t.attr("style",e)}function m7e(t){let e=Me(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label,i=t.isNode?"nodeLabel":"edgeLabel",a=r.append("span");return a.html(n),QY(a,t.labelStyle),a.attr("class",i),QY(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var g7e,Hi,rv=_(()=>{"use strict";Xt();it();gt();Qt();pr();ic();s(QY,"applyStyle");s(m7e,"addHtmlLabel");g7e=s((t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),hr(le().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),V.debug("vertexText"+i);let a={isNode:n,label:NA(Ys(i)),labelStyle:e.replace("fill:","color:")};return m7e(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let o=[];typeof i=="string"?o=i.split(/\\n|\n|/gi):Array.isArray(i)?o=i:o=[];for(let l of o){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),Hi=g7e});function y7e(t,e){return t.intersect(e)}var ZY,JY=_(()=>{"use strict";s(y7e,"intersectNode");ZY=y7e});function v7e(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*o*o),h=Math.abs(e*r*o/u);n.x{"use strict";s(v7e,"intersectEllipse");e5=v7e});function x7e(t,e,r){return e5(t,e,e,r)}var eX,tX=_(()=>{"use strict";OA();s(x7e,"intersectCircle");eX=x7e});function b7e(t,e,r,n){var i,a,o,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,o=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+o*r.y+u,m=i*n.x+o*n.y+u,!(p!==0&&m!==0&&rX(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&rX(f,d))&&(g=i*l-a*o,g!==0)))return y=Math.abs(g/2),v=o*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function rX(t,e){return t*e>0}var nX,iX=_(()=>{"use strict";s(b7e,"intersectLine");s(rX,"sameSign");nX=b7e});function k7e(t,e,r){var n=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){o=Math.min(o,g.x),l=Math.min(l,g.y)}):(o=Math.min(o,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-o,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),k=y.x-r.x,A=y.y-r.y,w=Math.sqrt(k*k+A*A);return b{"use strict";iX();aX=k7e;s(k7e,"intersectPolygon")});var w7e,md,PA=_(()=>{"use strict";w7e=s((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,o=t.width/2,l=t.height/2,u,h;return Math.abs(a)*o>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(o=-o),u=o,h=i===0?0:o*a/i),{x:r+u,y:n+h}},"intersectRect"),md=w7e});var pn,BA=_(()=>{"use strict";JY();tX();OA();sX();PA();pn={node:ZY,circle:eX,ellipse:e5,polygon:aX,rect:md}});function dl(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var di,mn,t5=_(()=>{"use strict";rv();ic();gt();Xt();Qt();pr();di=s(async(t,e,r,n)=>{let i=le(),a,o=e.useHtmlLabels||hr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=vs(u,$r(Ys(h),i),{useHtmlLabels:o,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(Hi($r(Ys(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(hr(i.flowchart.htmlLabels)){let g=d.children[0],y=Me(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(k=>{function A(){if(b.style.display="flex",b.style.flexDirection="column",x){let w=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,C=parseInt(w,10)*5+"px";b.style.minWidth=C,b.style.maxWidth=C}else b.style.width="100%";k(b)}s(A,"setupImage"),setTimeout(()=>{b.complete&&A()}),b.addEventListener("error",A),b.addEventListener("load",A)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return o?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),mn=s((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");s(dl,"insertPolygonShape")});var T7e,oX,lX=_(()=>{"use strict";t5();it();gt();BA();T7e=s(async(t,e)=>{e.useHtmlLabels||le().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await di(t,e,"node "+e.classes,!0);V.info("Classes = ",e.classes);let o=n.insert("rect",":first-child");return o.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),mn(e,o),e.intersect=function(l){return pn.rect(e,l)},n},"note"),oX=T7e});function FA(t,e,r,n){let i=[],a=s(l=>{i.push(l,0)},"addBorder"),o=s(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(V.debug("add top border"),a(r)):o(r),e.includes("r")?(V.debug("add right border"),a(n)):o(n),e.includes("b")?(V.debug("add bottom border"),a(r)):o(r),e.includes("l")?(V.debug("add left border"),a(n)):o(n),t.attr("stroke-dasharray",i.join(" "))}var cX,js,uX,E7e,C7e,S7e,_7e,A7e,L7e,D7e,R7e,M7e,I7e,N7e,O7e,P7e,B7e,F7e,z7e,$7e,G7e,V7e,hX,U7e,q7e,fX,Qp,Zp,dX,pX,nv,r5=_(()=>{"use strict";Xt();gt();Qt();it();SY();rv();BA();lX();t5();cX=s(t=>t?" "+t:"","formatClass"),js=s((t,e)=>`${e||"node default"}${cX(t.classes)} ${cX(t.class)}`,"getClassesFromNode"),uX=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=i+a,l=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}];V.info("Question main (Circle)");let u=dl(r,o,o,l);return u.attr("style",e.style),mn(e,u),e.intersect=function(h){return V.warn("Intersect called"),pn.polygon(e,l,h)},r},"question"),E7e=s((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(o){return o.x+","+o.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(o){return pn.circle(e,14,o)},r},"choice"),C7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=4,a=n.height+e.padding,o=a/i,l=n.width+2*o+e.padding,u=[{x:o,y:0},{x:l-o,y:0},{x:l,y:-a/2},{x:l-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}],h=dl(r,l,a,u);return h.attr("style",e.style),mn(e,h),e.intersect=function(f){return pn.polygon(e,u,f)},r},"hexagon"),S7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,void 0,!0),i=2,a=n.height+2*e.padding,o=a/i,l=n.width+2*o+e.padding,u=CY(e.directions,n,e),h=dl(r,l,a,u);return h.attr("style",e.style),mn(e,h),e.intersect=function(f){return pn.polygon(e,u,f)},r},"block_arrow"),_7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return dl(r,i,a,o).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return pn.polygon(e,o,u)},r},"rect_left_inv_arrow"),A7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"lean_right"),L7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"lean_left"),D7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"trapezoid"),R7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"inv_trapezoid"),M7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"rect_right_inv_arrow"),I7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=i/2,o=a/(2.5+i/50),l=n.height+o+e.padding,u="M 0,"+o+" a "+a+","+o+" 0,0,0 "+i+" 0 a "+a+","+o+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+o+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",o).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+o)+")");return mn(e,h),e.intersect=function(f){let d=pn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-o)){let m=o*o*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=o-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),N7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),o=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-o/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",o).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(FA(a,e.props.borders,o,l),f.delete("borders")),f.forEach(d=>{V.warn(`Unknown node property ${d}`)})}return mn(e,a),e.intersect=function(f){return pn.rect(e,f)},r},"rect"),O7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),o=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-o/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",o).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(FA(a,e.props.borders,o,l),f.delete("borders")),f.forEach(d=>{V.warn(`Unknown node property ${d}`)})}return mn(e,a),e.intersect=function(f){return pn.rect(e,f)},r},"composite"),P7e=s(async(t,e)=>{let{shapeSvg:r}=await di(t,e,"label",!0);V.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let o=new Set(Object.keys(e.props));e.props.borders&&(FA(n,e.props.borders,i,a),o.delete("borders")),o.forEach(l=>{V.warn(`Unknown node property ${l}`)})}return mn(e,n),e.intersect=function(o){return pn.rect(e,o)},r},"labelRect");s(FA,"applyNodePropertyBorders");B7e=s((t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),o=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,V.info("Label text abc79",u,l,typeof l=="object");let h=o.node().appendChild(Hi(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(hr(le().flowchart.htmlLabels)){let y=h.children[0],v=Me(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}V.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=o.node().appendChild(Hi(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(hr(le().flowchart.htmlLabels)){let y=m.children[0],v=Me(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return Me(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),Me(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,o=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return mn(e,o),e.intersect=function(l){return pn.rect(e,l)},r},"stadium"),z7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,js(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),V.info("Circle main"),mn(e,a),e.intersect=function(o){return V.info("Circle intersect",e,n.width/2+i,o),pn.circle(e,n.width/2+i,o)},r},"circle"),$7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await di(t,e,js(e,void 0),!0),a=5,o=r.insert("g",":first-child"),l=o.insert("circle"),u=o.insert("circle");return o.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),V.info("DoubleCircle main"),mn(e,l),e.intersect=function(h){return V.info("DoubleCircle intersect",e,n.width/2+i+a,h),pn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),G7e=s(async(t,e)=>{let{shapeSvg:r,bbox:n}=await di(t,e,js(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=dl(r,i,a,o);return l.attr("style",e.style),mn(e,l),e.intersect=function(u){return pn.polygon(e,o,u)},r},"subroutine"),V7e=s((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),mn(e,n),e.intersect=function(i){return pn.circle(e,7,i)},r},"start"),hX=s((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let o=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return mn(e,o),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return pn.rect(e,l)},n},"forkJoin"),U7e=s((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),mn(e,i),e.intersect=function(a){return pn.circle(e,7,a)},r},"end"),q7e=s((t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("rect",":first-child"),u=o.insert("line"),h=o.insert("line"),f=0,d=n,p=o.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(Hi(y,e.labelStyle,!0,!0)),x=v.getBBox();if(hr(le().flowchart.htmlLabels)){let E=v.children[0],S=Me(v);x=E.getBoundingClientRect(),S.attr("width",x.width),S.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(le().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let k=p.node().appendChild(Hi(b,e.labelStyle,!0,!0));Me(k).attr("class","classTitle");let A=k.getBBox();if(hr(le().flowchart.htmlLabels)){let E=k.children[0],S=Me(k);A=E.getBoundingClientRect(),S.attr("width",A.width),S.attr("height",A.height)}d+=A.height+n,A.width>f&&(f=A.width);let w=[];e.classData.members.forEach(E=>{let S=E.getDisplayDetails(),R=S.displayText;le().flowchart.htmlLabels&&(R=R.replace(//g,">"));let D=p.node().appendChild(Hi(R,S.cssStyle?S.cssStyle:e.labelStyle,!0,!0)),L=D.getBBox();if(hr(le().flowchart.htmlLabels)){let P=D.children[0],M=Me(D);L=P.getBoundingClientRect(),M.attr("width",L.width),M.attr("height",L.height)}L.width>f&&(f=L.width),d+=L.height+n,w.push(D)}),d+=i;let T=[];if(e.classData.methods.forEach(E=>{let S=E.getDisplayDetails(),R=S.displayText;le().flowchart.htmlLabels&&(R=R.replace(//g,">"));let D=p.node().appendChild(Hi(R,S.cssStyle?S.cssStyle:e.labelStyle,!0,!0)),L=D.getBBox();if(hr(le().flowchart.htmlLabels)){let P=D.children[0],M=Me(D);L=P.getBoundingClientRect(),M.attr("width",L.width),M.attr("height",L.height)}L.width>f&&(f=L.width),d+=L.height+n,T.push(D)}),d+=i,g){let E=(f-x.width)/2;Me(v).attr("transform","translate( "+(-1*f/2+E)+", "+-1*d/2+")"),m=x.height+n}let C=(f-A.width)/2;return Me(k).attr("transform","translate( "+(-1*f/2+C)+", "+(-1*d/2+m)+")"),m+=A.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(E=>{Me(E).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let S=E?.getBBox();m+=(S?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,T.forEach(E=>{Me(E).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let S=E?.getBBox();m+=(S?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),mn(e,l),e.intersect=function(E){return pn.rect(e,E)},o},"class_box"),fX={rhombus:uX,composite:O7e,question:uX,rect:N7e,labelRect:P7e,rectWithTitle:B7e,choice:E7e,circle:z7e,doublecircle:$7e,stadium:F7e,hexagon:C7e,block_arrow:S7e,rect_left_inv_arrow:_7e,lean_right:A7e,lean_left:L7e,trapezoid:D7e,inv_trapezoid:R7e,rect_right_inv_arrow:M7e,cylinder:I7e,start:V7e,end:U7e,note:oX,subroutine:G7e,fork:hX,join:hX,class_box:q7e},Qp={},Zp=s(async(t,e,r)=>{let n,i;if(e.link){let a;le().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await fX[e.shape](n,e,r)}else i=await fX[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),Qp[e.id]=n,e.haveCallback&&Qp[e.id].attr("class",Qp[e.id].attr("class")+" clickable"),n},"insertNode"),dX=s((t,e)=>{Qp[e.id]=t},"setNodeElem"),pX=s(()=>{Qp={}},"clear"),nv=s(t=>{let e=Qp[t.id];V.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var n5,zA=_(()=>{"use strict";Xt();r5();n5=s((t,e)=>{let r;return e==="sandbox"&&(r=Me("#i"+t)),(e==="sandbox"?Me(r.nodes()[0].contentDocument.body):Me("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Ks,gd=_(()=>{"use strict";Ks=s(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});function $A(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,o=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*o-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*o+i}}}function W7e(t,e){return t[0]===e[0]&&t[1]===e[1]}function H7e(t,e,r,n=1){let i=r,a=Math.max(e,.1),o=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of o)$A(h,l,i);let u=function(h,f,d){let p=[];for(let b of h){let k=[...b];W7e(k[0],k[k.length-1])||k.push([k[0][0],k[0][1]]),k.length>2&&p.push(k)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let k=0;kb.ymink.ymin?1:b.xk.x?1:b.ymax===k.ymax?0:(b.ymax-k.ymax)/Math.abs(b.ymax-k.ymax)),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let k=0;kv);k++)b=k;g.splice(0,b+1).forEach(k=>{y.push({s:v,edge:k})})}if(y=y.filter(b=>!(b.edge.ymax<=v)),y.sort((b,k)=>b.edge.x===k.edge.x?0:(b.edge.x-k.edge.x)/Math.abs(b.edge.x-k.edge.x)),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let A=y[b].edge,w=y[k].edge;m.push([[Math.round(A.x),v],[Math.round(w.x),v]])}v+=d,y.forEach(b=>{b.edge.x=b.edge.x+d*b.edge.islope}),x++}return m}(o,a,n);if(i){for(let h of o)$A(h,l,-i);(function(h,f,d){let p=[];h.forEach(m=>p.push(...m)),$A(p,f,d)})(u,l,-i)}return u}function ov(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),H7e(t,i,n,a||1)}function f5(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function VA(t,e){return t.type===e}function r9(t){let e=[],r=function(o){let l=new Array;for(;o!=="";)if(o.match(/^([ \t\r\n,]+)/))o=o.substr(RegExp.$1.length);else if(o.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:Y7e,text:RegExp.$1},o=o.substr(RegExp.$1.length);else{if(!o.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:GA,text:`${parseFloat(RegExp.$1)}`},o=o.substr(RegExp.$1.length)}return l[l.length]={type:mX,text:""},l}(t),n="BOD",i=0,a=r[i];for(;!VA(a,mX);){let o=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return r9("M0,0"+t);i++,o=i5[a.text],n=a.text}else VA(a,GA)?o=i5[n]:(i++,o=i5[a.text],n=a.text);if(!(i+of%2?h+r:h+e);a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function EX(t){let e=[],r="",n=0,i=0,a=0,o=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,o]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(CX(n,i,v,x,d,p,m,g,y).forEach(function(b){e.push({key:"C",data:b})}),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=o}r=h}return e}function iv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function CX(t,e,r,n,i,a,o,l,u,h){let f=(d=o,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=iv(t,e,-f),[r,n]=iv(r,n,-f);let P=(t-r)/2,M=(e-n)/2,F=P*P/(i*i)+M*M/(a*a);F>1&&(F=Math.sqrt(F),i*=F,a*=F);let I=i*i,O=a*a,z=I*O-I*M*M-O*P*P,N=I*M*M+O*P*P,U=(l===u?-1:1)*Math.sqrt(Math.abs(z/N));y=U*i*M/a+(t+r)/2,v=U*-a*P/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let P=g,M=r,F=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=CX(r=y+i*Math.cos(g),n=v+a*Math.sin(g),M,F,i,a,o,0,u,[g,P,y,v])}x=g-m;let b=Math.cos(m),k=Math.sin(m),A=Math.cos(g),w=Math.sin(g),T=Math.tan(x/4),C=4/3*i*T,E=4/3*a*T,S=[t,e],R=[t+C*k,e-E*b],D=[r+C*w,n-E*A],L=[r,n];if(R[0]=2*S[0]-R[0],R[1]=2*S[1]-R[1],h)return[R,D,L].concat(p);{p=[R,D,L].concat(p);let P=[];for(let M=0;M2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=kX(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=kX(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return o&&(l?x.push(...Ph(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Ph(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function vX(t,e){let r=EX(TX(r9(t))),n=[],i=[0,0],a=[0,0];for(let{key:o,data:l}of r)switch(o){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Ph(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...K7e(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Ph(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function UA(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Ot(i,e),n[0][1]+Ot(i,e)]});for(let o=1;o500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*AX(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=Ot(m,i,h),g=Ot(g,i,h);let y=[],v=s(()=>Ot(d,i,h),"M"),x=s(()=>Ot(f,i,h),"k"),b=i.preserveVertices;return a&&(o?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:Ot(f,i,h)),e+(b?0:Ot(f,i,h))]})),o?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function a5(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+Ot(e,r),t[0][1]+Ot(e,r)]),n.push([t[0][0]+Ot(e,r),t[0][1]+Ot(e,r)]);for(let i=1;i3){let a=[],o=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=yd(u,h,.5),m=yd(h,f,.5),g=yd(f,d,.5),y=yd(p,m,.5),v=yd(m,g,.5),x=yd(y,v,.5);JA([u,p,y,x],0,r,i),JA([x,v,g,d],0,r,i)}var a,o;return i}function Z7e(t,e){return h5(t,0,t.length,e)}function h5(t,e,r,n,i){let a=i||[],o=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(h5(t,e,h+1,n,a),h5(t,h,r,n,a)):(a.length||a.push(o),a.push(l)),a}function qA(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?h5(n,0,n.length,r):n}var sv,WA,HA,YA,XA,jA,xs,KA,Y7e,GA,mX,i5,X7e,Qs,em,e9,s5,t9,Ht,Yn=_(()=>{"use strict";s($A,"t");s(W7e,"e");s(H7e,"s");s(ov,"n");sv=class{static{s(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=ov(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};s(f5,"a");WA=class extends sv{static{s(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=ov(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,o=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)f5([h,f])&&o.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(o,r)}}},HA=class extends sv{static{s(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},YA=class{static{s(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=ov(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let o=i/4;for(let l of e){let u=f5(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=f5(o),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=o[0],d=o[1];f[0]>d[0]&&(f=o[1],d=o[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let o=f5(a),l=Math.round(o/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(C=0,E=2*Math.PI);let S=(E-C)/b.curveStepCount,R=[];for(let D=C;D<=E;D+=S)R.push([k+w*Math.cos(D),A+T*Math.sin(D)]);return R.push([k+w*Math.cos(E),A+T*Math.sin(E)]),R.push([k,A]),Jp([R],b)}(e,r,n,i,a,o,h));return h.stroke!==Qs&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=gX(e,n);if(n.fill&&n.fill!==Qs)if(n.fillStyle==="solid"){let o=gX(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(o.ops)})}else{let o=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?o.push(...h):h.length===3?o.push(...qA(wX([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):o.push(...qA(wX(h),10,(1+n.roughness)/2))}o.length&&i.push(Jp([o],n))}return n.stroke!==Qs&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=o5(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(UA([e],n)):i.push(Jp([e],n))),n.stroke!==Qs&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==Qs,o=n.stroke!==Qs,l=!!(n.simplification&&n.simplification<1),u=function(f,d,p){let m=EX(TX(r9(f))),g=[],y=[],v=[0,0],x=[],b=s(()=>{x.length>=4&&y.push(...qA(x,d)),x=[]},"i"),k=s(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:T}of m)switch(w){case"M":k(),v=[T[0],T[1]],y.push(v);break;case"L":b(),y.push([T[0],T[1]]);break;case"C":if(!x.length){let C=y.length?y[y.length-1]:v;x.push([C[0],C[1]])}x.push([T[0],T[1]]),x.push([T[2],T[3]]),x.push([T[4],T[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(k(),!p)return g;let A=[];for(let w of g){let T=Z7e(w,p);T.length&&A.push(T)}return A}(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=vX(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=vX(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(UA(u,n));else i.push(Jp(u,n));return o&&(l?u.forEach(f=>{i.push(o5(f,!1,n))}):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map(o=>+o.toFixed(r)):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let o=null;switch(a.type){case"path":o={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Qs};break;case"fillPath":o={d:this.opsToPath(a),stroke:Qs,strokeWidth:0,fill:n.fill||Qs};break;case"fillSketch":o=this.fillSketch(a,n)}o&&i.push(o)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||Qs,strokeWidth:n,fill:Qs}}_mergedShape(e){return e.filter((r,n)=>n===0||r.op!=="move")}},e9=class{static{s(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new em(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let o of r)switch(o.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,o,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,o,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,o,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let o=typeof n=="number"&&n>=0?a.data.map(l=>+l.toFixed(n)):a.data;switch(a.op){case"move":e.moveTo(o[0],o[1]);break;case"bcurveTo":e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5]);break;case"lineTo":e.lineTo(o[0],o[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let o=this.gen.line(e,r,n,i,a);return this.draw(o),o}rectangle(e,r,n,i,a){let o=this.gen.rectangle(e,r,n,i,a);return this.draw(o),o}ellipse(e,r,n,i,a){let o=this.gen.ellipse(e,r,n,i,a);return this.draw(o),o}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,o,l=!1,u){let h=this.gen.arc(e,r,n,i,a,o,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},s5="http://www.w3.org/2000/svg",t9=class{static{s(this,"ot")}constructor(e,r){this.svg=e,this.gen=new em(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(s5,"g"),o=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(s5,"path"),u.setAttribute("d",this.opsToPath(l,o)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(s5,"path"),u.setAttribute("d",this.opsToPath(l,o)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(s5,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let o=this.gen.line(e,r,n,i,a);return this.draw(o)}rectangle(e,r,n,i,a){let o=this.gen.rectangle(e,r,n,i,a);return this.draw(o)}ellipse(e,r,n,i,a){let o=this.gen.ellipse(e,r,n,i,a);return this.draw(o)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,o,l=!1,u){let h=this.gen.arc(e,r,n,i,a,o,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Ht={canvas:s((t,e)=>new e9(t,e),"canvas"),svg:s((t,e)=>new t9(t,e),"svg"),generator:s(t=>new em(t),"generator"),newSeed:s(()=>em.newSeed(),"newSeed")}});var J7e,vd,n9=_(()=>{"use strict";J7e=s((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,o=t.width/2,l=t.height/2,u,h;return Math.abs(a)*o>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(o=-o),u=o,h=i===0?0:o*a/i),{x:r+u,y:n+h}},"intersectRect"),vd=J7e});function eEe(t,e){e&&t.attr("style",e)}async function tEe(t){let e=Me(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label;t.label&&Ei(t.label)&&(n=await hh(t.label.replace($e.lineBreakRegex,` -`),le()));let i=t.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),eEe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var rEe,ac,d5=_(()=>{"use strict";Xt();it();gt();Qt();pr();s(eEe,"applyStyle");s(tEe,"addHtmlLabel");rEe=s(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),hr(le().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),V.info("vertexText"+i);let a={isNode:n,label:Ys(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await tEe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let o=[];typeof i=="string"?o=i.split(/\\n|\n|/gi):Array.isArray(i)?o=i:o=[];for(let l of o){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),ac=rEe});var xu,lv=_(()=>{"use strict";xu=s((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});var bu,LX,nEe,Dr,Rr,pi=_(()=>{"use strict";gt();bu=s(t=>{let{handDrawnSeed:e}=le();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),LX=s(t=>{let e=nEe([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),nEe=s(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),Dr=s(t=>{let{stylesArray:e}=LX(t),r=[],n=[],i=[],a=[];return e.forEach(o=>{let l=o[0];l==="color"||l==="font-size"||l==="font-family"||l==="font-weight"||l==="font-style"||l==="text-decoration"||l==="text-align"||l==="text-transform"||l==="line-height"||l==="letter-spacing"||l==="word-spacing"||l==="text-shadow"||l==="text-overflow"||l==="white-space"||l==="word-wrap"||l==="word-break"||l==="overflow-wrap"||l==="hyphens"?r.push(o.join(":")+" !important"):(n.push(o.join(":")+" !important"),l.includes("stroke")&&i.push(o.join(":")+" !important"),l==="fill"&&a.push(o.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Rr=s((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=le(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:o}=LX(t);return Object.assign({roughness:.7,fill:o.get("fill")||a,fillStyle:"hachure",fillWeight:4,stroke:o.get("stroke")||i,seed:n,strokeWidth:1.3},e)},"userNodeOverrides")});var DX,iEe,aEe,sEe,oEe,lEe,RX,p5,MX,i9=_(()=>{"use strict";gt();Qt();it();gd();Xt();Yn();ic();n9();d5();lv();pi();DX=s(async(t,e)=>{V.info("Creating subgraph rect for ",e.id,e);let r=le(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:o}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Dr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=hr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await vs(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(hr(r.flowchart.htmlLabels)){let C=g.children[0],E=Me(g);y=C.getBoundingClientRect(),E.attr("width",y.width),E.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,k=e.y-x/2;V.trace("Data ",e,JSON.stringify(e));let A;if(e.look==="handDrawn"){let C=Ht.svg(d),E=Rr(e,{roughness:.7,fill:a,stroke:o,fillWeight:3,seed:i}),S=C.path(xu(b,k,v,x,0),E);A=d.insert(()=>(V.debug("Rough node insert CXC",S),S),":first-child"),A.select("path:nth-child(2)").attr("style",h.join(";")),A.select("path").attr("style",f.join(";").replace("fill","stroke"))}else A=d.insert("rect",":first-child"),A.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",k).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Ks(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let C=m.select("span");C&&C.attr("style",l)}let T=A.node().getBBox();return e.offsetX=0,e.width=T.width,e.height=T.height,e.offsetY=y.height-e.padding/2,e.intersect=function(C){return vd(e,C)},{cluster:d,labelBBox:y}},"rect"),iEe=s((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(l){return vd(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),aEe=s(async(t,e)=>{let r=le(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:o,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await ac(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(hr(r.flowchart.htmlLabels)){let S=m.children[0],R=Me(m);g=S.getBoundingClientRect(),R.attr("width",g.width),R.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,k=e.height+y-g.height-6,A=e.x-x/2,w=e.y-b/2;e.width=x;let T=e.y-e.height/2-v+g.height+2,C;if(e.look==="handDrawn"){let S=e.cssClasses.includes("statediagram-cluster-alt"),R=Ht.svg(h),D=e.rx||e.ry?R.path(xu(A,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):R.rectangle(A,w,x,b,{seed:i});C=h.insert(()=>D,":first-child");let L=R.rectangle(A,T,x,k,{fill:S?a:o,fillStyle:S?"hachure":"solid",stroke:u,seed:i});C=h.insert(()=>D,":first-child"),p=h.insert(()=>L)}else C=f.insert("rect",":first-child"),C.attr("class","outer").attr("x",A).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",A).attr("y",T).attr("width",x).attr("height",k);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(hr(r.flowchart.htmlLabels)?0:3)})`);let E=C.node().getBBox();return e.height=E.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(S){return vd(e,S)},{cluster:h,labelBBox:g}},"roundedWithTitle"),sEe=s((t,e)=>{let r=le(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,o=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=o.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Ht.svg(o).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=o.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return vd(e,y)},{cluster:o,labelBBox:{}}},"divider"),oEe=DX,lEe={rect:DX,squareRect:oEe,roundedWithTitle:aEe,noteGroup:iEe,divider:sEe},RX=new Map,p5=s(async(t,e)=>{let r=e.shape||"rect",n=await lEe[r](t,e);return RX.set(e.id,n),n},"insertCluster"),MX=s(()=>{RX=new Map},"clear")});function m5(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=g5(t),e=g5(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],o=i-r,l=a-n;return{angle:Math.atan(l/o),deltaX:o,deltaY:l}}var Bh,g5,y5,a9=_(()=>{"use strict";Bh={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};s(m5,"calculateDeltaAndAngle");g5=s(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),y5=s(t=>({x:s(function(e,r,n){let i=0;if(r===0&&Object.hasOwn(Bh,t.arrowTypeStart)){let{angle:a,deltaX:o}=m5(n[0],n[1]);i=Bh[t.arrowTypeStart]*Math.cos(a)*(o>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Bh,t.arrowTypeEnd)){let{angle:a,deltaX:o}=m5(n[n.length-1],n[n.length-2]);i=Bh[t.arrowTypeEnd]*Math.cos(a)*(o>=0?1:-1)}return g5(e).x+i},"x"),y:s(function(e,r,n){let i=0;if(r===0&&Object.hasOwn(Bh,t.arrowTypeStart)){let{angle:a,deltaY:o}=m5(n[0],n[1]);i=Bh[t.arrowTypeStart]*Math.abs(Math.sin(a))*(o>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Bh,t.arrowTypeEnd)){let{angle:a,deltaY:o}=m5(n[n.length-1],n[n.length-2]);i=Bh[t.arrowTypeEnd]*Math.abs(Math.sin(a))*(o>=0?1:-1)}return g5(e).y+i},"y")}),"getLineFunctionsWithOffset")});var NX,cEe,IX,OX=_(()=>{"use strict";it();NX=s((t,e,r,n,i)=>{e.arrowTypeStart&&IX(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&IX(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),cEe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},IX=s((t,e,r,n,i,a)=>{let o=cEe[r];if(!o){V.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${o}${l})`)},"addEdgeMarker")});function v5(t,e){le().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function fEe(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===o.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-o.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}var x5,ia,FX,cv,b5,k5,uEe,hEe,PX,BX,dEe,w5,s9=_(()=>{"use strict";gt();Qt();it();ic();pr();a9();gd();Xt();Yn();d5();OX();x5=new Map,ia=new Map,FX=s(()=>{x5.clear(),ia.clear()},"clear"),cv=s(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),b5=s(async(t,e)=>{let r=hr(le().flowchart.htmlLabels),n=await vs(t,e.label,{style:cv(e.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});V.info("abc82",e,e.labelType);let i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label");a.node().appendChild(n);let o=n.getBBox();if(r){let u=n.children[0],h=Me(n);o=u.getBoundingClientRect(),h.attr("width",o.width),h.attr("height",o.height)}a.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),x5.set(e.id,i),e.width=o.width,e.height=o.height;let l;if(e.startLabelLeft){let u=await ac(e.startLabelLeft,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).startLeft=h,v5(l,e.startLabelLeft)}if(e.startLabelRight){let u=await ac(e.startLabelRight,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=h.node().appendChild(u),f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).startRight=h,v5(l,e.startLabelRight)}if(e.endLabelLeft){let u=await ac(e.endLabelLeft,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).endLeft=h,v5(l,e.endLabelLeft)}if(e.endLabelRight){let u=await ac(e.endLabelRight,cv(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ia.get(e.id)||ia.set(e.id,{}),ia.get(e.id).endRight=h,v5(l,e.endLabelRight)}return n},"insertEdgeLabel");s(v5,"setTerminalWidth");k5=s((t,e)=>{V.debug("Moving label abc88 ",t.id,t.label,x5.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=le(),{subGraphTitleTotalMargin:i}=Ks(n);if(t.label){let a=x5.get(t.id),o=t.x,l=t.y;if(r){let u=dt.calcLabelPosition(r);V.debug("Moving label "+t.label+" from (",o,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(o=u.x,l=u.y)}a.attr("transform",`translate(${o}, ${l+i/2})`)}if(t.startLabelLeft){let a=ia.get(t.id).startLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.startLabelRight){let a=ia.get(t.id).startRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelLeft){let a=ia.get(t.id).endLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelRight){let a=ia.get(t.id).endRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}},"positionEdgeLabel"),uEe=s((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),o=t.width/2,l=t.height/2;return i>=o||a>=l},"outsideNode"),hEe=s((t,e,r)=>{V.debug(`intersection calc abc89: +`),i=$b(n);return e===!1?i.replace(/ /g," "):i}function dj(t,e={}){let r=R7e(t,e),n=jr.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` +`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}),i}function pj(t,{markdownAutoWrap:e}={}){let r=jr.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:`Unsupported markdown: ${i.type}`}return o(n,"output"),r.map(n).join("")}var mj=R(()=>{"use strict";fj();zC();o(R7e,"preprocessMarkdown");o(dj,"markdownToLines");o(pj,"markdownToHTML")});function N7e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function M7e(t,e){let r=N7e(e.content);return gj(t,[],r,e.type)}function gj(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?gj(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function yj(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return w9(t,e)}function w9(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return w9(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=M7e(e,a);r.push([l]),u.content&&t.unshift(u)}return w9(t,e,r)}var vj=R(()=>{"use strict";o(N7e,"splitTextToChars");o(M7e,"splitWordToFitWidth");o(gj,"splitWordToFitWidthRecursion");o(yj,"splitLineToFitWidth");o(w9,"splitLineToFitWidthRecursion")});function xj(t,e){e&&t.attr("style",e)}async function I7e(t,e,r,n,i=!1){let a=t.append("foreignObject"),s=a.append("xhtml:div"),l=e.label;e.label&&Ni(e.label)&&(l=await yh(e.label.replace(We.lineBreakRegex,` +`),de()));let u=e.isNode?"nodeLabel":"edgeLabel",h=s.append("span");h.html(l),xj(h,e.labelStyle),h.attr("class",`${u} ${n}`),xj(s,e.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",r+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&s.attr("class","labelBkg");let f=s.node().getBoundingClientRect();return f.width===r&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",r+"px"),f=s.node().getBoundingClientRect()),a.node()}function T9(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function O7e(t,e,r){let n=t.append("text"),i=T9(n,1,e);k9(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function bj(t,e,r){let n=t.append("text"),i=T9(n,1,e);k9(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function P7e(t,e,r,n=!1){let a=e.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=o(p=>O7e(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:yj(h,f);for(let p of d){let m=T9(l,u,1.1);k9(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return s.attr("x",-f).attr("y",-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function k9(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}function E9(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,e=>``)}var ta,Al=R(()=>{"use strict";_t();rr();Zt();ut();mj();xr();vj();o(xj,"applyStyle");o(I7e,"addHtmlSpan");o(T9,"createTspan");o(O7e,"computeWidthOfText");o(bj,"computeDimensionOfText");o(P7e,"createFormattedText");o(k9,"updateTextContentAndStyles");o(E9,"replaceIconSubstring");ta=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:s=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(V.info("XYZ createText",e,r,n,i,a,s,"addSvgBackground: ",u),a){let f=pj(e,h),d=E9(to(f)),p=e.replace(/\\\\/g,"\\"),m={isNode:s,label:Ni(e)?p:d,labelStyle:r.replace("fill:","color:")};return await I7e(t,m,l,i,u)}else{let f=e.replace(//g,"
    "),d=dj(f.replace("
    ","
    "),h),p=P7e(l,t,d,e?u:!1);if(s){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Ge(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Ge(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Ge(p).select("text").attr("style",g)}return p}},"createText")});function wj(t,e){e&&t.attr("style",e)}function B7e(t){let e=Ge(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label,i=t.isNode?"nodeLabel":"edgeLabel",a=r.append("span");return a.html(n),wj(a,t.labelStyle),a.attr("class",i),wj(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var F7e,ra,bv=R(()=>{"use strict";Zt();ut();_t();rr();xr();Al();o(wj,"applyStyle");o(B7e,"addHtmlLabel");F7e=o((t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),yr(de().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),V.debug("vertexText"+i);let a={isNode:n,label:E9(to(i)),labelStyle:e.replace("fill:","color:")};return B7e(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),ra=F7e});function z7e(t,e){return t.intersect(e)}var Tj,kj=R(()=>{"use strict";o(z7e,"intersectNode");Tj=z7e});function $7e(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o($7e,"intersectEllipse");R5=$7e});function G7e(t,e,r){return R5(t,e,e,r)}var Ej,Cj=R(()=>{"use strict";C9();o(G7e,"intersectCircle");Ej=G7e});function V7e(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&Sj(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&Sj(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function Sj(t,e){return t*e>0}var Aj,_j=R(()=>{"use strict";o(V7e,"intersectLine");o(Sj,"sameSign");Aj=V7e});function U7e(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),w=y.x-r.x,S=y.y-r.y,T=Math.sqrt(w*w+S*S);return b{"use strict";_j();Lj=U7e;o(U7e,"intersectPolygon")});var H7e,Ad,S9=R(()=>{"use strict";H7e=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Ad=H7e});var Tn,A9=R(()=>{"use strict";kj();Cj();C9();Dj();S9();Tn={node:Tj,circle:Ej,ellipse:R5,polygon:Lj,rect:Ad}});function _l(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var Ti,kn,N5=R(()=>{"use strict";bv();Al();_t();Zt();rr();xr();Ti=o(async(t,e,r,n)=>{let i=de(),a,s=e.useHtmlLabels||yr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=ta(u,qr(to(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(ra(qr(to(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(yr(i.flowchart.htmlLabels)){let g=d.children[0],y=Ge(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(w=>{function S(){if(b.style.display="flex",b.style.flexDirection="column",x){let T=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,_=parseInt(T,10)*5+"px";b.style.minWidth=_,b.style.maxWidth=_}else b.style.width="100%";w(b)}o(S,"setupImage"),setTimeout(()=>{b.complete&&S()}),b.addEventListener("error",S),b.addEventListener("load",S)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return s?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),kn=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(_l,"insertPolygonShape")});var Y7e,Rj,Nj=R(()=>{"use strict";N5();ut();_t();A9();Y7e=o(async(t,e)=>{e.useHtmlLabels||de().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await Ti(t,e,"node "+e.classes,!0);V.info("Classes = ",e.classes);let s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),kn(e,s),e.intersect=function(l){return Tn.rect(e,l)},n},"note"),Rj=Y7e});function _9(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(V.debug("add top border"),a(r)):s(r),e.includes("r")?(V.debug("add right border"),a(n)):s(n),e.includes("b")?(V.debug("add bottom border"),a(r)):s(r),e.includes("l")?(V.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var Mj,no,Ij,W7e,q7e,X7e,j7e,K7e,Q7e,Z7e,J7e,eSe,tSe,rSe,nSe,iSe,aSe,sSe,oSe,lSe,cSe,uSe,Oj,hSe,fSe,Pj,dm,pm,Bj,Fj,wv,M5=R(()=>{"use strict";Zt();_t();rr();ut();KX();bv();A9();Nj();N5();Mj=o(t=>t?" "+t:"","formatClass"),no=o((t,e)=>`${e||"node default"}${Mj(t.classes)} ${Mj(t.class)}`,"getClassesFromNode"),Ij=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];V.info("Question main (Circle)");let u=_l(r,s,s,l);return u.attr("style",e.style),kn(e,u),e.intersect=function(h){return V.warn("Intersect called"),Tn.polygon(e,l,h)},r},"question"),W7e=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Tn.circle(e,14,s)},r},"choice"),q7e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=_l(r,l,a,u);return h.attr("style",e.style),kn(e,h),e.intersect=function(f){return Tn.polygon(e,u,f)},r},"hexagon"),X7e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=jX(e.directions,n,e),h=_l(r,l,a,u);return h.attr("style",e.style),kn(e,h),e.intersect=function(f){return Tn.polygon(e,u,f)},r},"block_arrow"),j7e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return _l(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return Tn.polygon(e,s,u)},r},"rect_left_inv_arrow"),K7e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=_l(r,i,a,s);return l.attr("style",e.style),kn(e,l),e.intersect=function(u){return Tn.polygon(e,s,u)},r},"lean_right"),Q7e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=_l(r,i,a,s);return l.attr("style",e.style),kn(e,l),e.intersect=function(u){return Tn.polygon(e,s,u)},r},"lean_left"),Z7e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=_l(r,i,a,s);return l.attr("style",e.style),kn(e,l),e.intersect=function(u){return Tn.polygon(e,s,u)},r},"trapezoid"),J7e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=_l(r,i,a,s);return l.attr("style",e.style),kn(e,l),e.intersect=function(u){return Tn.polygon(e,s,u)},r},"inv_trapezoid"),eSe=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=_l(r,i,a,s);return l.attr("style",e.style),kn(e,l),e.intersect=function(u){return Tn.polygon(e,s,u)},r},"rect_right_inv_arrow"),tSe=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return kn(e,h),e.intersect=function(f){let d=Tn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),rSe=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ti(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(_9(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{V.warn(`Unknown node property ${d}`)})}return kn(e,a),e.intersect=function(f){return Tn.rect(e,f)},r},"rect"),nSe=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ti(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(_9(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{V.warn(`Unknown node property ${d}`)})}return kn(e,a),e.intersect=function(f){return Tn.rect(e,f)},r},"composite"),iSe=o(async(t,e)=>{let{shapeSvg:r}=await Ti(t,e,"label",!0);V.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(_9(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{V.warn(`Unknown node property ${l}`)})}return kn(e,n),e.intersect=function(s){return Tn.rect(e,s)},r},"labelRect");o(_9,"applyNodePropertyBorders");aSe=o((t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,V.info("Label text abc79",u,l,typeof l=="object");let h=s.node().appendChild(ra(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(yr(de().flowchart.htmlLabels)){let y=h.children[0],v=Ge(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}V.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=s.node().appendChild(ra(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(yr(de().flowchart.htmlLabels)){let y=m.children[0],v=Ge(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return Ge(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),Ge(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return kn(e,s),e.intersect=function(l){return Tn.rect(e,l)},r},"stadium"),oSe=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ti(t,e,no(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),V.info("Circle main"),kn(e,a),e.intersect=function(s){return V.info("Circle intersect",e,n.width/2+i,s),Tn.circle(e,n.width/2+i,s)},r},"circle"),lSe=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ti(t,e,no(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),V.info("DoubleCircle main"),kn(e,l),e.intersect=function(h){return V.info("DoubleCircle intersect",e,n.width/2+i+a,h),Tn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),cSe=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ti(t,e,no(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=_l(r,i,a,s);return l.attr("style",e.style),kn(e,l),e.intersect=function(u){return Tn.polygon(e,s,u)},r},"subroutine"),uSe=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),kn(e,n),e.intersect=function(i){return Tn.circle(e,7,i)},r},"start"),Oj=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return kn(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return Tn.rect(e,l)},n},"forkJoin"),hSe=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),kn(e,i),e.intersect=function(a){return Tn.circle(e,7,a)},r},"end"),fSe=o((t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(ra(y,e.labelStyle,!0,!0)),x=v.getBBox();if(yr(de().flowchart.htmlLabels)){let A=v.children[0],L=Ge(v);x=A.getBoundingClientRect(),L.attr("width",x.width),L.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(de().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let w=p.node().appendChild(ra(b,e.labelStyle,!0,!0));Ge(w).attr("class","classTitle");let S=w.getBBox();if(yr(de().flowchart.htmlLabels)){let A=w.children[0],L=Ge(w);S=A.getBoundingClientRect(),L.attr("width",S.width),L.attr("height",S.height)}d+=S.height+n,S.width>f&&(f=S.width);let T=[];e.classData.members.forEach(A=>{let L=A.getDisplayDetails(),M=L.displayText;de().flowchart.htmlLabels&&(M=M.replace(//g,">"));let N=p.node().appendChild(ra(M,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0)),k=N.getBBox();if(yr(de().flowchart.htmlLabels)){let I=N.children[0],C=Ge(N);k=I.getBoundingClientRect(),C.attr("width",k.width),C.attr("height",k.height)}k.width>f&&(f=k.width),d+=k.height+n,T.push(N)}),d+=i;let E=[];if(e.classData.methods.forEach(A=>{let L=A.getDisplayDetails(),M=L.displayText;de().flowchart.htmlLabels&&(M=M.replace(//g,">"));let N=p.node().appendChild(ra(M,L.cssStyle?L.cssStyle:e.labelStyle,!0,!0)),k=N.getBBox();if(yr(de().flowchart.htmlLabels)){let I=N.children[0],C=Ge(N);k=I.getBoundingClientRect(),C.attr("width",k.width),C.attr("height",k.height)}k.width>f&&(f=k.width),d+=k.height+n,E.push(N)}),d+=i,g){let A=(f-x.width)/2;Ge(v).attr("transform","translate( "+(-1*f/2+A)+", "+-1*d/2+")"),m=x.height+n}let _=(f-S.width)/2;return Ge(w).attr("transform","translate( "+(-1*f/2+_)+", "+(-1*d/2+m)+")"),m+=S.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,T.forEach(A=>{Ge(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,E.forEach(A=>{Ge(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let L=A?.getBBox();m+=(L?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),kn(e,l),e.intersect=function(A){return Tn.rect(e,A)},s},"class_box"),Pj={rhombus:Ij,composite:nSe,question:Ij,rect:rSe,labelRect:iSe,rectWithTitle:aSe,choice:W7e,circle:oSe,doublecircle:lSe,stadium:sSe,hexagon:q7e,block_arrow:X7e,rect_left_inv_arrow:j7e,lean_right:K7e,lean_left:Q7e,trapezoid:Z7e,inv_trapezoid:J7e,rect_right_inv_arrow:eSe,cylinder:tSe,start:uSe,end:hSe,note:Rj,subroutine:cSe,fork:Oj,join:Oj,class_box:fSe},dm={},pm=o(async(t,e,r)=>{let n,i;if(e.link){let a;de().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await Pj[e.shape](n,e,r)}else i=await Pj[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),dm[e.id]=n,e.haveCallback&&dm[e.id].attr("class",dm[e.id].attr("class")+" clickable"),n},"insertNode"),Bj=o((t,e)=>{dm[e.id]=t},"setNodeElem"),Fj=o(()=>{dm={}},"clear"),wv=o(t=>{let e=dm[t.id];V.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var I5,L9=R(()=>{"use strict";Zt();M5();I5=o((t,e)=>{let r;return e==="sandbox"&&(r=Ge("#i"+t)),(e==="sandbox"?Ge(r.nodes()[0].contentDocument.body):Ge("body")).select(`[id="${t}"]`)},"getDiagramElement")});var io,_d=R(()=>{"use strict";io=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});function D9(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function dSe(t,e){return t[0]===e[0]&&t[1]===e[1]}function pSe(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)D9(h,l,i);let u=function(h,f,d){let p=[];for(let b of h){let w=[...b];dSe(w[0],w[w.length-1])||w.push([w[0][0],w[0][1]]),w.length>2&&p.push(w)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let w=0;wb.yminw.ymin?1:b.xw.x?1:b.ymax===w.ymax?0:(b.ymax-w.ymax)/Math.abs(b.ymax-w.ymax)),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let w=0;wv);w++)b=w;g.splice(0,b+1).forEach(w=>{y.push({s:v,edge:w})})}if(y=y.filter(b=>!(b.edge.ymax<=v)),y.sort((b,w)=>b.edge.x===w.edge.x?0:(b.edge.x-w.edge.x)/Math.abs(b.edge.x-w.edge.x)),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let S=y[b].edge,T=y[w].edge;m.push([[Math.round(S.x),v],[Math.round(T.x),v]])}v+=d,y.forEach(b=>{b.edge.x=b.edge.x+d*b.edge.islope}),x++}return m}(s,a,n);if(i){for(let h of s)D9(h,l,-i);(function(h,f,d){let p=[];h.forEach(m=>p.push(...m)),D9(p,f,d)})(u,l,-i)}return u}function Cv(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),pSe(t,i,n,a||1)}function U5(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function N9(t,e){return t.type===e}function W9(t){let e=[],r=function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:mSe,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:R9,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:zj,text:""},l}(t),n="BOD",i=0,a=r[i];for(;!N9(a,zj);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return W9("M0,0"+t);i++,s=O5[a.text],n=a.text}else N9(a,R9)?s=O5[n]:(i++,s=O5[a.text],n=a.text);if(!(i+sf%2?h+r:h+e);a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function Xj(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(jj(n,i,v,x,d,p,m,g,y).forEach(function(b){e.push({key:"C",data:b})}),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function Tv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function jj(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=Tv(t,e,-f),[r,n]=Tv(r,n,-f);let I=(t-r)/2,C=(e-n)/2,O=I*I/(i*i)+C*C/(a*a);O>1&&(O=Math.sqrt(O),i*=O,a*=O);let D=i*i,P=a*a,F=D*P-D*C*C-P*I*I,B=D*C*C+P*I*I,G=(l===u?-1:1)*Math.sqrt(Math.abs(F/B));y=G*i*C/a+(t+r)/2,v=G*-a*I/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let I=g,C=r,O=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=jj(r=y+i*Math.cos(g),n=v+a*Math.sin(g),C,O,i,a,s,0,u,[g,I,y,v])}x=g-m;let b=Math.cos(m),w=Math.sin(m),S=Math.cos(g),T=Math.sin(g),E=Math.tan(x/4),_=4/3*i*E,A=4/3*a*E,L=[t,e],M=[t+_*w,e-A*b],N=[r+_*T,n-A*S],k=[r,n];if(M[0]=2*L[0]-M[0],M[1]=2*L[1]-M[1],h)return[M,N,k].concat(p);{p=[M,N,k].concat(p);let I=[];for(let C=0;C2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=Yj(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=Yj(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Vh(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Vh(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function Vj(t,e){let r=Xj(qj(W9(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Vh(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...vSe(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Vh(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function M9(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+Yt(i,e),n[0][1]+Yt(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*Zj(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=Yt(m,i,h),g=Yt(g,i,h);let y=[],v=o(()=>Yt(d,i,h),"M"),x=o(()=>Yt(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:Yt(f,i,h)),e+(b?0:Yt(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function P5(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+Yt(e,r),t[0][1]+Yt(e,r)]),n.push([t[0][0]+Yt(e,r),t[0][1]+Yt(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=Ld(u,h,.5),m=Ld(h,f,.5),g=Ld(f,d,.5),y=Ld(p,m,.5),v=Ld(m,g,.5),x=Ld(y,v,.5);U9([u,p,y,x],0,r,i),U9([x,v,g,d],0,r,i)}var a,s;return i}function bSe(t,e){return V5(t,0,t.length,e)}function V5(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(V5(t,e,h+1,n,a),V5(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function I9(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?V5(n,0,n.length,r):n}var Ev,O9,P9,B9,F9,z9,Cs,$9,mSe,R9,zj,O5,gSe,ao,gm,H9,B5,Y9,Jt,ti=R(()=>{"use strict";o(D9,"t");o(dSe,"e");o(pSe,"s");o(Cv,"n");Ev=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=Cv(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(U5,"a");O9=class extends Ev{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=Cv(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)U5([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},P9=class extends Ev{static{o(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},B9=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=Cv(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=U5(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=U5(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=U5(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(_=0,A=2*Math.PI);let L=(A-_)/b.curveStepCount,M=[];for(let N=_;N<=A;N+=L)M.push([w+T*Math.cos(N),S+E*Math.sin(N)]);return M.push([w+T*Math.cos(A),S+E*Math.sin(A)]),M.push([w,S]),mm([M],b)}(e,r,n,i,a,s,h));return h.stroke!==ao&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=$j(e,n);if(n.fill&&n.fill!==ao)if(n.fillStyle==="solid"){let s=$j(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...I9(Wj([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...I9(Wj(h),10,(1+n.roughness)/2))}s.length&&i.push(mm([s],n))}return n.stroke!==ao&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=F5(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(M9([e],n)):i.push(mm([e],n))),n.stroke!==ao&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==ao,s=n.stroke!==ao,l=!!(n.simplification&&n.simplification<1),u=function(f,d,p){let m=Xj(qj(W9(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...I9(x,d)),x=[]},"i"),w=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:T,data:E}of m)switch(T){case"M":w(),v=[E[0],E[1]],y.push(v);break;case"L":b(),y.push([E[0],E[1]]);break;case"C":if(!x.length){let _=y.length?y[y.length-1]:v;x.push([_[0],_[1]])}x.push([E[0],E[1]]),x.push([E[2],E[3]]),x.push([E[4],E[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(w(),!p)return g;let S=[];for(let T of g){let E=bSe(T,p);E.length&&S.push(E)}return S}(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=Vj(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=Vj(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(M9(u,n));else i.push(mm(u,n));return s&&(l?u.forEach(f=>{i.push(F5(f,!1,n))}):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map(s=>+s.toFixed(r)):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:ao};break;case"fillPath":s={d:this.opsToPath(a),stroke:ao,strokeWidth:0,fill:n.fill||ao};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||ao,strokeWidth:n,fill:ao}}_mergedShape(e){return e.filter((r,n)=>n===0||r.op!=="move")}},H9=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new gm(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map(l=>+l.toFixed(n)):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},B5="http://www.w3.org/2000/svg",Y9=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new gm(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(B5,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(B5,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(B5,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(B5,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Jt={canvas:o((t,e)=>new H9(t,e),"canvas"),svg:o((t,e)=>new Y9(t,e),"svg"),generator:o(t=>new gm(t),"generator"),newSeed:o(()=>gm.newSeed(),"newSeed")}});var wSe,Dd,q9=R(()=>{"use strict";wSe=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Dd=wSe});function TSe(t,e){e&&t.attr("style",e)}async function kSe(t){let e=Ge(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label;t.label&&Ni(t.label)&&(n=await yh(t.label.replace(We.lineBreakRegex,` +`),de()));let i=t.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),TSe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var ESe,gc,H5=R(()=>{"use strict";Zt();ut();_t();rr();xr();o(TSe,"applyStyle");o(kSe,"addHtmlLabel");ESe=o(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),yr(de().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),V.info("vertexText"+i);let a={isNode:n,label:to(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await kSe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),gc=ESe});var _u,Sv=R(()=>{"use strict";_u=o((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});var Lu,Jj,CSe,Br,Fr,ki=R(()=>{"use strict";_t();Lu=o(t=>{let{handDrawnSeed:e}=de();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),Jj=o(t=>{let e=CSe([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),CSe=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),Br=o(t=>{let{stylesArray:e}=Jj(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];l==="color"||l==="font-size"||l==="font-family"||l==="font-weight"||l==="font-style"||l==="text-decoration"||l==="text-align"||l==="text-transform"||l==="line-height"||l==="letter-spacing"||l==="word-spacing"||l==="text-shadow"||l==="text-overflow"||l==="white-space"||l==="word-wrap"||l==="word-break"||l==="overflow-wrap"||l==="hyphens"?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Fr=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=de(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=Jj(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,stroke:s.get("stroke")||i,seed:n,strokeWidth:1.3},e)},"userNodeOverrides")});var eK,SSe,ASe,_Se,LSe,DSe,tK,Y5,rK,X9=R(()=>{"use strict";_t();rr();ut();_d();Zt();ti();Al();q9();H5();Sv();ki();eK=o(async(t,e)=>{V.info("Creating subgraph rect for ",e.id,e);let r=de(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Br(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=yr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await ta(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(yr(r.flowchart.htmlLabels)){let _=g.children[0],A=Ge(g);y=_.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,w=e.y-x/2;V.trace("Data ",e,JSON.stringify(e));let S;if(e.look==="handDrawn"){let _=Jt.svg(d),A=Fr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),L=_.path(_u(b,w,v,x,0),A);S=d.insert(()=>(V.debug("Rough node insert CXC",L),L),":first-child"),S.select("path:nth-child(2)").attr("style",h.join(";")),S.select("path").attr("style",f.join(";").replace("fill","stroke"))}else S=d.insert("rect",":first-child"),S.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",w).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:T}=io(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+T})`),l){let _=m.select("span");_&&_.attr("style",l)}let E=S.node().getBBox();return e.offsetX=0,e.width=E.width,e.height=E.height,e.offsetY=y.height-e.padding/2,e.intersect=function(_){return Dd(e,_)},{cluster:d,labelBBox:y}},"rect"),SSe=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Dd(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),ASe=o(async(t,e)=>{let r=de(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await gc(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(yr(r.flowchart.htmlLabels)){let L=m.children[0],M=Ge(m);g=L.getBoundingClientRect(),M.attr("width",g.width),M.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,w=e.height+y-g.height-6,S=e.x-x/2,T=e.y-b/2;e.width=x;let E=e.y-e.height/2-v+g.height+2,_;if(e.look==="handDrawn"){let L=e.cssClasses.includes("statediagram-cluster-alt"),M=Jt.svg(h),N=e.rx||e.ry?M.path(_u(S,T,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):M.rectangle(S,T,x,b,{seed:i});_=h.insert(()=>N,":first-child");let k=M.rectangle(S,E,x,w,{fill:L?a:s,fillStyle:L?"hachure":"solid",stroke:u,seed:i});_=h.insert(()=>N,":first-child"),p=h.insert(()=>k)}else _=f.insert("rect",":first-child"),_.attr("class","outer").attr("x",S).attr("y",T).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",S).attr("y",E).attr("width",x).attr("height",w);d.attr("transform",`translate(${e.x-g.width/2}, ${T+1-(yr(r.flowchart.htmlLabels)?0:3)})`);let A=_.node().getBBox();return e.height=A.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(L){return Dd(e,L)},{cluster:h,labelBBox:g}},"roundedWithTitle"),_Se=o((t,e)=>{let r=de(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Jt.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Dd(e,y)},{cluster:s,labelBBox:{}}},"divider"),LSe=eK,DSe={rect:eK,squareRect:LSe,roundedWithTitle:ASe,noteGroup:SSe,divider:_Se},tK=new Map,Y5=o(async(t,e)=>{let r=e.shape||"rect",n=await DSe[r](t,e);return tK.set(e.id,n),n},"insertCluster"),rK=o(()=>{tK=new Map},"clear")});function W5(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=q5(t),e=q5(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var Uh,q5,X5,j9=R(()=>{"use strict";Uh={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};o(W5,"calculateDeltaAndAngle");q5=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),X5=o(t=>({x:o(function(e,r,n){let i=0;if(r===0&&Object.hasOwn(Uh,t.arrowTypeStart)){let{angle:a,deltaX:s}=W5(n[0],n[1]);i=Uh[t.arrowTypeStart]*Math.cos(a)*(s>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Uh,t.arrowTypeEnd)){let{angle:a,deltaX:s}=W5(n[n.length-1],n[n.length-2]);i=Uh[t.arrowTypeEnd]*Math.cos(a)*(s>=0?1:-1)}return q5(e).x+i},"x"),y:o(function(e,r,n){let i=0;if(r===0&&Object.hasOwn(Uh,t.arrowTypeStart)){let{angle:a,deltaY:s}=W5(n[0],n[1]);i=Uh[t.arrowTypeStart]*Math.abs(Math.sin(a))*(s>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Uh,t.arrowTypeEnd)){let{angle:a,deltaY:s}=W5(n[n.length-1],n[n.length-2]);i=Uh[t.arrowTypeEnd]*Math.abs(Math.sin(a))*(s>=0?1:-1)}return q5(e).y+i},"y")}),"getLineFunctionsWithOffset")});var iK,RSe,nK,aK=R(()=>{"use strict";ut();iK=o((t,e,r,n,i)=>{e.arrowTypeStart&&nK(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&nK(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),RSe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},nK=o((t,e,r,n,i,a)=>{let s=RSe[r];if(!s){V.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function j5(t,e){de().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function ISe(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}var K5,da,lK,Av,Q5,Z5,NSe,MSe,sK,oK,OSe,J5,K9=R(()=>{"use strict";_t();rr();ut();Al();xr();j9();_d();Zt();ti();H5();aK();K5=new Map,da=new Map,lK=o(()=>{K5.clear(),da.clear()},"clear"),Av=o(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),Q5=o(async(t,e)=>{let r=yr(de().flowchart.htmlLabels),n=await ta(t,e.label,{style:Av(e.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});V.info("abc82",e,e.labelType);let i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label");a.node().appendChild(n);let s=n.getBBox();if(r){let u=n.children[0],h=Ge(n);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),K5.set(e.id,i),e.width=s.width,e.height=s.height;let l;if(e.startLabelLeft){let u=await gc(e.startLabelLeft,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),da.get(e.id)||da.set(e.id,{}),da.get(e.id).startLeft=h,j5(l,e.startLabelLeft)}if(e.startLabelRight){let u=await gc(e.startLabelRight,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=h.node().appendChild(u),f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),da.get(e.id)||da.set(e.id,{}),da.get(e.id).startRight=h,j5(l,e.startLabelRight)}if(e.endLabelLeft){let u=await gc(e.endLabelLeft,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),da.get(e.id)||da.set(e.id,{}),da.get(e.id).endLeft=h,j5(l,e.endLabelLeft)}if(e.endLabelRight){let u=await gc(e.endLabelRight,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),da.get(e.id)||da.set(e.id,{}),da.get(e.id).endRight=h,j5(l,e.endLabelRight)}return n},"insertEdgeLabel");o(j5,"setTerminalWidth");Z5=o((t,e)=>{V.debug("Moving label abc88 ",t.id,t.label,K5.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=de(),{subGraphTitleTotalMargin:i}=io(n);if(t.label){let a=K5.get(t.id),s=t.x,l=t.y;if(r){let u=Lt.calcLabelPosition(r);V.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=da.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=da.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=da.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=da.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),NSe=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),MSe=o((t,e,r)=>{V.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),o=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{V.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(V.info("abc88 checking point",a,e),!uEe(e,a)&&!i){let o=hEe(e,n,a);V.debug("abc88 inside",a,n,o),V.debug("abc88 intersection",o,e);let l=!1;r.forEach(u=>{l=l||u.x===o.x&&u.y===o.y}),r.some(u=>u.x===o.x&&u.y===o.y)?V.warn("abc88 no intersect",o,r):r.push(o),i=!0}else V.warn("abc88 outside",a,n),n=a,i||r.push(a)}),V.debug("returning points",r),r},"cutPathAtIntersect");s(fEe,"extractCornerPoints");BX=s(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),o=r/a;return{x:e.x-o*n,y:e.y-o*i}},"findAdjacentPoint"),dEe=s(function(t){let{cornerPointPositions:e}=fEe(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){V.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;o.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else V.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),w5=s(function(t,e,r,n,i,a,o){let{handDrawnSeed:l}=le(),u=e.points,h=!1,f=i;var d=a;d.intersect&&f.intersect&&(u=u.slice(1,e.points.length-1),u.unshift(f.intersect(u[0])),V.debug("Last point APA12",e.start,"-->",e.end,u[u.length-1],d,d.intersect(u[u.length-1])),u.push(d.intersect(u[u.length-1]))),e.toCluster&&(V.info("to cluster abc88",r.get(e.toCluster)),u=PX(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(V.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=PX(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let p=u.filter(E=>!Number.isNaN(E.y));p=dEe(p);let m=p[p.length-1];if(p.length>1){m=p[p.length-1];let E=p[p.length-2],S=(m.x-E.x)/2,R=(m.y-E.y)/2,D={x:E.x+S,y:E.y+R};p.splice(-1,0,D)}let g=hs;e.curve&&(g=e.curve);let{x:y,y:v}=y5(e),x=ra().x(y).y(v).curve(g),b;switch(e.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-invisible";break;default:b="edge-thickness-normal"}switch(e.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break;default:b+=" edge-pattern-solid"}let k,A=x(p),w=Array.isArray(e.style)?e.style:[e.style];if(e.look==="handDrawn"){let E=Ht.svg(t);Object.assign([],p);let S=E.path(A,{roughness:.3,seed:l});b+=" transition",k=Me(S).select("path").attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",w?w.reduce((D,L)=>D+";"+L,""):"");let R=k.attr("d");k.attr("d",R),t.node().appendChild(k.node())}else k=t.append("path").attr("d",A).attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",w?w.reduce((E,S)=>E+";"+S,""):"");let T="";(le().flowchart.arrowMarkerAbsolute||le().state.arrowMarkerAbsolute)&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),V.info("arrowTypeStart",e.arrowTypeStart),V.info("arrowTypeEnd",e.arrowTypeEnd),NX(k,e,T,o,n);let C={};return h&&(C.updatedPath=u),C.originalPath=e.points,C},"insertEdge")});var pEe,mEe,gEe,yEe,vEe,xEe,bEe,kEe,wEe,TEe,EEe,T5,o9=_(()=>{"use strict";it();pEe=s((t,e,r,n)=>{e.forEach(i=>{EEe[i](t,r,n)})},"insertMarkers"),mEe=s((t,e,r)=>{V.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),gEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),yEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),vEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),xEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),bEe=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),kEe=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),wEe=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),TEe=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),EEe={extension:mEe,composition:gEe,aggregation:yEe,dependency:vEe,lollipop:xEe,point:bEe,circle:kEe,cross:wEe,barb:TEe},T5=pEe});var Mr,er,gn,Xn=_(()=>{"use strict";ic();gt();Xt();Qt();pr();Mr=s(async(t,e,r)=>{let n,i=e.useHtmlLabels||hr(le().flowchart.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),o=a.insert("g").attr("class","label").attr("style",e.labelStyle),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u;u=await vs(o,$r(Ys(l),le()),{useHtmlLabels:i,width:e.width||le().flowchart.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle});let h=u.getBBox(),f=e.padding/2;if(hr(le().flowchart.htmlLabels)){let d=u.children[0],p=Me(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=le().fontSize?le().fontSize:window.getComputedStyle(document.body).fontSize,A=parseInt(b,10)*5+"px";y.style.minWidth=A,y.style.maxWidth=A}else y.style.width="100%";v(y)}s(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}return i?o.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):o.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&o.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),o.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:o}},"labelHelper"),er=s((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),gn=s((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses")});function CEe(t,e){return t.intersect(e)}var zX,$X=_(()=>{"use strict";s(CEe,"intersectNode");zX=CEe});function SEe(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*o*o),h=Math.abs(e*r*o/u);n.x{"use strict";s(SEe,"intersectEllipse");E5=SEe});function _Ee(t,e,r){return E5(t,e,e,r)}var GX,VX=_(()=>{"use strict";l9();s(_Ee,"intersectCircle");GX=_Ee});function AEe(t,e,r,n){var i,a,o,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,o=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+o*r.y+u,m=i*n.x+o*n.y+u,!(p!==0&&m!==0&&UX(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&UX(f,d))&&(g=i*l-a*o,g!==0)))return y=Math.abs(g/2),v=o*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function UX(t,e){return t*e>0}var qX,WX=_(()=>{"use strict";s(AEe,"intersectLine");s(UX,"sameSign");qX=AEe});function LEe(t,e,r){let n=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){o=Math.min(o,f.x),l=Math.min(l,f.y)}):(o=Math.min(o,e.x),l=Math.min(l,e.y));let u=n-t.width/2-o,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";WX();s(LEe,"intersectPolygon");HX=LEe});var tr,ii=_(()=>{"use strict";$X();VX();l9();YX();n9();tr={node:zX,circle:GX,ellipse:E5,polygon:HX,rect:vd}});var xd,uv=_(()=>{"use strict";Xn();ii();lv();pi();Yn();xd=s(async(t,e,r)=>{let{labelStyles:n,nodeStyles:i}=Dr(e);e.labelStyle=n;let{shapeSvg:a,bbox:o}=await Mr(t,e,gn(e)),l=Math.max(o.width+r.labelPaddingX*2,e?.width||0),u=Math.max(o.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Ht.svg(a),v=Rr(e,{}),x=p||m?y.path(xu(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",g)}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",p).attr("data-id","abc").attr("data-et","node").attr("ry",m).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return er(e,d),e.intersect=function(y){return tr.rect(e,y)},a},"drawRect")});var XX,jX=_(()=>{"use strict";uv();XX=s(async(t,e)=>xd(t,e,{rx:5,ry:5,classes:"flowchart-node"}),"state")});var KX,QX=_(()=>{"use strict";uv();KX=s(async(t,e)=>{let r={rx:5,ry:5,classes:"",labelPaddingX:(e?.padding||0)*1,labelPaddingY:(e?.padding||0)*1};return xd(t,e,r)},"roundedRect")});var ZX,JX=_(()=>{"use strict";uv();ZX=s(async(t,e)=>{let r={rx:0,ry:0,classes:"",labelPaddingX:(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return xd(t,e,r)},"squareRect")});var ej,tj=_(()=>{"use strict";Xn();ii();Yn();pi();gt();ej=s((t,e)=>{let{themeVariables:r}=le(),{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Ht.svg(i).circle(0,0,14,bu(n));a=i.insert(()=>l)}else a=i.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),er(e,a),e.intersect=function(o){return tr.circle(e,7,o)},i},"stateStart")});var rj,nj=_(()=>{"use strict";Xn();ii();Yn();pi();gt();rj=s((t,e)=>{let{themeVariables:r}=le(),{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a,o;if(e.look==="handDrawn"){let l=Ht.svg(i),u=l.circle(0,0,14,{...bu(n),roughness:.5}),h=l.circle(0,0,5,{...bu(n),fillStyle:"solid"});a=i.insert(()=>u),o=i.insert(()=>h)}else o=i.insert("circle",":first-child"),a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),o.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10);return er(e,a),e.intersect=function(l){return tr.circle(e,7,l)},i},"stateEnd")});var c9,ij=_(()=>{"use strict";Xn();ii();Yn();pi();gt();c9=s((t,e,r)=>{let{themeVariables:n}=le(),{lineColor:i}=n,a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),o=70,l=10;r==="LR"&&(o=10,l=70);let u=-1*o/2,h=-1*l/2,f;if(e.look==="handDrawn"){let y=Ht.svg(a).rectangle(u,h,o,l,bu(i));f=a.insert(()=>y)}else f=a.append("rect").attr("x",u).attr("y",h).attr("width",o).attr("height",l).attr("class","fork-join");er(e,f);let d=0,p=0,m=10;return e.height&&(d=e.height),e.width&&(p=e.width),e.padding&&(m=e.padding),e.height=d+m/2,e.width=p+m/2,e.intersect=function(g){return tr.rect(e,g)},a},"forkJoin")});var aj,sj=_(()=>{"use strict";ii();Yn();pi();gt();aj=s((t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{themeVariables:i}=le(),{lineColor:a}=i,o=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),l=28,u=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}],h;if(e.look==="handDrawn"){let f=Ht.svg(o),d=u.map(function(m){return[m.x,m.y]}),p=f.polygon(d,bu(a));h=o.insert(()=>p)}else h=o.insert("polygon",":first-child").attr("points",u.map(function(f){return f.x+","+f.y}).join(" "));return h.attr("class","state-start").attr("r",7).attr("width",28).attr("height",28).attr("style",n),e.width=28,e.height=28,e.intersect=function(f){return tr.circle(e,14,f)},o},"choice")});var oj,lj=_(()=>{"use strict";it();Xn();ii();gt();Yn();oj=s(async(t,e)=>{let{themeVariables:r,handDrawnSeed:n}=le(),{noteBorderColor:i,noteBkgColor:a}=r;e.useHtmlLabels||(e.centerLabel=!0);let{shapeSvg:l,bbox:u}=await Mr(t,e,"node "+e.cssClasses);V.info("Classes = ",e.cssClasses);let{cssStyles:h}=e,f,d=u.width+e.padding,p=u.height+e.padding,m=-d/2,g=-p/2;if(e.look==="handDrawn"){let v=Ht.svg(l).rectangle(m,g,d,p,{roughness:.7,fill:a,fillWeight:3,seed:n,stroke:i});f=l.insert(()=>v,":first-child"),f.attr("class","basic label-container").attr("style",h)}else f=l.insert("rect",":first-child"),f.attr("rx",e.rx).attr("ry",e.ry).attr("x",m).attr("y",g).attr("width",d).attr("height",p);return er(e,f),e.intersect=function(y){return tr.rect(e,y)},l},"note")});var cj,uj=_(()=>{"use strict";Xn();ii();pi();Yn();lv();cj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.height+e.padding,l=a.width+o/4+e.padding,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Ht.svg(i),d=Rr(e,{}),p=xu(-l/2,-o/2,l,o,o/2),m=f.path(p,d);u=i.insert(()=>m,":first-child"),u.attr("class","basic label-container").attr("style",h)}else u=i.insert("rect",":first-child"),u.attr("class","basic label-container").attr("style",n).attr("rx",o/2).attr("ry",o/2).attr("x",-l/2).attr("y",-o/2).attr("width",l).attr("height",o);return er(e,u),e.intersect=function(f){return tr.rect(e,f)},i},"stadium")});var hj,fj=_(()=>{"use strict";Xt();Qt();Xn();d5();ii();pi();Yn();gt();lv();it();hj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),o=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await ac(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(hr(le()?.flowchart?.htmlLabels)){let E=f.children[0],S=Me(f);d=E.getBoundingClientRect(),S.attr("width",d.width),S.attr("height",d.height)}V.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await ac(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=Me(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;Me(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),Me(f).attr("transform","translate( "+(d.width(V.debug("Rough node insert CXC",R),D),":first-child"),T=a.insert(()=>(V.debug("Rough node insert CXC",R),R),":first-child")}else T=o.insert("rect",":first-child"),C=o.insert("line"),T.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),C.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return er(e,T),e.intersect=function(E){return tr.rect(e,E)},a},"rectWithTitle")});function Ea(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var ku=_(()=>{"use strict";s(Ea,"insertPolygonShape")});var dj,pj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();dj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-o,f=-a.height/2-o,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Ht.svg(i),m=Rr(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",b),er(e,x)}else{let p=Ea(i,l,u,d);n&&p.attr("style",n),er(e,p)}return e.intersect=function(p){return tr.polygon(e,d,p)},i},"subroutine")});var DEe,REe,MEe,mj,gj=_(()=>{"use strict";Xn();ii();pi();Yn();DEe=s((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),REe=s((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),MEe=s((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),mj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=o/2,u=l/(2.5+o/50),h=a.height+u+e.padding,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ht.svg(i),m=REe(0,0,o,h,l,u),g=MEe(0,u,o,h,l,u),y=p.path(m,Rr(e,{})),v=p.path(g,Rr(e,{fill:"none"}));f=i.insert(()=>v,":first-child"),f=i.insert(()=>y,":first-child"),f.attr("class","basic label-container"),d&&f.attr("style",d)}else{let p=DEe(0,0,o,h,l,u);f=i.insert("path",":first-child").attr("d",p).attr("class","basic label-container").attr("style",d).attr("style",n)}return f.attr("label-offset-y",u),f.attr("transform",`translate(${-o/2}, ${-(h/2+u)})`),er(e,f),e.intersect=function(p){let m=tr.rect(e,p),g=m.x-(e.x??0);if(l!=0&&(Math.abs(g)<(e.width??0)/2||Math.abs(g)==(e.width??0)/2&&Math.abs(m.y-(e.y??0))>(e.height??0)/2-u)){let y=u*u*(1-g*g/(l*l));y>0&&(y=Math.sqrt(y)),y=u-y,p.y-(e.y??0)>0&&(y=-y),m.y+=y}return m},i},"cylinder")});var yj,vj=_(()=>{"use strict";it();Xn();ii();pi();Yn();yj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:o}=await Mr(t,e,gn(e)),l=a.width/2+o,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Ht.svg(i),d=Rr(e,{}),p=f.circle(0,0,l*2,d);u=i.insert(()=>p,":first-child"),u.attr("class","basic label-container").attr("style",h)}else u=i.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",l).attr("cx",0).attr("cy",0);return er(e,u),e.intersect=function(f){return V.info("Circle intersect",e,l,f),tr.circle(e,l,f)},i},"circle")});var xj,bj=_(()=>{"use strict";it();Xn();ii();pi();Yn();xj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:o}=await Mr(t,e,gn(e)),u=a.width/2+o+5,h=a.width/2+o,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ht.svg(i),m=Rr(e,{roughness:.2,strokeWidth:2.5}),g=Rr(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",e.cssClasses).attr("style",d),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return er(e,f),e.intersect=function(p){return V.info("DoubleCircle intersect",e,u,p),tr.circle(e,u,p)},i},"doublecircle")});var IEe,kj,wj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();IEe=s((t,e,r,n)=>[`M${t-n/2},${e}`,`L${t+r},${e}`,`L${t+r},${e-n}`,`L${t-n/2},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createPolygonPathD"),kj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-l/2,y:0},{x:o,y:0},{x:o,y:-l},{x:-l/2,y:-l},{x:0,y:-l/2}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=IEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o+l,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"rect_left_inv_arrow")});var NEe,Tj,Ej=_(()=>{"use strict";it();Xn();ii();pi();Yn();ku();NEe=s((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD"),Tj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=o+l,h=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ht.svg(i),m=Rr(e,{}),g=NEe(0,0,u),y=p.path(g,m);f=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`),d&&f.attr("style",d)}else f=Ea(i,u,u,h);return n&&f.attr("style",n),er(e,f),e.intersect=function(p){return V.debug(`APA12 Intersect called SPLIT + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{V.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(V.info("abc88 checking point",a,e),!NSe(e,a)&&!i){let s=MSe(e,n,a);V.debug("abc88 inside",a,n,s),V.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?V.warn("abc88 no intersect",s,r):r.push(s),i=!0}else V.warn("abc88 outside",a,n),n=a,i||r.push(a)}),V.debug("returning points",r),r},"cutPathAtIntersect");o(ISe,"extractCornerPoints");oK=o(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),OSe=o(function(t){let{cornerPointPositions:e}=ISe(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){V.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else V.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),J5=o(function(t,e,r,n,i,a,s){let{handDrawnSeed:l}=de(),u=e.points,h=!1,f=i;var d=a;d.intersect&&f.intersect&&(u=u.slice(1,e.points.length-1),u.unshift(f.intersect(u[0])),V.debug("Last point APA12",e.start,"-->",e.end,u[u.length-1],d,d.intersect(u[u.length-1])),u.push(d.intersect(u[u.length-1]))),e.toCluster&&(V.info("to cluster abc88",r.get(e.toCluster)),u=sK(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(V.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=sK(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let p=u.filter(A=>!Number.isNaN(A.y));p=OSe(p);let m=p[p.length-1];if(p.length>1){m=p[p.length-1];let A=p[p.length-2],L=(m.x-A.x)/2,M=(m.y-A.y)/2,N={x:A.x+L,y:A.y+M};p.splice(-1,0,N)}let g=vs;e.curve&&(g=e.curve);let{x:y,y:v}=X5(e),x=ha().x(y).y(v).curve(g),b;switch(e.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-invisible";break;default:b="edge-thickness-normal"}switch(e.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break;default:b+=" edge-pattern-solid"}let w,S=x(p),T=Array.isArray(e.style)?e.style:[e.style];if(e.look==="handDrawn"){let A=Jt.svg(t);Object.assign([],p);let L=A.path(S,{roughness:.3,seed:l});b+=" transition",w=Ge(L).select("path").attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",T?T.reduce((N,k)=>N+";"+k,""):"");let M=w.attr("d");w.attr("d",M),t.node().appendChild(w.node())}else w=t.append("path").attr("d",S).attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",T?T.reduce((A,L)=>A+";"+L,""):"");let E="";(de().flowchart.arrowMarkerAbsolute||de().state.arrowMarkerAbsolute)&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),V.info("arrowTypeStart",e.arrowTypeStart),V.info("arrowTypeEnd",e.arrowTypeEnd),iK(w,e,E,s,n);let _={};return h&&(_.updatedPath=u),_.originalPath=e.points,_},"insertEdge")});var PSe,BSe,FSe,zSe,$Se,GSe,VSe,USe,HSe,YSe,WSe,ew,Q9=R(()=>{"use strict";ut();PSe=o((t,e,r,n)=>{e.forEach(i=>{WSe[i](t,r,n)})},"insertMarkers"),BSe=o((t,e,r)=>{V.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),FSe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),zSe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),$Se=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),GSe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),VSe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),USe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),HSe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),YSe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),WSe={extension:BSe,composition:FSe,aggregation:zSe,dependency:$Se,lollipop:GSe,point:VSe,circle:USe,cross:HSe,barb:YSe},ew=PSe});var zr,ar,En,ri=R(()=>{"use strict";Al();_t();Zt();rr();xr();zr=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||yr(de().flowchart.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",e.labelStyle),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u;u=await ta(s,qr(to(l),de()),{useHtmlLabels:i,width:e.width||de().flowchart.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle});let h=u.getBBox(),f=e.padding/2;if(yr(de().flowchart.htmlLabels)){let d=u.children[0],p=Ge(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=de().fontSize?de().fontSize:window.getComputedStyle(document.body).fontSize,S=parseInt(b,10)*5+"px";y.style.minWidth=S,y.style.maxWidth=S}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}return i?s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):s.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:s}},"labelHelper"),ar=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),En=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses")});function qSe(t,e){return t.intersect(e)}var cK,uK=R(()=>{"use strict";o(qSe,"intersectNode");cK=qSe});function XSe(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(XSe,"intersectEllipse");tw=XSe});function jSe(t,e,r){return tw(t,e,e,r)}var hK,fK=R(()=>{"use strict";Z9();o(jSe,"intersectCircle");hK=jSe});function KSe(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&dK(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&dK(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function dK(t,e){return t*e>0}var pK,mK=R(()=>{"use strict";o(KSe,"intersectLine");o(dK,"sameSign");pK=KSe});function QSe(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";mK();o(QSe,"intersectPolygon");gK=QSe});var sr,hi=R(()=>{"use strict";uK();fK();Z9();yK();q9();sr={node:cK,circle:hK,ellipse:tw,polygon:gK,rect:Dd}});var Rd,_v=R(()=>{"use strict";ri();hi();Sv();ki();ti();Rd=o(async(t,e,r)=>{let{labelStyles:n,nodeStyles:i}=Br(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await zr(t,e,En(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Jt.svg(a),v=Fr(e,{}),x=p||m?y.path(_u(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",g)}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",p).attr("data-id","abc").attr("data-et","node").attr("ry",m).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return ar(e,d),e.intersect=function(y){return sr.rect(e,y)},a},"drawRect")});var vK,xK=R(()=>{"use strict";_v();vK=o(async(t,e)=>Rd(t,e,{rx:5,ry:5,classes:"flowchart-node"}),"state")});var bK,wK=R(()=>{"use strict";_v();bK=o(async(t,e)=>{let r={rx:5,ry:5,classes:"",labelPaddingX:(e?.padding||0)*1,labelPaddingY:(e?.padding||0)*1};return Rd(t,e,r)},"roundedRect")});var TK,kK=R(()=>{"use strict";_v();TK=o(async(t,e)=>{let r={rx:0,ry:0,classes:"",labelPaddingX:(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return Rd(t,e,r)},"squareRect")});var EK,CK=R(()=>{"use strict";ri();hi();ti();ki();_t();EK=o((t,e)=>{let{themeVariables:r}=de(),{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Jt.svg(i).circle(0,0,14,Lu(n));a=i.insert(()=>l)}else a=i.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),ar(e,a),e.intersect=function(s){return sr.circle(e,7,s)},i},"stateStart")});var SK,AK=R(()=>{"use strict";ri();hi();ti();ki();_t();SK=o((t,e)=>{let{themeVariables:r}=de(),{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a,s;if(e.look==="handDrawn"){let l=Jt.svg(i),u=l.circle(0,0,14,{...Lu(n),roughness:.5}),h=l.circle(0,0,5,{...Lu(n),fillStyle:"solid"});a=i.insert(()=>u),s=i.insert(()=>h)}else s=i.insert("circle",":first-child"),a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),s.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10);return ar(e,a),e.intersect=function(l){return sr.circle(e,7,l)},i},"stateEnd")});var J9,_K=R(()=>{"use strict";ri();hi();ti();ki();_t();J9=o((t,e,r)=>{let{themeVariables:n}=de(),{lineColor:i}=n,a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),s=70,l=10;r==="LR"&&(s=10,l=70);let u=-1*s/2,h=-1*l/2,f;if(e.look==="handDrawn"){let y=Jt.svg(a).rectangle(u,h,s,l,Lu(i));f=a.insert(()=>y)}else f=a.append("rect").attr("x",u).attr("y",h).attr("width",s).attr("height",l).attr("class","fork-join");ar(e,f);let d=0,p=0,m=10;return e.height&&(d=e.height),e.width&&(p=e.width),e.padding&&(m=e.padding),e.height=d+m/2,e.width=p+m/2,e.intersect=function(g){return sr.rect(e,g)},a},"forkJoin")});var LK,DK=R(()=>{"use strict";hi();ti();ki();_t();LK=o((t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{themeVariables:i}=de(),{lineColor:a}=i,s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),l=28,u=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}],h;if(e.look==="handDrawn"){let f=Jt.svg(s),d=u.map(function(m){return[m.x,m.y]}),p=f.polygon(d,Lu(a));h=s.insert(()=>p)}else h=s.insert("polygon",":first-child").attr("points",u.map(function(f){return f.x+","+f.y}).join(" "));return h.attr("class","state-start").attr("r",7).attr("width",28).attr("height",28).attr("style",n),e.width=28,e.height=28,e.intersect=function(f){return sr.circle(e,14,f)},s},"choice")});var RK,NK=R(()=>{"use strict";ut();ri();hi();_t();ti();RK=o(async(t,e)=>{let{themeVariables:r,handDrawnSeed:n}=de(),{noteBorderColor:i,noteBkgColor:a}=r;e.useHtmlLabels||(e.centerLabel=!0);let{shapeSvg:l,bbox:u}=await zr(t,e,"node "+e.cssClasses);V.info("Classes = ",e.cssClasses);let{cssStyles:h}=e,f,d=u.width+e.padding,p=u.height+e.padding,m=-d/2,g=-p/2;if(e.look==="handDrawn"){let v=Jt.svg(l).rectangle(m,g,d,p,{roughness:.7,fill:a,fillWeight:3,seed:n,stroke:i});f=l.insert(()=>v,":first-child"),f.attr("class","basic label-container").attr("style",h)}else f=l.insert("rect",":first-child"),f.attr("rx",e.rx).attr("ry",e.ry).attr("x",m).attr("y",g).attr("width",d).attr("height",p);return ar(e,f),e.intersect=function(y){return sr.rect(e,y)},l},"note")});var MK,IK=R(()=>{"use strict";ri();hi();ki();ti();Sv();MK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Jt.svg(i),d=Fr(e,{}),p=_u(-l/2,-s/2,l,s,s/2),m=f.path(p,d);u=i.insert(()=>m,":first-child"),u.attr("class","basic label-container").attr("style",h)}else u=i.insert("rect",":first-child"),u.attr("class","basic label-container").attr("style",n).attr("rx",s/2).attr("ry",s/2).attr("x",-l/2).attr("y",-s/2).attr("width",l).attr("height",s);return ar(e,u),e.intersect=function(f){return sr.rect(e,f)},i},"stadium")});var OK,PK=R(()=>{"use strict";Zt();rr();ri();H5();hi();ki();ti();_t();Sv();ut();OK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await gc(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(yr(de()?.flowchart?.htmlLabels)){let A=f.children[0],L=Ge(f);d=A.getBoundingClientRect(),L.attr("width",d.width),L.attr("height",d.height)}V.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await gc(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=Ge(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;Ge(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),Ge(f).attr("transform","translate( "+(d.width(V.debug("Rough node insert CXC",M),N),":first-child"),E=a.insert(()=>(V.debug("Rough node insert CXC",M),M),":first-child")}else E=s.insert("rect",":first-child"),_=s.insert("line"),E.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),_.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return ar(e,E),e.intersect=function(A){return sr.rect(e,A)},a},"rectWithTitle")});function Ma(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var Du=R(()=>{"use strict";o(Ma,"insertPolygonShape")});var BK,FK=R(()=>{"use strict";ri();hi();ki();ti();Du();BK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Jt.svg(i),m=Fr(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",b),ar(e,x)}else{let p=Ma(i,l,u,d);n&&p.attr("style",n),ar(e,p)}return e.intersect=function(p){return sr.polygon(e,d,p)},i},"subroutine")});var ZSe,JSe,eAe,zK,$K=R(()=>{"use strict";ri();hi();ki();ti();ZSe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),JSe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),eAe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),zK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.width+e.padding,l=s/2,u=l/(2.5+s/50),h=a.height+u+e.padding,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Jt.svg(i),m=JSe(0,0,s,h,l,u),g=eAe(0,u,s,h,l,u),y=p.path(m,Fr(e,{})),v=p.path(g,Fr(e,{fill:"none"}));f=i.insert(()=>v,":first-child"),f=i.insert(()=>y,":first-child"),f.attr("class","basic label-container"),d&&f.attr("style",d)}else{let p=ZSe(0,0,s,h,l,u);f=i.insert("path",":first-child").attr("d",p).attr("class","basic label-container").attr("style",d).attr("style",n)}return f.attr("label-offset-y",u),f.attr("transform",`translate(${-s/2}, ${-(h/2+u)})`),ar(e,f),e.intersect=function(p){let m=sr.rect(e,p),g=m.x-(e.x??0);if(l!=0&&(Math.abs(g)<(e.width??0)/2||Math.abs(g)==(e.width??0)/2&&Math.abs(m.y-(e.y??0))>(e.height??0)/2-u)){let y=u*u*(1-g*g/(l*l));y>0&&(y=Math.sqrt(y)),y=u-y,p.y-(e.y??0)>0&&(y=-y),m.y+=y}return m},i},"cylinder")});var GK,VK=R(()=>{"use strict";ut();ri();hi();ki();ti();GK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await zr(t,e,En(e)),l=a.width/2+s,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Jt.svg(i),d=Fr(e,{}),p=f.circle(0,0,l*2,d);u=i.insert(()=>p,":first-child"),u.attr("class","basic label-container").attr("style",h)}else u=i.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",l).attr("cx",0).attr("cy",0);return ar(e,u),e.intersect=function(f){return V.info("Circle intersect",e,l,f),sr.circle(e,l,f)},i},"circle")});var UK,HK=R(()=>{"use strict";ut();ri();hi();ki();ti();UK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await zr(t,e,En(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Jt.svg(i),m=Fr(e,{roughness:.2,strokeWidth:2.5}),g=Fr(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",e.cssClasses).attr("style",d),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return ar(e,f),e.intersect=function(p){return V.info("DoubleCircle intersect",e,u,p),sr.circle(e,u,p)},i},"doublecircle")});var tAe,YK,WK=R(()=>{"use strict";ri();hi();ki();ti();Du();tAe=o((t,e,r,n)=>[`M${t-n/2},${e}`,`L${t+r},${e}`,`L${t+r},${e-n}`,`L${t-n/2},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createPolygonPathD"),YK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-l/2,y:0},{x:s,y:0},{x:s,y:-l},{x:-l/2,y:-l},{x:0,y:-l/2}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Jt.svg(i),p=Fr(e,{}),m=tAe(0,0,s,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ma(i,s,l,u);return n&&h.attr("style",n),e.width=s+l,e.height=l,ar(e,h),e.intersect=function(d){return sr.polygon(e,u,d)},i},"rect_left_inv_arrow")});var rAe,qK,XK=R(()=>{"use strict";ut();ri();hi();ki();ti();Du();rAe=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD"),qK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Jt.svg(i),m=Fr(e,{}),g=rAe(0,0,u),y=p.path(g,m);f=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`),d&&f.attr("style",d)}else f=Ma(i,u,u,h);return n&&f.attr("style",n),ar(e,f),e.intersect=function(p){return V.debug(`APA12 Intersect called SPLIT point:`,p,` node: `,e,` -res:`,tr.polygon(e,h,p)),tr.polygon(e,h,p)},i},"question")});var OEe,Cj,Sj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();OEe=s((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD"),Cj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=4,l=a.height+e.padding,u=l/o,h=a.width+2*u+e.padding,f=[{x:u,y:0},{x:h-u,y:0},{x:h,y:-l/2},{x:h-u,y:-l},{x:u,y:-l},{x:0,y:-l/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Ht.svg(i),g=Rr(e,{}),y=OEe(0,0,h,l,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${l/2})`),p&&d.attr("style",p)}else d=Ea(i,h,l,f);return n&&d.attr("style",n),e.width=h,e.height=l,er(e,d),e.intersect=function(m){return tr.polygon(e,f,m)},i},"hexagon")});var PEe,_j,Aj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();PEe=s((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createLeanRightPathD"),_j=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:o-l/6,y:0},{x:o+2*l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=PEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"lean_right")});var BEe,Lj,Dj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();BEe=s((t,e,r,n)=>[`M${t+2*n/6},${e}`,`L${t+r+n/6},${e}`,`L${t+r-2*n/6},${e-n}`,`L${t-n/6},${e-n}`,"Z"].join(" "),"createLeanLeftPathD"),Lj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:2*l/6,y:0},{x:o+l/6,y:0},{x:o-2*l/6,y:-l},{x:-l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=BEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"lean_left")});var FEe,Rj,Mj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();FEe=s((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r+2*n/6},${e}`,`L${t+r-n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createTrapezoidPathD"),Rj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:o+2*l/6,y:0},{x:o-l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=FEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"trapezoid")});var zEe,Ij,Nj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();zEe=s((t,e,r,n)=>[`M${t+n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t-2*n/6},${e-n}`,"Z"].join(" "),"createInvertedTrapezoidPathD"),Ij=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:l/6,y:0},{x:o-l/6,y:0},{x:o+2*l/6,y:-l},{x:-2*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=zEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"inv_trapezoid")});var Oj,Pj=_(()=>{"use strict";uv();Xn();ii();Oj=s(async(t,e)=>{let{shapeSvg:r}=await Mr(t,e,"label"),n=r.insert("rect",":first-child");return n.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),er(e,n),e.intersect=function(o){return tr.rect(e,o)},r},"labelRect")});var Bj,tm,C5,Fj,zj,u9,h9=_(()=>{"use strict";it();jX();QX();JX();tj();nj();ij();sj();lj();uj();fj();gt();pj();gj();vj();bj();wj();Ej();Sj();Aj();Dj();Mj();Nj();Pj();Bj={state:XX,stateStart:ej,stateEnd:rj,fork:c9,join:c9,choice:aj,note:oj,roundedRect:KX,rectWithTitle:hj,squareRect:ZX,stadium:cj,subroutine:dj,cylinder:mj,circle:yj,doublecircle:xj,odd:kj,diamond:Tj,hexagon:Cj,lean_right:_j,lean_left:Lj,trapezoid:Rj,inv_trapezoid:Ij,labelRect:Oj},tm=new Map,C5=s(async(t,e,r)=>{let n,i;if(e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect"),e.link){let a;le().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await Bj[e.shape](n,e,r)}else i=await Bj[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),tm.set(e.id,n),e.haveCallback&&tm.get(e.id).attr("class",tm.get(e.id).attr("class")+" clickable"),n},"insertNode"),Fj=s((t,e)=>{tm.set(e.id,t)},"setNodeElem"),zj=s(()=>{tm.clear()},"clear"),u9=s(t=>{let e=tm.get(t.id);V.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var $j,Gj=_(()=>{"use strict";zs();Qt();it();i9();s9();o9();h9();Xn();pr();$j={common:$e,getConfig:_r,insertCluster:p5,insertEdge:w5,insertEdgeLabel:b5,insertMarkers:T5,insertNode:C5,interpolateToCurve:Wp,labelHelper:Mr,log:V,positionEdgeLabel:k5}});function GEe(t){return typeof t=="symbol"||Fn(t)&&na(t)==$Ee}var $Ee,Zs,bd=_(()=>{"use strict";fu();ko();$Ee="[object Symbol]";s(GEe,"isSymbol");Zs=GEe});function VEe(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";s(VEe,"arrayMap");bs=VEe});function qj(t){if(typeof t=="string")return t;if(ct(t))return bs(t,qj)+"";if(Zs(t))return Uj?Uj.call(t):"";var e=t+"";return e=="0"&&1/t==-UEe?"-0":e}var UEe,Vj,Uj,Wj,Hj=_(()=>{"use strict";sd();kd();Dn();bd();UEe=1/0,Vj=qi?qi.prototype:void 0,Uj=Vj?Vj.toString:void 0;s(qj,"baseToString");Wj=qj});function WEe(t){for(var e=t.length;e--&&qEe.test(t.charAt(e)););return e}var qEe,Yj,Xj=_(()=>{"use strict";qEe=/\s/;s(WEe,"trimmedEndIndex");Yj=WEe});function YEe(t){return t&&t.slice(0,Yj(t)+1).replace(HEe,"")}var HEe,jj,Kj=_(()=>{"use strict";Xj();HEe=/^\s+/;s(YEe,"baseTrim");jj=YEe});function ZEe(t){if(typeof t=="number")return t;if(Zs(t))return Qj;if(on(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=on(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=jj(t);var r=jEe.test(t);return r||KEe.test(t)?QEe(t.slice(2),r?2:8):XEe.test(t)?Qj:+t}var Qj,XEe,jEe,KEe,QEe,Zj,Jj=_(()=>{"use strict";Kj();Ws();bd();Qj=NaN,XEe=/^[-+]0x[0-9a-f]+$/i,jEe=/^0b[01]+$/i,KEe=/^0o[0-7]+$/i,QEe=parseInt;s(ZEe,"toNumber");Zj=ZEe});function eCe(t){if(!t)return t===0?t:0;if(t=Zj(t),t===eK||t===-eK){var e=t<0?-1:1;return e*JEe}return t===t?t:0}var eK,JEe,rm,f9=_(()=>{"use strict";Jj();eK=1/0,JEe=17976931348623157e292;s(eCe,"toFinite");rm=eCe});function tCe(t){var e=rm(t),r=e%1;return e===e?r?e-r:e:0}var sc,nm=_(()=>{"use strict";f9();s(tCe,"toInteger");sc=tCe});var rCe,S5,tK=_(()=>{"use strict";Sh();xo();rCe=fs(Wn,"WeakMap"),S5=rCe});function nCe(){}var zn,d9=_(()=>{"use strict";s(nCe,"noop");zn=nCe});function iCe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";s(iCe,"arrayEach");_5=iCe});function aCe(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";s(aCe,"baseFindIndex");A5=aCe});function sCe(t){return t!==t}var rK,nK=_(()=>{"use strict";s(sCe,"baseIsNaN");rK=sCe});function oCe(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";s(oCe,"strictIndexOf");iK=oCe});function lCe(t,e,r){return e===e?iK(t,e,r):A5(t,rK,r)}var im,L5=_(()=>{"use strict";m9();nK();aK();s(lCe,"baseIndexOf");im=lCe});function cCe(t,e){var r=t==null?0:t.length;return!!r&&im(t,e,0)>-1}var D5,g9=_(()=>{"use strict";L5();s(cCe,"arrayIncludes");D5=cCe});var uCe,sK,oK=_(()=>{"use strict";X_();uCe=L3(Object.keys,Object),sK=uCe});function dCe(t){if(!ec(t))return sK(t);var e=[];for(var r in Object(t))fCe.call(t,r)&&r!="constructor"&&e.push(r);return e}var hCe,fCe,am,R5=_(()=>{"use strict";zp();oK();hCe=Object.prototype,fCe=hCe.hasOwnProperty;s(dCe,"baseKeys");am=dCe});function pCe(t){return Hn(t)?N3(t):am(t)}var kr,oc=_(()=>{"use strict";J_();R5();wo();s(pCe,"keys");kr=pCe});var mCe,gCe,yCe,aa,lK=_(()=>{"use strict";Up();hd();nA();wo();zp();oc();mCe=Object.prototype,gCe=mCe.hasOwnProperty,yCe=B3(function(t,e){if(ec(e)||Hn(e)){Co(e,kr(e),t);return}for(var r in e)gCe.call(e,r)&&tc(t,r,e[r])}),aa=yCe});function bCe(t,e){if(ct(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Zs(t)?!0:xCe.test(t)||!vCe.test(t)||e!=null&&t in Object(e)}var vCe,xCe,sm,M5=_(()=>{"use strict";Dn();bd();vCe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xCe=/^\w*$/;s(bCe,"isKey");sm=bCe});function wCe(t){var e=Rp(t,function(n){return r.size===kCe&&r.clear(),n}),r=e.cache;return e}var kCe,cK,uK=_(()=>{"use strict";G_();kCe=500;s(wCe,"memoizeCapped");cK=wCe});var TCe,ECe,CCe,hK,fK=_(()=>{"use strict";uK();TCe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ECe=/\\(\\)?/g,CCe=cK(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(TCe,function(r,n,i,a){e.push(i?a.replace(ECe,"$1"):n||r)}),e}),hK=CCe});function SCe(t){return t==null?"":Wj(t)}var I5,y9=_(()=>{"use strict";Hj();s(SCe,"toString");I5=SCe});function _Ce(t,e){return ct(t)?t:sm(t,e)?[t]:hK(I5(t))}var Fh,hv=_(()=>{"use strict";Dn();M5();fK();y9();s(_Ce,"castPath");Fh=_Ce});function LCe(t){if(typeof t=="string"||Zs(t))return t;var e=t+"";return e=="0"&&1/t==-ACe?"-0":e}var ACe,lc,om=_(()=>{"use strict";bd();ACe=1/0;s(LCe,"toKey");lc=LCe});function DCe(t,e){e=Fh(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";hv();om();s(DCe,"baseGet");zh=DCe});function RCe(t,e,r){var n=t==null?void 0:zh(t,e);return n===void 0?r:n}var dK,pK=_(()=>{"use strict";fv();s(RCe,"get");dK=RCe});function MCe(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";s(MCe,"arrayPush");lm=MCe});function ICe(t){return ct(t)||cl(t)||!!(mK&&t&&t[mK])}var mK,gK,yK=_(()=>{"use strict";sd();$p();Dn();mK=qi?qi.isConcatSpreadable:void 0;s(ICe,"isFlattenable");gK=ICe});function vK(t,e,r,n,i){var a=-1,o=t.length;for(r||(r=gK),i||(i=[]);++a0&&r(l)?e>1?vK(l,e-1,r,n,i):lm(i,l):n||(i[i.length]=l)}return i}var cc,cm=_(()=>{"use strict";N5();yK();s(vK,"baseFlatten");cc=vK});function NCe(t){var e=t==null?0:t.length;return e?cc(t,1):[]}var Ir,O5=_(()=>{"use strict";cm();s(NCe,"flatten");Ir=NCe});function OCe(t){return P3(O3(t,void 0,Ir),t+"")}var xK,bK=_(()=>{"use strict";O5();eA();rA();s(OCe,"flatRest");xK=OCe});function PCe(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";s(PCe,"baseSlice");P5=PCe});function WCe(t){return qCe.test(t)}var BCe,FCe,zCe,$Ce,GCe,VCe,UCe,qCe,kK,wK=_(()=>{"use strict";BCe="\\ud800-\\udfff",FCe="\\u0300-\\u036f",zCe="\\ufe20-\\ufe2f",$Ce="\\u20d0-\\u20ff",GCe=FCe+zCe+$Ce,VCe="\\ufe0e\\ufe0f",UCe="\\u200d",qCe=RegExp("["+UCe+BCe+GCe+VCe+"]");s(WCe,"hasUnicode");kK=WCe});function HCe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";s(HCe,"arrayReduce");TK=HCe});function YCe(t,e){return t&&Co(e,kr(e),t)}var CK,SK=_(()=>{"use strict";hd();oc();s(YCe,"baseAssign");CK=YCe});function XCe(t,e){return t&&Co(e,ds(e),t)}var _K,AK=_(()=>{"use strict";hd();Ih();s(XCe,"baseAssignIn");_K=XCe});function jCe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";s(jCe,"arrayFilter");um=jCe});function KCe(){return[]}var F5,x9=_(()=>{"use strict";s(KCe,"stubArray");F5=KCe});var QCe,ZCe,LK,JCe,hm,z5=_(()=>{"use strict";B5();x9();QCe=Object.prototype,ZCe=QCe.propertyIsEnumerable,LK=Object.getOwnPropertySymbols,JCe=LK?function(t){return t==null?[]:(t=Object(t),um(LK(t),function(e){return ZCe.call(t,e)}))}:F5,hm=JCe});function eSe(t,e){return Co(t,hm(t),e)}var DK,RK=_(()=>{"use strict";hd();z5();s(eSe,"copySymbols");DK=eSe});var tSe,rSe,$5,b9=_(()=>{"use strict";N5();D3();z5();x9();tSe=Object.getOwnPropertySymbols,rSe=tSe?function(t){for(var e=[];t;)lm(e,hm(t)),t=Fp(t);return e}:F5,$5=rSe});function nSe(t,e){return Co(t,$5(t),e)}var MK,IK=_(()=>{"use strict";hd();b9();s(nSe,"copySymbolsIn");MK=nSe});function iSe(t,e,r){var n=e(t);return ct(t)?n:lm(n,r(t))}var G5,k9=_(()=>{"use strict";N5();Dn();s(iSe,"baseGetAllKeys");G5=iSe});function aSe(t){return G5(t,kr,hm)}var dv,w9=_(()=>{"use strict";k9();z5();oc();s(aSe,"getAllKeys");dv=aSe});function sSe(t){return G5(t,ds,$5)}var V5,T9=_(()=>{"use strict";k9();b9();Ih();s(sSe,"getAllKeysIn");V5=sSe});var oSe,U5,NK=_(()=>{"use strict";Sh();xo();oSe=fs(Wn,"DataView"),U5=oSe});var lSe,q5,OK=_(()=>{"use strict";Sh();xo();lSe=fs(Wn,"Promise"),q5=lSe});var cSe,$h,E9=_(()=>{"use strict";Sh();xo();cSe=fs(Wn,"Set"),$h=cSe});var PK,uSe,BK,FK,zK,$K,hSe,fSe,dSe,pSe,mSe,wd,Js,Td=_(()=>{"use strict";NK();w3();OK();E9();tK();fu();F_();PK="[object Map]",uSe="[object Object]",BK="[object Promise]",FK="[object Set]",zK="[object WeakMap]",$K="[object DataView]",hSe=du(U5),fSe=du(Lh),dSe=du(q5),pSe=du($h),mSe=du(S5),wd=na;(U5&&wd(new U5(new ArrayBuffer(1)))!=$K||Lh&&wd(new Lh)!=PK||q5&&wd(q5.resolve())!=BK||$h&&wd(new $h)!=FK||S5&&wd(new S5)!=zK)&&(wd=s(function(t){var e=na(t),r=e==uSe?t.constructor:void 0,n=r?du(r):"";if(n)switch(n){case hSe:return $K;case fSe:return PK;case dSe:return BK;case pSe:return FK;case mSe:return zK}return e},"getTag"));Js=wd});function vSe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&ySe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var gSe,ySe,GK,VK=_(()=>{"use strict";gSe=Object.prototype,ySe=gSe.hasOwnProperty;s(vSe,"initCloneArray");GK=vSe});function xSe(t,e){var r=e?Bp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var UK,qK=_(()=>{"use strict";S3();s(xSe,"cloneDataView");UK=xSe});function kSe(t){var e=new t.constructor(t.source,bSe.exec(t));return e.lastIndex=t.lastIndex,e}var bSe,WK,HK=_(()=>{"use strict";bSe=/\w*$/;s(kSe,"cloneRegExp");WK=kSe});function wSe(t){return XK?Object(XK.call(t)):{}}var YK,XK,jK,KK=_(()=>{"use strict";sd();YK=qi?qi.prototype:void 0,XK=YK?YK.valueOf:void 0;s(wSe,"cloneSymbol");jK=wSe});function VSe(t,e,r){var n=t.constructor;switch(e){case RSe:return Bp(t);case TSe:case ESe:return new n(+t);case MSe:return UK(t,r);case ISe:case NSe:case OSe:case PSe:case BSe:case FSe:case zSe:case $Se:case GSe:return _3(t,r);case CSe:return new n;case SSe:case LSe:return new n(t);case _Se:return WK(t);case ASe:return new n;case DSe:return jK(t)}}var TSe,ESe,CSe,SSe,_Se,ASe,LSe,DSe,RSe,MSe,ISe,NSe,OSe,PSe,BSe,FSe,zSe,$Se,GSe,QK,ZK=_(()=>{"use strict";S3();qK();HK();KK();H_();TSe="[object Boolean]",ESe="[object Date]",CSe="[object Map]",SSe="[object Number]",_Se="[object RegExp]",ASe="[object Set]",LSe="[object String]",DSe="[object Symbol]",RSe="[object ArrayBuffer]",MSe="[object DataView]",ISe="[object Float32Array]",NSe="[object Float64Array]",OSe="[object Int8Array]",PSe="[object Int16Array]",BSe="[object Int32Array]",FSe="[object Uint8Array]",zSe="[object Uint8ClampedArray]",$Se="[object Uint16Array]",GSe="[object Uint32Array]";s(VSe,"initCloneByTag");QK=VSe});function qSe(t){return Fn(t)&&Js(t)==USe}var USe,JK,eQ=_(()=>{"use strict";Td();ko();USe="[object Map]";s(qSe,"baseIsMap");JK=qSe});var tQ,WSe,rQ,nQ=_(()=>{"use strict";eQ();ud();Uy();tQ=Eo&&Eo.isMap,WSe=tQ?To(tQ):JK,rQ=WSe});function YSe(t){return Fn(t)&&Js(t)==HSe}var HSe,iQ,aQ=_(()=>{"use strict";Td();ko();HSe="[object Set]";s(YSe,"baseIsSet");iQ=YSe});var sQ,XSe,oQ,lQ=_(()=>{"use strict";aQ();ud();Uy();sQ=Eo&&Eo.isSet,XSe=sQ?To(sQ):iQ,oQ=XSe});function W5(t,e,r,n,i,a){var o,l=e&jSe,u=e&KSe,h=e&QSe;if(r&&(o=i?r(t,n,i,a):r(t)),o!==void 0)return o;if(!on(t))return t;var f=ct(t);if(f){if(o=GK(t),!l)return A3(t,o)}else{var d=Js(t),p=d==uQ||d==r8e;if(ul(t))return C3(t,l);if(d==hQ||d==cQ||p&&!i){if(o=u||p?{}:R3(t),!l)return u?MK(t,_K(o,t)):DK(t,CK(o,t))}else{if(!yn[d])return i?t:{};o=QK(t,d,l)}}a||(a=new Zl);var m=a.get(t);if(m)return m;a.set(t,o),oQ(t)?t.forEach(function(v){o.add(W5(v,e,r,v,t,a))}):rQ(t)&&t.forEach(function(v,x){o.set(x,W5(v,e,r,x,t,a))});var g=h?u?V5:dv:u?ds:kr,y=f?void 0:g(t);return _5(y||t,function(v,x){y&&(x=v,v=t[x]),tc(o,x,W5(v,e,r,x,t,a))}),o}var jSe,KSe,QSe,cQ,ZSe,JSe,e8e,t8e,uQ,r8e,n8e,i8e,hQ,a8e,s8e,o8e,l8e,c8e,u8e,h8e,f8e,d8e,p8e,m8e,g8e,y8e,v8e,x8e,b8e,yn,H5,C9=_(()=>{"use strict";$y();p9();Up();SK();AK();q_();Y_();RK();IK();w9();T9();Td();VK();ZK();j_();Dn();Vp();nQ();Ws();lQ();oc();Ih();jSe=1,KSe=2,QSe=4,cQ="[object Arguments]",ZSe="[object Array]",JSe="[object Boolean]",e8e="[object Date]",t8e="[object Error]",uQ="[object Function]",r8e="[object GeneratorFunction]",n8e="[object Map]",i8e="[object Number]",hQ="[object Object]",a8e="[object RegExp]",s8e="[object Set]",o8e="[object String]",l8e="[object Symbol]",c8e="[object WeakMap]",u8e="[object ArrayBuffer]",h8e="[object DataView]",f8e="[object Float32Array]",d8e="[object Float64Array]",p8e="[object Int8Array]",m8e="[object Int16Array]",g8e="[object Int32Array]",y8e="[object Uint8Array]",v8e="[object Uint8ClampedArray]",x8e="[object Uint16Array]",b8e="[object Uint32Array]",yn={};yn[cQ]=yn[ZSe]=yn[u8e]=yn[h8e]=yn[JSe]=yn[e8e]=yn[f8e]=yn[d8e]=yn[p8e]=yn[m8e]=yn[g8e]=yn[n8e]=yn[i8e]=yn[hQ]=yn[a8e]=yn[s8e]=yn[o8e]=yn[l8e]=yn[y8e]=yn[v8e]=yn[x8e]=yn[b8e]=!0;yn[t8e]=yn[uQ]=yn[c8e]=!1;s(W5,"baseClone");H5=W5});function w8e(t){return H5(t,k8e)}var k8e,Hr,S9=_(()=>{"use strict";C9();k8e=4;s(w8e,"clone");Hr=w8e});function C8e(t){return H5(t,T8e|E8e)}var T8e,E8e,_9,fQ=_(()=>{"use strict";C9();T8e=1,E8e=4;s(C8e,"cloneDeep");_9=C8e});function S8e(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";s(S8e,"compact");uc=S8e});function A8e(t){return this.__data__.set(t,_8e),this}var _8e,pQ,mQ=_(()=>{"use strict";_8e="__lodash_hash_undefined__";s(A8e,"setCacheAdd");pQ=A8e});function L8e(t){return this.__data__.has(t)}var gQ,yQ=_(()=>{"use strict";s(L8e,"setCacheHas");gQ=L8e});function Y5(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new ld;++e{"use strict";T3();mQ();yQ();s(Y5,"SetCache");Y5.prototype.add=Y5.prototype.push=pQ;Y5.prototype.has=gQ;fm=Y5});function D8e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";s(D8e,"arraySome");j5=D8e});function R8e(t,e){return t.has(e)}var dm,K5=_(()=>{"use strict";s(R8e,"cacheHas");dm=R8e});function N8e(t,e,r,n,i,a){var o=r&M8e,l=t.length,u=e.length;if(l!=u&&!(o&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&I8e?new fm:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";X5();A9();K5();M8e=1,I8e=2;s(N8e,"equalArrays");Q5=N8e});function O8e(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var vQ,xQ=_(()=>{"use strict";s(O8e,"mapToArray");vQ=O8e});function P8e(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var pm,Z5=_(()=>{"use strict";s(P8e,"setToArray");pm=P8e});function K8e(t,e,r,n,i,a,o){switch(r){case j8e:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case X8e:return!(t.byteLength!=e.byteLength||!a(new Pp(t),new Pp(e)));case z8e:case $8e:case U8e:return bo(+t,+e);case G8e:return t.name==e.name&&t.message==e.message;case q8e:case H8e:return t==e+"";case V8e:var l=vQ;case W8e:var u=n&B8e;if(l||(l=pm),t.size!=e.size&&!u)return!1;var h=o.get(t);if(h)return h==e;n|=F8e,o.set(t,e);var f=Q5(l(t),l(e),n,i,a,o);return o.delete(t),f;case Y8e:if(D9)return D9.call(t)==D9.call(e)}return!1}var B8e,F8e,z8e,$8e,G8e,V8e,U8e,q8e,W8e,H8e,Y8e,X8e,j8e,bQ,D9,kQ,wQ=_(()=>{"use strict";sd();W_();od();L9();xQ();Z5();B8e=1,F8e=2,z8e="[object Boolean]",$8e="[object Date]",G8e="[object Error]",V8e="[object Map]",U8e="[object Number]",q8e="[object RegExp]",W8e="[object Set]",H8e="[object String]",Y8e="[object Symbol]",X8e="[object ArrayBuffer]",j8e="[object DataView]",bQ=qi?qi.prototype:void 0,D9=bQ?bQ.valueOf:void 0;s(K8e,"equalByTag");kQ=K8e});function e_e(t,e,r,n,i,a){var o=r&Q8e,l=dv(t),u=l.length,h=dv(e),f=h.length;if(u!=f&&!o)return!1;for(var d=u;d--;){var p=l[d];if(!(o?p in e:J8e.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=o;++d{"use strict";w9();Q8e=1,Z8e=Object.prototype,J8e=Z8e.hasOwnProperty;s(e_e,"equalObjects");TQ=e_e});function n_e(t,e,r,n,i,a){var o=ct(t),l=ct(e),u=o?SQ:Js(t),h=l?SQ:Js(e);u=u==CQ?J5:u,h=h==CQ?J5:h;var f=u==J5,d=h==J5,p=u==h;if(p&&ul(t)){if(!ul(e))return!1;o=!0,f=!1}if(p&&!f)return a||(a=new Zl),o||Rh(t)?Q5(t,e,r,n,i,a):kQ(t,e,u,r,n,i,a);if(!(r&t_e)){var m=f&&_Q.call(t,"__wrapped__"),g=d&&_Q.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new Zl),i(y,v,r,n,a)}}return p?(a||(a=new Zl),TQ(t,e,r,n,i,a)):!1}var t_e,CQ,SQ,J5,r_e,_Q,AQ,LQ=_(()=>{"use strict";$y();L9();wQ();EQ();Td();Dn();Vp();qy();t_e=1,CQ="[object Arguments]",SQ="[object Array]",J5="[object Object]",r_e=Object.prototype,_Q=r_e.hasOwnProperty;s(n_e,"baseIsEqualDeep");AQ=n_e});function DQ(t,e,r,n,i){return t===e?!0:t==null||e==null||!Fn(t)&&!Fn(e)?t!==t&&e!==e:AQ(t,e,r,n,DQ,i)}var ek,R9=_(()=>{"use strict";LQ();ko();s(DQ,"baseIsEqual");ek=DQ});function s_e(t,e,r,n){var i=r.length,a=i,o=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(o&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";$y();R9();i_e=1,a_e=2;s(s_e,"baseIsMatch");RQ=s_e});function o_e(t){return t===t&&!on(t)}var tk,M9=_(()=>{"use strict";Ws();s(o_e,"isStrictComparable");tk=o_e});function l_e(t){for(var e=kr(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,tk(i)]}return e}var IQ,NQ=_(()=>{"use strict";M9();oc();s(l_e,"getMatchData");IQ=l_e});function c_e(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var rk,I9=_(()=>{"use strict";s(c_e,"matchesStrictComparable");rk=c_e});function u_e(t){var e=IQ(t);return e.length==1&&e[0][2]?rk(e[0][0],e[0][1]):function(r){return r===t||RQ(r,t,e)}}var OQ,PQ=_(()=>{"use strict";MQ();NQ();I9();s(u_e,"baseMatches");OQ=u_e});function h_e(t,e){return t!=null&&e in Object(t)}var BQ,FQ=_(()=>{"use strict";s(h_e,"baseHasIn");BQ=h_e});function f_e(t,e,r){e=Fh(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";hv();$p();Dn();Hy();M3();om();s(f_e,"hasPath");nk=f_e});function d_e(t,e){return t!=null&&nk(t,e,BQ)}var ik,O9=_(()=>{"use strict";FQ();N9();s(d_e,"hasIn");ik=d_e});function g_e(t,e){return sm(t)&&tk(e)?rk(lc(t),e):function(r){var n=dK(r,t);return n===void 0&&n===e?ik(r,t):ek(e,n,p_e|m_e)}}var p_e,m_e,zQ,$Q=_(()=>{"use strict";R9();pK();O9();M5();M9();I9();om();p_e=1,m_e=2;s(g_e,"baseMatchesProperty");zQ=g_e});function y_e(t){return function(e){return e?.[t]}}var ak,P9=_(()=>{"use strict";s(y_e,"baseProperty");ak=y_e});function v_e(t){return function(e){return zh(e,t)}}var GQ,VQ=_(()=>{"use strict";fv();s(v_e,"basePropertyDeep");GQ=v_e});function x_e(t){return sm(t)?ak(lc(t)):GQ(t)}var UQ,qQ=_(()=>{"use strict";P9();VQ();M5();om();s(x_e,"property");UQ=x_e});function b_e(t){return typeof t=="function"?t:t==null?Wi:typeof t=="object"?ct(t)?zQ(t[0],t[1]):OQ(t):UQ(t)}var tn,Ua=_(()=>{"use strict";PQ();$Q();mu();Dn();qQ();s(b_e,"baseIteratee");tn=b_e});function k_e(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";s(k_e,"arrayAggregator");WQ=k_e});function w_e(t,e){return t&&Op(t,e,kr)}var mm,sk=_(()=>{"use strict";E3();oc();s(w_e,"baseForOwn");mm=w_e});function T_e(t,e){return function(r,n){if(r==null)return r;if(!Hn(r))return t(r,n);for(var i=r.length,a=e?i:-1,o=Object(r);(e?a--:++a{"use strict";wo();s(T_e,"createBaseEach");YQ=T_e});var E_e,ks,Gh=_(()=>{"use strict";sk();XQ();E_e=YQ(mm),ks=E_e});function C_e(t,e,r,n){return ks(t,function(i,a,o){e(n,i,r(i),o)}),n}var jQ,KQ=_(()=>{"use strict";Gh();s(C_e,"baseAggregator");jQ=C_e});function S_e(t,e){return function(r,n){var i=ct(r)?WQ:jQ,a=e?e():{};return i(r,t,tn(n,2),a)}}var QQ,ZQ=_(()=>{"use strict";HQ();KQ();Ua();Dn();s(S_e,"createAggregator");QQ=S_e});var __e,ok,JQ=_(()=>{"use strict";xo();__e=s(function(){return Wn.Date.now()},"now"),ok=__e});var eZ,A_e,L_e,Vh,tZ=_(()=>{"use strict";qp();od();fd();Ih();eZ=Object.prototype,A_e=eZ.hasOwnProperty,L_e=rc(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Hs(e[0],e[1],i)&&(n=1);++r{"use strict";s(D_e,"arrayIncludesWith");lk=D_e});function M_e(t,e,r,n){var i=-1,a=D5,o=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=bs(e,To(r))),n?(a=lk,o=!1):e.length>=R_e&&(a=dm,o=!1,e=new fm(e));e:for(;++i{"use strict";X5();g9();B9();kd();ud();K5();R_e=200;s(M_e,"baseDifference");rZ=M_e});var I_e,Uh,iZ=_(()=>{"use strict";nZ();cm();qp();I3();I_e=rc(function(t,e){return cd(t)?rZ(t,cc(e,1,cd,!0)):[]}),Uh=I_e});function N_e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var sa,aZ=_(()=>{"use strict";s(N_e,"last");sa=N_e});function O_e(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:sc(e),P5(t,e<0?0:e,n)):[]}var ai,sZ=_(()=>{"use strict";v9();nm();s(O_e,"drop");ai=O_e});function P_e(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:sc(e),e=n-e,P5(t,0,e<0?0:e)):[]}var wu,oZ=_(()=>{"use strict";v9();nm();s(P_e,"dropRight");wu=P_e});function B_e(t){return typeof t=="function"?t:Wi}var gm,ck=_(()=>{"use strict";mu();s(B_e,"castFunction");gm=B_e});function F_e(t,e){var r=ct(t)?_5:ks;return r(t,gm(e))}var be,uk=_(()=>{"use strict";p9();Gh();ck();Dn();s(F_e,"forEach");be=F_e});var lZ=_(()=>{"use strict";uk()});function z_e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";s(z_e,"arrayEvery");cZ=z_e});function $_e(t,e){var r=!0;return ks(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var hZ,fZ=_(()=>{"use strict";Gh();s($_e,"baseEvery");hZ=$_e});function G_e(t,e,r){var n=ct(t)?cZ:hZ;return r&&Hs(t,e,r)&&(e=void 0),n(t,tn(e,3))}var Ca,dZ=_(()=>{"use strict";uZ();fZ();Ua();Dn();fd();s(G_e,"every");Ca=G_e});function V_e(t,e){var r=[];return ks(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var hk,F9=_(()=>{"use strict";Gh();s(V_e,"baseFilter");hk=V_e});function U_e(t,e){var r=ct(t)?um:hk;return r(t,tn(e,3))}var Nr,z9=_(()=>{"use strict";B5();F9();Ua();Dn();s(U_e,"filter");Nr=U_e});function q_e(t){return function(e,r,n){var i=Object(e);if(!Hn(e)){var a=tn(r,3);e=kr(e),r=s(function(l){return a(i[l],l,i)},"predicate")}var o=t(e,r,n);return o>-1?i[a?e[o]:o]:void 0}}var pZ,mZ=_(()=>{"use strict";Ua();wo();oc();s(q_e,"createFind");pZ=q_e});function H_e(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:sc(r);return i<0&&(i=W_e(n+i,0)),A5(t,tn(e,3),i)}var W_e,gZ,yZ=_(()=>{"use strict";m9();Ua();nm();W_e=Math.max;s(H_e,"findIndex");gZ=H_e});var Y_e,qa,vZ=_(()=>{"use strict";mZ();yZ();Y_e=pZ(gZ),qa=Y_e});function X_e(t){return t&&t.length?t[0]:void 0}var Yi,xZ=_(()=>{"use strict";s(X_e,"head");Yi=X_e});var bZ=_(()=>{"use strict";xZ()});function j_e(t,e){var r=-1,n=Hn(t)?Array(t.length):[];return ks(t,function(i,a,o){n[++r]=e(i,a,o)}),n}var fk,$9=_(()=>{"use strict";Gh();wo();s(j_e,"baseMap");fk=j_e});function K_e(t,e){var r=ct(t)?bs:fk;return r(t,tn(e,3))}var Ge,ym=_(()=>{"use strict";kd();Ua();$9();Dn();s(K_e,"map");Ge=K_e});function Q_e(t,e){return cc(Ge(t,e),1)}var oa,G9=_(()=>{"use strict";cm();ym();s(Q_e,"flatMap");oa=Q_e});function Z_e(t,e){return t==null?t:Op(t,gm(e),ds)}var V9,kZ=_(()=>{"use strict";E3();ck();Ih();s(Z_e,"forIn");V9=Z_e});function J_e(t,e){return t&&mm(t,gm(e))}var U9,wZ=_(()=>{"use strict";sk();ck();s(J_e,"forOwn");U9=J_e});var eAe,tAe,rAe,q9,TZ=_(()=>{"use strict";Np();ZQ();eAe=Object.prototype,tAe=eAe.hasOwnProperty,rAe=QQ(function(t,e,r){tAe.call(t,r)?t[r].push(e):Jl(t,r,[e])}),q9=rAe});function nAe(t,e){return t>e}var EZ,CZ=_(()=>{"use strict";s(nAe,"baseGt");EZ=nAe});function sAe(t,e){return t!=null&&aAe.call(t,e)}var iAe,aAe,SZ,_Z=_(()=>{"use strict";iAe=Object.prototype,aAe=iAe.hasOwnProperty;s(sAe,"baseHas");SZ=sAe});function oAe(t,e){return t!=null&&nk(t,e,SZ)}var Ve,AZ=_(()=>{"use strict";_Z();N9();s(oAe,"has");Ve=oAe});function cAe(t){return typeof t=="string"||!ct(t)&&Fn(t)&&na(t)==lAe}var lAe,si,dk=_(()=>{"use strict";fu();Dn();ko();lAe="[object String]";s(cAe,"isString");si=cAe});function uAe(t,e){return bs(e,function(r){return t[r]})}var LZ,DZ=_(()=>{"use strict";kd();s(uAe,"baseValues");LZ=uAe});function hAe(t){return t==null?[]:LZ(t,kr(t))}var nr,W9=_(()=>{"use strict";DZ();oc();s(hAe,"values");nr=hAe});function dAe(t,e,r,n){t=Hn(t)?t:nr(t),r=r&&!n?sc(r):0;var i=t.length;return r<0&&(r=fAe(i+r,0)),si(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&im(t,e,r)>-1}var fAe,Rn,RZ=_(()=>{"use strict";L5();wo();dk();nm();W9();fAe=Math.max;s(dAe,"includes");Rn=dAe});function mAe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:sc(r);return i<0&&(i=pAe(n+i,0)),im(t,e,i)}var pAe,pk,MZ=_(()=>{"use strict";L5();nm();pAe=Math.max;s(mAe,"indexOf");pk=mAe});function bAe(t){if(t==null)return!0;if(Hn(t)&&(ct(t)||typeof t=="string"||typeof t.splice=="function"||ul(t)||Rh(t)||cl(t)))return!t.length;var e=Js(t);if(e==gAe||e==yAe)return!t.size;if(ec(t))return!am(t).length;for(var r in t)if(xAe.call(t,r))return!1;return!0}var gAe,yAe,vAe,xAe,Vt,mk=_(()=>{"use strict";R5();Td();$p();Dn();wo();Vp();zp();qy();gAe="[object Map]",yAe="[object Set]",vAe=Object.prototype,xAe=vAe.hasOwnProperty;s(bAe,"isEmpty");Vt=bAe});function wAe(t){return Fn(t)&&na(t)==kAe}var kAe,IZ,NZ=_(()=>{"use strict";fu();ko();kAe="[object RegExp]";s(wAe,"baseIsRegExp");IZ=wAe});var OZ,TAe,_o,PZ=_(()=>{"use strict";NZ();ud();Uy();OZ=Eo&&Eo.isRegExp,TAe=OZ?To(OZ):IZ,_o=TAe});function EAe(t){return t===void 0}var jt,BZ=_(()=>{"use strict";s(EAe,"isUndefined");jt=EAe});function CAe(t,e){return t{"use strict";s(CAe,"baseLt");gk=CAe});function SAe(t,e){var r={};return e=tn(e,3),mm(t,function(n,i,a){Jl(r,i,e(n,i,a))}),r}var Ed,FZ=_(()=>{"use strict";Np();sk();Ua();s(SAe,"mapValues");Ed=SAe});function _Ae(t,e,r){for(var n=-1,i=t.length;++n{"use strict";bd();s(_Ae,"baseExtremum");vm=_Ae});function AAe(t){return t&&t.length?vm(t,Wi,EZ):void 0}var ws,zZ=_(()=>{"use strict";yk();CZ();mu();s(AAe,"max");ws=AAe});function LAe(t){return t&&t.length?vm(t,Wi,gk):void 0}var pl,Y9=_(()=>{"use strict";yk();H9();mu();s(LAe,"min");pl=LAe});function DAe(t,e){return t&&t.length?vm(t,tn(e,2),gk):void 0}var Cd,$Z=_(()=>{"use strict";yk();Ua();H9();s(DAe,"minBy");Cd=DAe});function MAe(t){if(typeof t!="function")throw new TypeError(RAe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var RAe,GZ,VZ=_(()=>{"use strict";RAe="Expected a function";s(MAe,"negate");GZ=MAe});function IAe(t,e,r,n){if(!on(t))return t;e=Fh(e,t);for(var i=-1,a=e.length,o=a-1,l=t;l!=null&&++i{"use strict";Up();hv();Hy();Ws();om();s(IAe,"baseSet");UZ=IAe});function NAe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";fv();qZ();hv();s(NAe,"basePickBy");vk=NAe});function OAe(t,e){if(t==null)return{};var r=bs(V5(t),function(n){return[n]});return e=tn(e),vk(t,r,function(n,i){return e(n,i[0])})}var Ts,WZ=_(()=>{"use strict";kd();Ua();X9();T9();s(OAe,"pickBy");Ts=OAe});function PAe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var HZ,YZ=_(()=>{"use strict";s(PAe,"baseSortBy");HZ=PAe});function BAe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=Zs(t),o=e!==void 0,l=e===null,u=e===e,h=Zs(e);if(!l&&!h&&!a&&t>e||a&&o&&u&&!l&&!h||n&&o&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";bd();s(BAe,"compareAscending");XZ=BAe});function FAe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,o=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var KZ,QZ=_(()=>{"use strict";jZ();s(FAe,"compareMultiple");KZ=FAe});function zAe(t,e,r){e.length?e=bs(e,function(a){return ct(a)?function(o){return zh(o,a.length===1?a[0]:a)}:a}):e=[Wi];var n=-1;e=bs(e,To(tn));var i=fk(t,function(a,o,l){var u=bs(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return HZ(i,function(a,o){return KZ(a,o,r)})}var ZZ,JZ=_(()=>{"use strict";kd();fv();Ua();$9();YZ();ud();QZ();mu();Dn();s(zAe,"baseOrderBy");ZZ=zAe});var $Ae,eJ,tJ=_(()=>{"use strict";P9();$Ae=ak("length"),eJ=$Ae});function ZAe(t){for(var e=rJ.lastIndex=0;rJ.test(t);)++e;return e}var nJ,GAe,VAe,UAe,qAe,WAe,HAe,j9,K9,YAe,iJ,aJ,sJ,XAe,oJ,lJ,jAe,KAe,QAe,rJ,cJ,uJ=_(()=>{"use strict";nJ="\\ud800-\\udfff",GAe="\\u0300-\\u036f",VAe="\\ufe20-\\ufe2f",UAe="\\u20d0-\\u20ff",qAe=GAe+VAe+UAe,WAe="\\ufe0e\\ufe0f",HAe="["+nJ+"]",j9="["+qAe+"]",K9="\\ud83c[\\udffb-\\udfff]",YAe="(?:"+j9+"|"+K9+")",iJ="[^"+nJ+"]",aJ="(?:\\ud83c[\\udde6-\\uddff]){2}",sJ="[\\ud800-\\udbff][\\udc00-\\udfff]",XAe="\\u200d",oJ=YAe+"?",lJ="["+WAe+"]?",jAe="(?:"+XAe+"(?:"+[iJ,aJ,sJ].join("|")+")"+lJ+oJ+")*",KAe=lJ+oJ+jAe,QAe="(?:"+[iJ+j9+"?",j9,aJ,sJ,HAe].join("|")+")",rJ=RegExp(K9+"(?="+K9+")|"+QAe+KAe,"g");s(ZAe,"unicodeSize");cJ=ZAe});function JAe(t){return kK(t)?cJ(t):eJ(t)}var hJ,fJ=_(()=>{"use strict";tJ();wK();uJ();s(JAe,"stringSize");hJ=JAe});function e9e(t,e){return vk(t,e,function(r,n){return ik(t,n)})}var dJ,pJ=_(()=>{"use strict";X9();O9();s(e9e,"basePick");dJ=e9e});var t9e,Sd,mJ=_(()=>{"use strict";pJ();bK();t9e=xK(function(t,e){return t==null?{}:dJ(t,e)}),Sd=t9e});function i9e(t,e,r,n){for(var i=-1,a=n9e(r9e((e-t)/(r||1)),0),o=Array(a);a--;)o[n?a:++i]=t,t+=r;return o}var r9e,n9e,gJ,yJ=_(()=>{"use strict";r9e=Math.ceil,n9e=Math.max;s(i9e,"baseRange");gJ=i9e});function a9e(t){return function(e,r,n){return n&&typeof n!="number"&&Hs(e,r,n)&&(r=n=void 0),e=rm(e),r===void 0?(r=e,e=0):r=rm(r),n=n===void 0?e{"use strict";yJ();fd();f9();s(a9e,"createRange");vJ=a9e});var s9e,Ao,bJ=_(()=>{"use strict";xJ();s9e=vJ(),Ao=s9e});function o9e(t,e,r,n,i){return i(t,function(a,o,l){r=n?(n=!1,a):e(r,a,o,l)}),r}var kJ,wJ=_(()=>{"use strict";s(o9e,"baseReduce");kJ=o9e});function l9e(t,e,r){var n=ct(t)?TK:kJ,i=arguments.length<3;return n(t,tn(e,4),r,i,ks)}var Or,Q9=_(()=>{"use strict";EK();Gh();Ua();wJ();Dn();s(l9e,"reduce");Or=l9e});function c9e(t,e){var r=ct(t)?um:hk;return r(t,GZ(tn(e,3)))}var qh,TJ=_(()=>{"use strict";B5();F9();Ua();Dn();VZ();s(c9e,"reject");qh=c9e});function f9e(t){if(t==null)return 0;if(Hn(t))return si(t)?hJ(t):t.length;var e=Js(t);return e==u9e||e==h9e?t.size:am(t).length}var u9e,h9e,Z9,EJ=_(()=>{"use strict";R5();Td();wo();dk();fJ();u9e="[object Map]",h9e="[object Set]";s(f9e,"size");Z9=f9e});function d9e(t,e){var r;return ks(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var CJ,SJ=_(()=>{"use strict";Gh();s(d9e,"baseSome");CJ=d9e});function p9e(t,e,r){var n=ct(t)?j5:CJ;return r&&Hs(t,e,r)&&(e=void 0),n(t,tn(e,3))}var pv,_J=_(()=>{"use strict";A9();Ua();SJ();Dn();fd();s(p9e,"some");pv=p9e});var m9e,hc,AJ=_(()=>{"use strict";cm();JZ();qp();fd();m9e=rc(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Hs(t,e[0],e[1])?e=[]:r>2&&Hs(e[0],e[1],e[2])&&(e=[e[0]]),ZZ(t,cc(e,1),[])}),hc=m9e});var g9e,y9e,LJ,DJ=_(()=>{"use strict";E9();d9();Z5();g9e=1/0,y9e=$h&&1/pm(new $h([,-0]))[1]==g9e?function(t){return new $h(t)}:zn,LJ=y9e});function x9e(t,e,r){var n=-1,i=D5,a=t.length,o=!0,l=[],u=l;if(r)o=!1,i=lk;else if(a>=v9e){var h=e?null:LJ(t);if(h)return pm(h);o=!1,i=dm,u=new fm}else u=e?[]:l;e:for(;++n{"use strict";X5();g9();B9();K5();DJ();Z5();v9e=200;s(x9e,"baseUniq");xm=x9e});var b9e,J9,RJ=_(()=>{"use strict";cm();qp();xk();I3();b9e=rc(function(t){return xm(cc(t,1,cd,!0))}),J9=b9e});function k9e(t){return t&&t.length?xm(t):[]}var bm,MJ=_(()=>{"use strict";xk();s(k9e,"uniq");bm=k9e});function w9e(t,e){return t&&t.length?xm(t,tn(e,2)):[]}var IJ,NJ=_(()=>{"use strict";Ua();xk();s(w9e,"uniqBy");IJ=w9e});function E9e(t){var e=++T9e;return I5(t)+e}var T9e,_d,OJ=_(()=>{"use strict";y9();T9e=0;s(E9e,"uniqueId");_d=E9e});function C9e(t,e,r){for(var n=-1,i=t.length,a=e.length,o={};++n{"use strict";s(C9e,"baseZipObject");PJ=C9e});function S9e(t,e){return PJ(t||[],e||[],tc)}var bk,FJ=_(()=>{"use strict";Up();BJ();s(S9e,"zipObject");bk=S9e});var Tt=_(()=>{"use strict";lK();S9();fQ();dQ();tA();tZ();iZ();sZ();oZ();lZ();dZ();z9();vZ();bZ();G9();O5();uk();kZ();wZ();TZ();AZ();mu();RZ();MZ();Dn();mk();Oy();Ws();PZ();dk();BZ();oc();aZ();ym();FZ();zZ();iA();Y9();$Z();d9();JQ();mJ();WZ();bJ();Q9();TJ();EJ();_J();AJ();RJ();MJ();OJ();W9();FJ();});function $J(t,e){t[e]?t[e]++:t[e]=1}function GJ(t,e){--t[e]||delete t[e]}function mv(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var o=i;i=a,a=o}return i+zJ+a+zJ+(jt(n)?_9e:n)}function A9e(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var o=i;i=a,a=o}var l={v:i,w:a};return n&&(l.name=n),l}function eL(t,e){return mv(t,e.v,e.w,e.name)}var _9e,Ad,zJ,ir,kk=_(()=>{"use strict";Tt();_9e="\0",Ad="\0",zJ="",ir=class{static{s(this,"Graph")}constructor(e={}){this._isDirected=Ve(e,"directed")?e.directed:!0,this._isMultigraph=Ve(e,"multigraph")?e.multigraph:!1,this._isCompound=Ve(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=ps(void 0),this._defaultEdgeLabelFn=ps(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Ad]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return fi(e)||(e=ps(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return kr(this._nodes)}sources(){var e=this;return Nr(this.nodes(),function(r){return Vt(e._in[r])})}sinks(){var e=this;return Nr(this.nodes(),function(r){return Vt(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return be(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Ve(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=Ad,this._children[e]={},this._children[Ad][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Ve(this._nodes,e)}removeNode(e){var r=this;if(Ve(this._nodes,e)){var n=s(function(i){r.removeEdge(r._edgeObjs[i])},"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],be(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),be(kr(this._in[e]),n),delete this._in[e],delete this._preds[e],be(kr(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(jt(r))r=Ad;else{r+="";for(var n=r;!jt(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==Ad)return r}}children(e){if(jt(e)&&(e=Ad),this._isCompound){var r=this._children[e];if(r)return kr(r)}else{if(e===Ad)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return kr(r)}successors(e){var r=this._sucs[e];if(r)return kr(r)}neighbors(e){var r=this.predecessors(e);if(r)return J9(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;be(this._nodes,function(o,l){e(l)&&r.setNode(l,o)}),be(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,n.edge(o))});var i={};function a(o){var l=n.parent(o);return l===void 0||r.hasNode(l)?(i[o]=l,l):l in i?i[l]:a(l)}return s(a,"findParent"),this._isCompound&&be(r.nodes(),function(o){r.setParent(o,a(o))}),r}setDefaultEdgeLabel(e){return fi(e)||(e=ps(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return nr(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return Or(e,function(a,o){return i.length>1?n.setEdge(a,o,r):n.setEdge(a,o),o}),this}setEdge(){var e,r,n,i,a=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,n=o.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=o,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,jt(n)||(n=""+n);var l=mv(this._isDirected,e,r,n);if(Ve(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!jt(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=A9e(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,$J(this._preds[r],e),$J(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?eL(this._isDirected,arguments[0]):mv(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?eL(this._isDirected,arguments[0]):mv(this._isDirected,e,r,n);return Ve(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?eL(this._isDirected,arguments[0]):mv(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],GJ(this._preds[r],e),GJ(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=nr(n);return r?Nr(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=nr(n);return r?Nr(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};ir.prototype._nodeCount=0;ir.prototype._edgeCount=0;s($J,"incrementOrInitEntry");s(GJ,"decrementOrRemoveEntry");s(mv,"edgeArgsToId");s(A9e,"edgeArgsToObj");s(eL,"edgeObjToId")});var la=_(()=>{"use strict";kk()});function VJ(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function L9e(t,e){if(t!=="_next"&&t!=="_prev")return e}var wk,UJ=_(()=>{"use strict";wk=class{static{s(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return VJ(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&VJ(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,L9e)),n=n._prev;return"["+e.join(", ")+"]"}};s(VJ,"unlink");s(L9e,"filterOutLinks")});function qJ(t,e){if(t.nodeCount()<=1)return[];var r=M9e(t,e||D9e),n=R9e(r.graph,r.buckets,r.zeroIdx);return Ir(Ge(n,function(i){return t.outEdges(i.v,i.w)}))}function R9e(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],o;t.nodeCount();){for(;o=a.dequeue();)tL(t,e,r,o);for(;o=i.dequeue();)tL(t,e,r,o);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(o=e[l].dequeue(),o){n=n.concat(tL(t,e,r,o,!0));break}}}return n}function tL(t,e,r,n,i){var a=i?[]:void 0;return be(t.inEdges(n.v),function(o){var l=t.edge(o),u=t.node(o.v);i&&a.push({v:o.v,w:o.w}),u.out-=l,rL(e,r,u)}),be(t.outEdges(n.v),function(o){var l=t.edge(o),u=o.w,h=t.node(u);h.in-=l,rL(e,r,h)}),t.removeNode(n.v),a}function M9e(t,e){var r=new ir,n=0,i=0;be(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),be(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=Ao(i+n+3).map(function(){return new wk}),o=n+1;return be(r.nodes(),function(l){rL(a,o,r.node(l))}),{graph:r,buckets:a,zeroIdx:o}}function rL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var D9e,WJ=_(()=>{"use strict";Tt();la();UJ();D9e=ps(1);s(qJ,"greedyFAS");s(R9e,"doGreedyFAS");s(tL,"removeNode");s(M9e,"buildState");s(rL,"assignBucket")});function HJ(t){var e=t.graph().acyclicer==="greedy"?qJ(t,r(t)):I9e(t);be(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,_d("rev"))});function r(n){return function(i){return n.edge(i).weight}}s(r,"weightFn")}function I9e(t){var e=[],r={},n={};function i(a){Ve(n,a)||(n[a]=!0,r[a]=!0,be(t.outEdges(a),function(o){Ve(r,o.w)?e.push(o):i(o.w)}),delete r[a])}return s(i,"dfs"),be(t.nodes(),i),e}function YJ(t){be(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var nL=_(()=>{"use strict";Tt();WJ();s(HJ,"run");s(I9e,"dfsFAS");s(YJ,"undo")});function fc(t,e,r,n){var i;do i=_d(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function jJ(t){var e=new ir().setGraph(t.graph());return be(t.nodes(),function(r){e.setNode(r,t.node(r))}),be(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function Tk(t){var e=new ir({multigraph:t.isMultigraph()}).setGraph(t.graph());return be(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),be(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function iL(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,o=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*o>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(o=-o),u=o,h=o*a/i),{x:r+u,y:n+h}}function Wh(t){var e=Ge(Ao(sL(t)+1),function(){return[]});return be(t.nodes(),function(r){var n=t.node(r),i=n.rank;jt(i)||(e[i][n.order]=r)}),e}function KJ(t){var e=pl(Ge(t.nodes(),function(r){return t.node(r).rank}));be(t.nodes(),function(r){var n=t.node(r);Ve(n,"rank")&&(n.rank-=e)})}function QJ(t){var e=pl(Ge(t.nodes(),function(a){return t.node(a).rank})),r=[];be(t.nodes(),function(a){var o=t.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var n=0,i=t.graph().nodeRankFactor;be(r,function(a,o){jt(a)&&o%i!==0?--n:n&&be(a,function(l){t.node(l).rank+=n})})}function aL(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),fc(t,"border",i,e)}function sL(t){return ws(Ge(t.nodes(),function(e){var r=t.node(e).rank;if(!jt(r))return r}))}function ZJ(t,e){var r={lhs:[],rhs:[]};return be(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function JJ(t,e){var r=ok();try{return e()}finally{console.log(t+" time: "+(ok()-r)+"ms")}}function eee(t,e){return e()}var dc=_(()=>{"use strict";Tt();la();s(fc,"addDummyNode");s(jJ,"simplify");s(Tk,"asNonCompoundGraph");s(iL,"intersectRect");s(Wh,"buildLayerMatrix");s(KJ,"normalizeRanks");s(QJ,"removeEmptyRanks");s(aL,"addBorderNode");s(sL,"maxRank");s(ZJ,"partition");s(JJ,"time");s(eee,"notime")});function ree(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&be(n,e),Ve(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a{"use strict";Tt();dc();s(ree,"addBorderSegments");s(tee,"addBorderNode")});function aee(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&oee(t)}function see(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&N9e(t),(e==="lr"||e==="rl")&&(O9e(t),oee(t))}function oee(t){be(t.nodes(),function(e){iee(t.node(e))}),be(t.edges(),function(e){iee(t.edge(e))})}function iee(t){var e=t.width;t.width=t.height,t.height=e}function N9e(t){be(t.nodes(),function(e){oL(t.node(e))}),be(t.edges(),function(e){var r=t.edge(e);be(r.points,oL),Ve(r,"y")&&oL(r)})}function oL(t){t.y=-t.y}function O9e(t){be(t.nodes(),function(e){lL(t.node(e))}),be(t.edges(),function(e){var r=t.edge(e);be(r.points,lL),Ve(r,"x")&&lL(r)})}function lL(t){var e=t.x;t.x=t.y,t.y=e}var lee=_(()=>{"use strict";Tt();s(aee,"adjust");s(see,"undo");s(oee,"swapWidthHeight");s(iee,"swapWidthHeightOne");s(N9e,"reverseY");s(oL,"reverseYOne");s(O9e,"swapXY");s(lL,"swapXYOne")});function cee(t){t.graph().dummyChains=[],be(t.edges(),function(e){B9e(t,e)})}function B9e(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,o=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h,f,d;for(d=0,++n;n{"use strict";Tt();dc();s(cee,"run");s(B9e,"normalizeEdge");s(uee,"undo")});function gv(t){var e={};function r(n){var i=t.node(n);if(Ve(e,n))return i.rank;e[n]=!0;var a=pl(Ge(t.outEdges(n),function(o){return r(o.w)-t.edge(o).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}s(r,"dfs"),be(t.sources(),r)}function Ld(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var Ek=_(()=>{"use strict";Tt();s(gv,"longestPath");s(Ld,"slack")});function Ck(t){var e=new ir({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;F9e(e,t){"use strict";Tt();la();Ek();s(Ck,"feasibleTree");s(F9e,"tightTree");s(z9e,"findMinSlackEdge");s($9e,"shiftRanks")});var fee=_(()=>{"use strict"});var hL=_(()=>{"use strict"});var sPt,fL=_(()=>{"use strict";Tt();hL();sPt=ps(1)});var dee=_(()=>{"use strict";fL()});var dL=_(()=>{"use strict"});var pee=_(()=>{"use strict";dL()});var yPt,mee=_(()=>{"use strict";Tt();yPt=ps(1)});function pL(t){var e={},r={},n=[];function i(a){if(Ve(r,a))throw new yv;Ve(e,a)||(r[a]=!0,e[a]=!0,be(t.predecessors(a),i),delete r[a],n.push(a))}if(s(i,"visit"),be(t.sinks(),i),Z9(e)!==t.nodeCount())throw new yv;return n}function yv(){}var mL=_(()=>{"use strict";Tt();pL.CycleException=yv;s(pL,"topsort");s(yv,"CycleException");yv.prototype=new Error});var gee=_(()=>{"use strict";mL()});function Sk(t,e,r){ct(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return be(e,function(o){if(!t.hasNode(o))throw new Error("Graph does not have node: "+o);yee(t,o,r==="post",a,n,i)}),i}function yee(t,e,r,n,i,a){Ve(n,e)||(n[e]=!0,r||a.push(e),be(i(e),function(o){yee(t,o,r,n,i,a)}),r&&a.push(e))}var gL=_(()=>{"use strict";Tt();s(Sk,"dfs");s(yee,"doDfs")});function yL(t,e){return Sk(t,e,"post")}var vee=_(()=>{"use strict";gL();s(yL,"postorder")});function vL(t,e){return Sk(t,e,"pre")}var xee=_(()=>{"use strict";gL();s(vL,"preorder")});var bee=_(()=>{"use strict";hL();kk()});var kee=_(()=>{"use strict";fee();fL();dee();pee();mee();gee();vee();xee();bee();dL();mL()});function Yh(t){t=jJ(t),gv(t);var e=Ck(t);bL(e),xL(e,t);for(var r,n;r=Cee(e);)n=See(e,t,r),_ee(e,t,r,n)}function xL(t,e){var r=yL(t,t.nodes());r=r.slice(0,r.length-1),be(r,function(n){W9e(t,e,n)})}function W9e(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=Tee(t,e,r)}function Tee(t,e,r){var n=t.node(r),i=n.parent,a=!0,o=e.edge(r,i),l=0;return o||(a=!1,o=e.edge(i,r)),l=o.weight,be(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,Y9e(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function bL(t,e){arguments.length<2&&(e=t.nodes()[0]),Eee(t,{},1,e)}function Eee(t,e,r,n,i){var a=r,o=t.node(n);return e[n]=!0,be(t.neighbors(n),function(l){Ve(e,l)||(r=Eee(t,e,r,l,n))}),o.low=a,o.lim=r++,i?o.parent=i:delete o.parent,r}function Cee(t){return qa(t.edges(),function(e){return t.edge(e).cutvalue<0})}function See(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),o=t.node(i),l=a,u=!1;a.lim>o.lim&&(l=o,u=!0);var h=Nr(e.edges(),function(f){return u===wee(t,t.node(f.v),l)&&u!==wee(t,t.node(f.w),l)});return Cd(h,function(f){return Ld(e,f)})}function _ee(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),bL(t),xL(t,e),H9e(t,e)}function H9e(t,e){var r=qa(t.nodes(),function(i){return!e.node(i).parent}),n=vL(t,r);n=n.slice(1),be(n,function(i){var a=t.node(i).parent,o=e.edge(i,a),l=!1;o||(o=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?o.minlen:-o.minlen)})}function Y9e(t,e,r){return t.hasEdge(e,r)}function wee(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var Aee=_(()=>{"use strict";Tt();kee();dc();uL();Ek();Yh.initLowLimValues=bL;Yh.initCutValues=xL;Yh.calcCutValue=Tee;Yh.leaveEdge=Cee;Yh.enterEdge=See;Yh.exchangeEdges=_ee;s(Yh,"networkSimplex");s(xL,"initCutValues");s(W9e,"assignCutValue");s(Tee,"calcCutValue");s(bL,"initLowLimValues");s(Eee,"dfsAssignLowLim");s(Cee,"leaveEdge");s(See,"enterEdge");s(_ee,"exchangeEdges");s(H9e,"updateRanks");s(Y9e,"isTreeEdge");s(wee,"isDescendant")});function kL(t){switch(t.graph().ranker){case"network-simplex":Lee(t);break;case"tight-tree":j9e(t);break;case"longest-path":X9e(t);break;default:Lee(t)}}function j9e(t){gv(t),Ck(t)}function Lee(t){Yh(t)}var X9e,wL=_(()=>{"use strict";uL();Aee();Ek();s(kL,"rank");X9e=gv;s(j9e,"tightTreeRanker");s(Lee,"networkSimplexRanker")});function Dee(t){var e=fc(t,"root",{},"_root"),r=K9e(t),n=ws(nr(r))-1,i=2*n+1;t.graph().nestingRoot=e,be(t.edges(),function(o){t.edge(o).minlen*=i});var a=Q9e(t)+1;be(t.children(),function(o){Ree(t,e,i,a,n,r,o)}),t.graph().nodeRankFactor=i}function Ree(t,e,r,n,i,a,o){var l=t.children(o);if(!l.length){o!==e&&t.setEdge(e,o,{weight:0,minlen:r});return}var u=aL(t,"_bt"),h=aL(t,"_bb"),f=t.node(o);t.setParent(u,o),f.borderTop=u,t.setParent(h,o),f.borderBottom=h,be(l,function(d){Ree(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[o]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(o)||t.setEdge(e,u,{weight:0,minlen:i+a[o]})}function K9e(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&be(a,function(o){r(o,i+1)}),e[n]=i}return s(r,"dfs"),be(t.children(),function(n){r(n,1)}),e}function Q9e(t){return Or(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function Mee(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,be(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var Iee=_(()=>{"use strict";Tt();dc();s(Dee,"run");s(Ree,"dfs");s(K9e,"treeDepths");s(Q9e,"sumWeights");s(Mee,"cleanup")});function Nee(t,e,r){var n={},i;be(r,function(a){for(var o=t.parent(a),l,u;o;){if(l=t.parent(o),l?(u=n[l],n[l]=o):(u=i,i=o),u&&u!==o){e.setEdge(u,o);return}o=l}})}var Oee=_(()=>{"use strict";Tt();s(Nee,"addSubgraphConstraints")});function Pee(t,e,r){var n=J9e(t),i=new ir({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return be(t.nodes(),function(a){var o=t.node(a),l=t.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,l||n),be(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=jt(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Ve(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),i}function J9e(t){for(var e;t.hasNode(e=_d("_root")););return e}var Bee=_(()=>{"use strict";Tt();la();s(Pee,"buildLayerGraph");s(J9e,"createRootNode")});function Fee(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var zee=_(()=>{"use strict";Tt();s(Fee,"crossCount");s(eLe,"twoLayerCrossCount")});function $ee(t){var e={},r=Nr(t.nodes(),function(l){return!t.children(l).length}),n=ws(Ge(r,function(l){return t.node(l).rank})),i=Ge(Ao(n+1),function(){return[]});function a(l){if(!Ve(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),be(t.successors(l),a)}}s(a,"dfs");var o=hc(r,function(l){return t.node(l).rank});return be(o,a),i}var Gee=_(()=>{"use strict";Tt();s($ee,"initOrder")});function Vee(t,e){return Ge(e,function(r){var n=t.inEdges(r);if(n.length){var i=Or(n,function(a,o){var l=t.edge(o),u=t.node(o.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var Uee=_(()=>{"use strict";Tt();s(Vee,"barycenter")});function qee(t,e){var r={};be(t,function(i,a){var o=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};jt(i.barycenter)||(o.barycenter=i.barycenter,o.weight=i.weight)}),be(e.edges(),function(i){var a=r[i.v],o=r[i.w];!jt(a)&&!jt(o)&&(o.indegree++,a.out.push(r[i.w]))});var n=Nr(r,function(i){return!i.indegree});return tLe(n)}function tLe(t){var e=[];function r(a){return function(o){o.merged||(jt(o.barycenter)||jt(a.barycenter)||o.barycenter>=a.barycenter)&&rLe(a,o)}}s(r,"handleIn");function n(a){return function(o){o.in.push(a),--o.indegree===0&&t.push(o)}}for(s(n,"handleOut");t.length;){var i=t.pop();e.push(i),be(i.in.reverse(),r(i)),be(i.out,n(i))}return Ge(Nr(e,function(a){return!a.merged}),function(a){return Sd(a,["vs","i","barycenter","weight"])})}function rLe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var Wee=_(()=>{"use strict";Tt();s(qee,"resolveConflicts");s(tLe,"doResolveConflicts");s(rLe,"mergeEntries")});function Yee(t,e){var r=ZJ(t,function(f){return Ve(f,"barycenter")}),n=r.lhs,i=hc(r.rhs,function(f){return-f.i}),a=[],o=0,l=0,u=0;n.sort(nLe(!!e)),u=Hee(a,i,u),be(n,function(f){u+=f.vs.length,a.push(f.vs),o+=f.barycenter*f.weight,l+=f.weight,u=Hee(a,i,u)});var h={vs:Ir(a)};return l&&(h.barycenter=o/l,h.weight=l),h}function Hee(t,e,r){for(var n;e.length&&(n=sa(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function nLe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var Xee=_(()=>{"use strict";Tt();dc();s(Yee,"sort");s(Hee,"consumeUnsortable");s(nLe,"compareWithBias")});function TL(t,e,r,n){var i=t.children(e),a=t.node(e),o=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};o&&(i=Nr(i,function(g){return g!==o&&g!==l}));var h=Vee(t,i);be(h,function(g){if(t.children(g.v).length){var y=TL(t,g.v,r,n);u[g.v]=y,Ve(y,"barycenter")&&aLe(g,y)}});var f=qee(h,r);iLe(f,u);var d=Yee(f,n);if(o&&(d.vs=Ir([o,d.vs,l]),t.predecessors(o).length)){var p=t.node(t.predecessors(o)[0]),m=t.node(t.predecessors(l)[0]);Ve(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function iLe(t,e){be(t,function(r){r.vs=Ir(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function aLe(t,e){jt(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var jee=_(()=>{"use strict";Tt();Uee();Wee();Xee();s(TL,"sortSubgraph");s(iLe,"expandSubgraphs");s(aLe,"mergeBarycenters")});function Zee(t){var e=sL(t),r=Kee(t,Ao(1,e+1),"inEdges"),n=Kee(t,Ao(e-1,-1,-1),"outEdges"),i=$ee(t);Qee(t,i);for(var a=Number.POSITIVE_INFINITY,o,l=0,u=0;u<4;++l,++u){sLe(l%2?r:n,l%4>=2),i=Wh(t);var h=Fee(t,i);h{"use strict";Tt();la();dc();Oee();Bee();zee();Gee();jee();s(Zee,"order");s(Kee,"buildLayerGraphs");s(sLe,"sweepLayerGraphs");s(Qee,"assignOrder")});function ete(t){var e=lLe(t);be(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=oLe(t,e,i.v,i.w),o=a.path,l=a.lca,u=0,h=o[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=o[u])!==l&&t.node(h).maxRanko||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function lLe(t){var e={},r=0;function n(i){var a=r;be(t.children(i),n),e[i]={low:a,lim:r++}}return s(n,"dfs"),be(t.children(),n),e}var tte=_(()=>{"use strict";Tt();s(ete,"parentDummyChains");s(oLe,"findPath");s(lLe,"postorder")});function cLe(t,e){var r={};function n(i,a){var o=0,l=0,u=i.length,h=sa(a);return be(a,function(f,d){var p=hLe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(be(a.slice(l,d+1),function(g){be(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&rte(r,p,f)})})}s(n,"scan");function i(a,o){var l=-1,u,h=0;return be(o,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(o,h,d,l,u),h=d,l=u)}n(o,h,o.length,u,a.length)}),o}return s(i,"visitLayer"),Or(e,i),r}function hLe(t,e){if(t.node(e).dummy)return qa(t.predecessors(e),function(r){return t.node(r).dummy})}function rte(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function fLe(t,e,r){if(e>r){var n=e;e=r,r=n}return Ve(t[e],r)}function dLe(t,e,r,n){var i={},a={},o={};return be(e,function(l){be(l,function(u,h){i[u]=u,a[u]=u,o[u]=h})}),be(e,function(l){var u=-1;be(l,function(h){var f=n(h);if(f.length){f=hc(f,function(y){return o[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Tt();la();dc();s(cLe,"findType1Conflicts");s(uLe,"findType2Conflicts");s(hLe,"findOtherInnerSegmentNode");s(rte,"addConflict");s(fLe,"hasConflict");s(dLe,"verticalAlignment");s(pLe,"horizontalCompaction");s(mLe,"buildBlockGraph");s(gLe,"findSmallestWidthAlignment");s(yLe,"alignCoordinates");s(vLe,"balance");s(nte,"positionX");s(xLe,"sep");s(bLe,"width")});function ate(t){t=Tk(t),kLe(t),U9(nte(t),function(e,r){t.node(r).x=e})}function kLe(t){var e=Wh(t),r=t.graph().ranksep,n=0;be(e,function(i){var a=ws(Ge(i,function(o){return t.node(o).height}));be(i,function(o){t.node(o).y=n+a/2}),n+=a+r})}var ste=_(()=>{"use strict";Tt();dc();ite();s(ate,"position");s(kLe,"positionY")});function eo(t,e){var r=e&&e.debugTiming?JJ:eee;r("layout",function(){var n=r(" buildLayoutGraph",function(){return MLe(t)});r(" runLayout",function(){wLe(n,r)}),r(" updateInputGraph",function(){TLe(t,n)})})}function wLe(t,e){e(" makeSpaceForEdgeLabels",function(){ILe(t)}),e(" removeSelfEdges",function(){VLe(t)}),e(" acyclic",function(){HJ(t)}),e(" nestingGraph.run",function(){Dee(t)}),e(" rank",function(){kL(Tk(t))}),e(" injectEdgeLabelProxies",function(){NLe(t)}),e(" removeEmptyRanks",function(){QJ(t)}),e(" nestingGraph.cleanup",function(){Mee(t)}),e(" normalizeRanks",function(){KJ(t)}),e(" assignRankMinMax",function(){OLe(t)}),e(" removeEdgeLabelProxies",function(){PLe(t)}),e(" normalize.run",function(){cee(t)}),e(" parentDummyChains",function(){ete(t)}),e(" addBorderSegments",function(){ree(t)}),e(" order",function(){Zee(t)}),e(" insertSelfEdges",function(){ULe(t)}),e(" adjustCoordinateSystem",function(){aee(t)}),e(" position",function(){ate(t)}),e(" positionSelfEdges",function(){qLe(t)}),e(" removeBorderNodes",function(){GLe(t)}),e(" normalize.undo",function(){uee(t)}),e(" fixupEdgeLabelCoords",function(){zLe(t)}),e(" undoCoordinateSystem",function(){see(t)}),e(" translateGraph",function(){BLe(t)}),e(" assignNodeIntersects",function(){FLe(t)}),e(" reversePoints",function(){$Le(t)}),e(" acyclic.undo",function(){YJ(t)})}function TLe(t,e){be(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),be(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Ve(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function MLe(t){var e=new ir({multigraph:!0,compound:!0}),r=CL(t.graph());return e.setGraph(Nh({},CLe,EL(r,ELe),Sd(r,SLe))),be(t.nodes(),function(n){var i=CL(t.node(n));e.setNode(n,Vh(EL(i,_Le),ALe)),e.setParent(n,t.parent(n))}),be(t.edges(),function(n){var i=CL(t.edge(n));e.setEdge(n,Nh({},DLe,EL(i,LLe),Sd(i,RLe)))}),e}function ILe(t){var e=t.graph();e.ranksep/=2,be(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function NLe(t){be(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};fc(t,"edge-proxy",a,"_ep")}})}function OLe(t){var e=0;be(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=ws(e,n.maxRank))}),t.graph().maxRank=e}function PLe(t){be(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function BLe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),o=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}s(u,"getExtremes"),be(t.nodes(),function(h){u(t.node(h))}),be(t.edges(),function(h){var f=t.edge(h);Ve(f,"x")&&u(f)}),e-=o,n-=l,be(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),be(t.edges(),function(h){var f=t.edge(h);be(f.points,function(d){d.x-=e,d.y-=n}),Ve(f,"x")&&(f.x-=e),Ve(f,"y")&&(f.y-=n)}),a.width=r-e+o,a.height=i-n+l}function FLe(t){be(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,o;r.points?(a=r.points[0],o=r.points[r.points.length-1]):(r.points=[],a=i,o=n),r.points.unshift(iL(n,a)),r.points.push(iL(i,o))})}function zLe(t){be(t.edges(),function(e){var r=t.edge(e);if(Ve(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function $Le(t){be(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function GLe(t){be(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(sa(r.borderLeft)),o=t.node(sa(r.borderRight));r.width=Math.abs(o.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),be(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function VLe(t){be(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function ULe(t){var e=Wh(t);be(e,function(r){var n=0;be(r,function(i,a){var o=t.node(i);o.order=a+n,be(o.selfEdges,function(l){fc(t,"selfedge",{width:l.label.width,height:l.label.height,rank:o.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete o.selfEdges})})}function qLe(t){be(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,o=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*o/3,y:a-l},{x:i+5*o/6,y:a-l},{x:i+o,y:a},{x:i+5*o/6,y:a+l},{x:i+2*o/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function EL(t,e){return Ed(Sd(t,e),Number)}function CL(t){var e={};return be(t,function(r,n){e[n.toLowerCase()]=r}),e}var ELe,CLe,SLe,_Le,ALe,LLe,DLe,RLe,ote=_(()=>{"use strict";Tt();la();nee();lee();nL();cL();wL();Iee();Jee();tte();ste();dc();s(eo,"layout");s(wLe,"runLayout");s(TLe,"updateInputGraph");ELe=["nodesep","edgesep","ranksep","marginx","marginy"],CLe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},SLe=["acyclicer","ranker","rankdir","align"],_Le=["width","height"],ALe={width:0,height:0},LLe=["minlen","weight","width","height","labeloffset"],DLe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},RLe=["labelpos"];s(MLe,"buildLayoutGraph");s(ILe,"makeSpaceForEdgeLabels");s(NLe,"injectEdgeLabelProxies");s(OLe,"assignRankMinMax");s(PLe,"removeEdgeLabelProxies");s(BLe,"translateGraph");s(FLe,"assignNodeIntersects");s(zLe,"fixupEdgeLabelCoords");s($Le,"reversePointsForReversedEdges");s(GLe,"removeBorderNodes");s(VLe,"removeSelfEdges");s(ULe,"insertSelfEdges");s(qLe,"positionSelfEdges");s(EL,"selectNumberAttrs");s(CL,"canonicalize")});var Dd=_(()=>{"use strict";nL();ote();cL();wL()});function Mn(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:WLe(t),edges:HLe(t)};return jt(t.graph())||(e.value=Hr(t.graph())),e}function WLe(t){return Ge(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return jt(r)||(i.value=r),jt(n)||(i.parent=n),i})}function HLe(t){return Ge(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return jt(e.name)||(n.name=e.name),jt(r)||(n.value=r),n})}var vv=_(()=>{"use strict";Tt();kk();s(Mn,"write");s(WLe,"writeNodes");s(HLe,"writeEdges")});var Yt,Rd,lte,cte,Lk,YLe,ute,hte,XLe,km,Ak,fte,dte,pte,mte,gte=_(()=>{"use strict";it();la();vv();Yt=new Map,Rd=new Map,lte=new Map,cte=s(()=>{Rd.clear(),lte.clear(),Yt.clear()},"clear"),Lk=s((t,e)=>{let r=Rd.get(e)||[];return V.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),YLe=s((t,e)=>{let r=Rd.get(e)||[];return V.info("Descendants of ",e," is ",r),V.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||Lk(t.v,e)||Lk(t.w,e)||r.includes(t.w):(V.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),ute=s((t,e,r,n)=>{V.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),V.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)ute(a,e,r,n);else{let o=e.node(a);V.info("cp ",a," to ",n," with parent ",t),r.setNode(a,o),n!==e.parent(a)&&(V.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(V.debug("Setting parent",a,t),r.setParent(a,t)):(V.info("In copy ",t,"root",n,"data",e.node(t),n),V.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);V.debug("Copying Edges",l),l.forEach(u=>{V.info("Edge",u);let h=e.edge(u.v,u.w,u.name);V.info("Edge data",h,n);try{YLe(u,n)?(V.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),V.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):V.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){V.error(f)}})}V.debug("Removing node",a),e.removeNode(a)})},"copy"),hte=s((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)lte.set(i,t),n=[...n,...hte(i,e)];return n},"extractDescendants"),XLe=s((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),o=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>o.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),km=s((t,e,r)=>{let n=e.children(t);if(V.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let o=km(a,e,r),l=XLe(e,r,o);if(o)if(l.length>0)i=o;else return o}return i},"findNonClusterChild"),Ak=s(t=>!Yt.has(t)||!Yt.get(t).externalConnections?t:Yt.has(t)?Yt.get(t).id:t,"getAnchorId"),fte=s((t,e)=>{if(!t||e>10){V.debug("Opting out, no graph ");return}else V.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(V.warn("Cluster identified",r," Replacement id in edges: ",km(r,t,r)),Rd.set(r,hte(r,t)),Yt.set(r,{id:km(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(V.debug("Cluster identified",r,Rd),i.forEach(a=>{let o=Lk(a.v,r),l=Lk(a.w,r);o^l&&(V.warn("Edge: ",a," leaves cluster ",r),V.warn("Descendants of XXX ",r,": ",Rd.get(r)),Yt.get(r).externalConnections=!0)})):V.debug("Not a cluster ",r,Rd)});for(let r of Yt.keys()){let n=Yt.get(r).id,i=t.parent(n);i!==r&&Yt.has(i)&&!Yt.get(i).externalConnections&&(Yt.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(V.warn("Fix XXX",Yt,"ids:",r.v,r.w,"Translating: ",Yt.get(r.v)," --- ",Yt.get(r.w)),Yt.get(r.v)&&Yt.get(r.w)&&Yt.get(r.v)===Yt.get(r.w)){V.warn("Fixing and trying link to self - removing XXX",r.v,r.w,r.name),V.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Ak(r.v),a=Ak(r.w),t.removeEdge(r.v,r.w,r.name);let o=r.w+"---"+r.v+"---1",l=r.w+"---"+r.v+"---2";t.setNode(o,{domId:o,id:o,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setNode(l,{domId:l,id:l,labelStyle:"",padding:0,shape:"labelRect",style:"",width:10,height:10});let u=structuredClone(n),h=structuredClone(n),f=structuredClone(n);u.label="",u.arrowTypeEnd="none",u.id=r.name+"-cyclic-special-1",h.arrowTypeEnd="none",h.id=r.name+"-cyclic-special-mid",f.label="",u.fromCluster=r.v,f.toCluster=r.v,f.id=r.name+"-cyclic-special-2",t.setEdge(i,o,u,r.name+"-cyclic-special-0"),t.setEdge(o,l,h,r.name+"-cyclic-special-1"),t.setEdge(l,a,f,r.name+"-cyclic-special-2")}else if(Yt.get(r.v)||Yt.get(r.w)){if(V.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Ak(r.v),a=Ak(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let o=t.parent(i);Yt.get(o).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let o=t.parent(a);Yt.get(o).externalConnections=!0,n.toCluster=r.w}V.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),V.warn("Adjusted Graph",Mn(t)),dte(t,0),V.trace(Yt)},"adjustClustersAndEdges"),dte=s((t,e)=>{if(V.warn("extractor - ",e,Mn(t),t.children("D")),e>10){V.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){V.debug("Done, no node has children",t.nodes());return}V.debug("Nodes = ",r,e);for(let i of r)if(V.debug("Extracting node",i,Yt,Yt.has(i)&&!Yt.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Yt.has(i))V.debug("Not a cluster",i,e);else if(!Yt.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){V.warn("Cluster without external connections, without a parent and with children",i,e);let o=t.graph().rankdir==="TB"?"LR":"TB";Yt.get(i)?.clusterData?.dir&&(o=Yt.get(i).clusterData.dir,V.warn("Fixing dir",Yt.get(i).clusterData.dir,o));let l=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:o,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});V.warn("Old graph before copy",Mn(t)),ute(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Yt.get(i).clusterData,label:Yt.get(i).label,graph:l}),V.warn("New graph after copy node: (",i,")",Mn(l)),V.debug("Old graph after copy",Mn(t))}else V.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Yt.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),V.debug(Yt);r=t.nodes(),V.warn("New list of nodes",r);for(let i of r){let a=t.node(i);V.warn(" Now next level",i,a),a.clusterNode&&dte(a.graph,e+1)}},"extractor"),pte=s((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=pte(t,i);r=[...r,...a]}),r},"sorter"),mte=s(t=>pte(t,t.children()),"sortNodesByHierarchy")});var vte={};ur(vte,{render:()=>jLe});var yte,jLe,xte=_(()=>{"use strict";Dd();vv();la();o9();Xn();gte();h9();i9();s9();it();gd();gt();yte=s(async(t,e,r,n,i,a)=>{V.info("Graph in recursive render: XXX",Mn(e),i);let o=e.graph().rankdir;V.trace("Dir in recursive render - dir:",o);let l=t.insert("g").attr("class","root");e.nodes()?V.info("Recursive render XXX",e.nodes()):V.info("No nodes found for",e),e.edges().length>0&&V.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));V.trace(`Setting data for parent cluster XXX +res:`,sr.polygon(e,h,p)),sr.polygon(e,h,p)},i},"question")});var nAe,jK,KK=R(()=>{"use strict";ri();hi();ki();ti();Du();nAe=o((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD"),jK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=4,l=a.height+e.padding,u=l/s,h=a.width+2*u+e.padding,f=[{x:u,y:0},{x:h-u,y:0},{x:h,y:-l/2},{x:h-u,y:-l},{x:u,y:-l},{x:0,y:-l/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Jt.svg(i),g=Fr(e,{}),y=nAe(0,0,h,l,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${l/2})`),p&&d.attr("style",p)}else d=Ma(i,h,l,f);return n&&d.attr("style",n),e.width=h,e.height=l,ar(e,d),e.intersect=function(m){return sr.polygon(e,f,m)},i},"hexagon")});var iAe,QK,ZK=R(()=>{"use strict";ri();hi();ki();ti();Du();iAe=o((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createLeanRightPathD"),QK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Jt.svg(i),p=Fr(e,{}),m=iAe(0,0,s,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ma(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,ar(e,h),e.intersect=function(d){return sr.polygon(e,u,d)},i},"lean_right")});var aAe,JK,eQ=R(()=>{"use strict";ri();hi();ki();ti();Du();aAe=o((t,e,r,n)=>[`M${t+2*n/6},${e}`,`L${t+r+n/6},${e}`,`L${t+r-2*n/6},${e-n}`,`L${t-n/6},${e-n}`,"Z"].join(" "),"createLeanLeftPathD"),JK=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:2*l/6,y:0},{x:s+l/6,y:0},{x:s-2*l/6,y:-l},{x:-l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Jt.svg(i),p=Fr(e,{}),m=aAe(0,0,s,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ma(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,ar(e,h),e.intersect=function(d){return sr.polygon(e,u,d)},i},"lean_left")});var sAe,tQ,rQ=R(()=>{"use strict";ri();hi();ki();ti();Du();sAe=o((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r+2*n/6},${e}`,`L${t+r-n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createTrapezoidPathD"),tQ=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:s+2*l/6,y:0},{x:s-l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Jt.svg(i),p=Fr(e,{}),m=sAe(0,0,s,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ma(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,ar(e,h),e.intersect=function(d){return sr.polygon(e,u,d)},i},"trapezoid")});var oAe,nQ,iQ=R(()=>{"use strict";ri();hi();ki();ti();Du();oAe=o((t,e,r,n)=>[`M${t+n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t-2*n/6},${e-n}`,"Z"].join(" "),"createInvertedTrapezoidPathD"),nQ=o(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Br(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await zr(t,e,En(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:-2*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Jt.svg(i),p=Fr(e,{}),m=oAe(0,0,s,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ma(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,ar(e,h),e.intersect=function(d){return sr.polygon(e,u,d)},i},"inv_trapezoid")});var aQ,sQ=R(()=>{"use strict";_v();ri();hi();aQ=o(async(t,e)=>{let{shapeSvg:r}=await zr(t,e,"label"),n=r.insert("rect",":first-child");return n.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),ar(e,n),e.intersect=function(s){return sr.rect(e,s)},r},"labelRect")});var oQ,ym,rw,lQ,cQ,eL,tL=R(()=>{"use strict";ut();xK();wK();kK();CK();AK();_K();DK();NK();IK();PK();_t();FK();$K();VK();HK();WK();XK();KK();ZK();eQ();rQ();iQ();sQ();oQ={state:vK,stateStart:EK,stateEnd:SK,fork:J9,join:J9,choice:LK,note:RK,roundedRect:bK,rectWithTitle:OK,squareRect:TK,stadium:MK,subroutine:BK,cylinder:zK,circle:GK,doublecircle:UK,odd:YK,diamond:qK,hexagon:jK,lean_right:QK,lean_left:JK,trapezoid:tQ,inv_trapezoid:nQ,labelRect:aQ},ym=new Map,rw=o(async(t,e,r)=>{let n,i;if(e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect"),e.link){let a;de().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await oQ[e.shape](n,e,r)}else i=await oQ[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),ym.set(e.id,n),e.haveCallback&&ym.get(e.id).attr("class",ym.get(e.id).attr("class")+" clickable"),n},"insertNode"),lQ=o((t,e)=>{ym.set(e.id,t)},"setNodeElem"),cQ=o(()=>{ym.clear()},"clear"),eL=o(t=>{let e=ym.get(t.id);V.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var uQ,hQ=R(()=>{"use strict";qs();rr();ut();X9();K9();Q9();tL();ri();xr();uQ={common:We,getConfig:Or,insertCluster:Y5,insertEdge:J5,insertEdgeLabel:Q5,insertMarkers:ew,insertNode:rw,interpolateToCurve:om,labelHelper:zr,log:V,positionEdgeLabel:Z5}});function cAe(t){return typeof t=="symbol"||Wn(t)&&fa(t)==lAe}var lAe,so,Nd=R(()=>{"use strict";wu();Mo();lAe="[object Symbol]";o(cAe,"isSymbol");so=cAe});function uAe(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(uAe,"arrayMap");Ss=uAe});function pQ(t){if(typeof t=="string")return t;if(wt(t))return Ss(t,pQ)+"";if(so(t))return dQ?dQ.call(t):"";var e=t+"";return e=="0"&&1/t==-hAe?"-0":e}var hAe,fQ,dQ,mQ,gQ=R(()=>{"use strict";vd();Md();Bn();Nd();hAe=1/0,fQ=Ji?Ji.prototype:void 0,dQ=fQ?fQ.toString:void 0;o(pQ,"baseToString");mQ=pQ});function dAe(t){for(var e=t.length;e--&&fAe.test(t.charAt(e)););return e}var fAe,yQ,vQ=R(()=>{"use strict";fAe=/\s/;o(dAe,"trimmedEndIndex");yQ=dAe});function mAe(t){return t&&t.slice(0,yQ(t)+1).replace(pAe,"")}var pAe,xQ,bQ=R(()=>{"use strict";vQ();pAe=/^\s+/;o(mAe,"baseTrim");xQ=mAe});function bAe(t){if(typeof t=="number")return t;if(so(t))return wQ;if(pn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=pn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=xQ(t);var r=yAe.test(t);return r||vAe.test(t)?xAe(t.slice(2),r?2:8):gAe.test(t)?wQ:+t}var wQ,gAe,yAe,vAe,xAe,TQ,kQ=R(()=>{"use strict";bQ();Js();Nd();wQ=NaN,gAe=/^[-+]0x[0-9a-f]+$/i,yAe=/^0b[01]+$/i,vAe=/^0o[0-7]+$/i,xAe=parseInt;o(bAe,"toNumber");TQ=bAe});function TAe(t){if(!t)return t===0?t:0;if(t=TQ(t),t===EQ||t===-EQ){var e=t<0?-1:1;return e*wAe}return t===t?t:0}var EQ,wAe,vm,rL=R(()=>{"use strict";kQ();EQ=1/0,wAe=17976931348623157e292;o(TAe,"toFinite");vm=TAe});function kAe(t){var e=vm(t),r=e%1;return e===e?r?e-r:e:0}var yc,xm=R(()=>{"use strict";rL();o(kAe,"toInteger");yc=kAe});var EAe,nw,CQ=R(()=>{"use strict";Nh();Ro();EAe=xs(Jn,"WeakMap"),nw=EAe});function CAe(){}var qn,nL=R(()=>{"use strict";o(CAe,"noop");qn=CAe});function SAe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(SAe,"arrayEach");iw=SAe});function AAe(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(AAe,"baseFindIndex");aw=AAe});function _Ae(t){return t!==t}var SQ,AQ=R(()=>{"use strict";o(_Ae,"baseIsNaN");SQ=_Ae});function LAe(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(LAe,"strictIndexOf");_Q=LAe});function DAe(t,e,r){return e===e?_Q(t,e,r):aw(t,SQ,r)}var bm,sw=R(()=>{"use strict";aL();AQ();LQ();o(DAe,"baseIndexOf");bm=DAe});function RAe(t,e){var r=t==null?0:t.length;return!!r&&bm(t,e,0)>-1}var ow,sL=R(()=>{"use strict";sw();o(RAe,"arrayIncludes");ow=RAe});var NAe,DQ,RQ=R(()=>{"use strict";F_();NAe=s5(Object.keys,Object),DQ=NAe});function OAe(t){if(!fc(t))return DQ(t);var e=[];for(var r in Object(t))IAe.call(t,r)&&r!="constructor"&&e.push(r);return e}var MAe,IAe,wm,lw=R(()=>{"use strict";tm();RQ();MAe=Object.prototype,IAe=MAe.hasOwnProperty;o(OAe,"baseKeys");wm=OAe});function PAe(t){return ei(t)?h5(t):wm(t)}var Dr,vc=R(()=>{"use strict";U_();lw();Io();o(PAe,"keys");Dr=PAe});var BAe,FAe,zAe,pa,NQ=R(()=>{"use strict";am();kd();q_();Io();tm();vc();BAe=Object.prototype,FAe=BAe.hasOwnProperty,zAe=p5(function(t,e){if(fc(e)||ei(e)){Bo(e,Dr(e),t);return}for(var r in e)FAe.call(e,r)&&dc(t,r,e[r])}),pa=zAe});function VAe(t,e){if(wt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||so(t)?!0:GAe.test(t)||!$Ae.test(t)||e!=null&&t in Object(e)}var $Ae,GAe,Tm,cw=R(()=>{"use strict";Bn();Nd();$Ae=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,GAe=/^\w*$/;o(VAe,"isKey");Tm=VAe});function HAe(t){var e=qp(t,function(n){return r.size===UAe&&r.clear(),n}),r=e.cache;return e}var UAe,MQ,IQ=R(()=>{"use strict";R_();UAe=500;o(HAe,"memoizeCapped");MQ=HAe});var YAe,WAe,qAe,OQ,PQ=R(()=>{"use strict";IQ();YAe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,WAe=/\\(\\)?/g,qAe=MQ(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(YAe,function(r,n,i,a){e.push(i?a.replace(WAe,"$1"):n||r)}),e}),OQ=qAe});function XAe(t){return t==null?"":mQ(t)}var uw,oL=R(()=>{"use strict";gQ();o(XAe,"toString");uw=XAe});function jAe(t,e){return wt(t)?t:Tm(t,e)?[t]:OQ(uw(t))}var Hh,Lv=R(()=>{"use strict";Bn();cw();PQ();oL();o(jAe,"castPath");Hh=jAe});function QAe(t){if(typeof t=="string"||so(t))return t;var e=t+"";return e=="0"&&1/t==-KAe?"-0":e}var KAe,xc,km=R(()=>{"use strict";Nd();KAe=1/0;o(QAe,"toKey");xc=QAe});function ZAe(t,e){e=Hh(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";Lv();km();o(ZAe,"baseGet");Yh=ZAe});function JAe(t,e,r){var n=t==null?void 0:Yh(t,e);return n===void 0?r:n}var BQ,FQ=R(()=>{"use strict";Dv();o(JAe,"get");BQ=JAe});function e8e(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o(e8e,"arrayPush");Em=e8e});function t8e(t){return wt(t)||kl(t)||!!(zQ&&t&&t[zQ])}var zQ,$Q,GQ=R(()=>{"use strict";vd();rm();Bn();zQ=Ji?Ji.isConcatSpreadable:void 0;o(t8e,"isFlattenable");$Q=t8e});function VQ(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=$Q),i||(i=[]);++a0&&r(l)?e>1?VQ(l,e-1,r,n,i):Em(i,l):n||(i[i.length]=l)}return i}var bc,Cm=R(()=>{"use strict";hw();GQ();o(VQ,"baseFlatten");bc=VQ});function r8e(t){var e=t==null?0:t.length;return e?bc(t,1):[]}var $r,fw=R(()=>{"use strict";Cm();o(r8e,"flatten");$r=r8e});function n8e(t){return d5(f5(t,void 0,$r),t+"")}var UQ,HQ=R(()=>{"use strict";fw();H_();W_();o(n8e,"flatRest");UQ=n8e});function i8e(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";o(i8e,"baseSlice");dw=i8e});function d8e(t){return f8e.test(t)}var a8e,s8e,o8e,l8e,c8e,u8e,h8e,f8e,YQ,WQ=R(()=>{"use strict";a8e="\\ud800-\\udfff",s8e="\\u0300-\\u036f",o8e="\\ufe20-\\ufe2f",l8e="\\u20d0-\\u20ff",c8e=s8e+o8e+l8e,u8e="\\ufe0e\\ufe0f",h8e="\\u200d",f8e=RegExp("["+h8e+a8e+c8e+u8e+"]");o(d8e,"hasUnicode");YQ=d8e});function p8e(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(p8e,"arrayReduce");qQ=p8e});function m8e(t,e){return t&&Bo(e,Dr(e),t)}var jQ,KQ=R(()=>{"use strict";kd();vc();o(m8e,"baseAssign");jQ=m8e});function g8e(t,e){return t&&Bo(e,bs(e),t)}var QQ,ZQ=R(()=>{"use strict";kd();zh();o(g8e,"baseAssignIn");QQ=g8e});function y8e(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(y8e,"arrayFilter");Sm=y8e});function v8e(){return[]}var mw,cL=R(()=>{"use strict";o(v8e,"stubArray");mw=v8e});var x8e,b8e,JQ,w8e,Am,gw=R(()=>{"use strict";pw();cL();x8e=Object.prototype,b8e=x8e.propertyIsEnumerable,JQ=Object.getOwnPropertySymbols,w8e=JQ?function(t){return t==null?[]:(t=Object(t),Sm(JQ(t),function(e){return b8e.call(t,e)}))}:mw,Am=w8e});function T8e(t,e){return Bo(t,Am(t),e)}var eZ,tZ=R(()=>{"use strict";kd();gw();o(T8e,"copySymbols");eZ=T8e});var k8e,E8e,yw,uL=R(()=>{"use strict";hw();o5();gw();cL();k8e=Object.getOwnPropertySymbols,E8e=k8e?function(t){for(var e=[];t;)Em(e,Am(t)),t=em(t);return e}:mw,yw=E8e});function C8e(t,e){return Bo(t,yw(t),e)}var rZ,nZ=R(()=>{"use strict";kd();uL();o(C8e,"copySymbolsIn");rZ=C8e});function S8e(t,e,r){var n=e(t);return wt(t)?n:Em(n,r(t))}var vw,hL=R(()=>{"use strict";hw();Bn();o(S8e,"baseGetAllKeys");vw=S8e});function A8e(t){return vw(t,Dr,Am)}var Rv,fL=R(()=>{"use strict";hL();gw();vc();o(A8e,"getAllKeys");Rv=A8e});function _8e(t){return vw(t,bs,yw)}var xw,dL=R(()=>{"use strict";hL();uL();zh();o(_8e,"getAllKeysIn");xw=_8e});var L8e,bw,iZ=R(()=>{"use strict";Nh();Ro();L8e=xs(Jn,"DataView"),bw=L8e});var D8e,ww,aZ=R(()=>{"use strict";Nh();Ro();D8e=xs(Jn,"Promise"),ww=D8e});var R8e,Wh,pL=R(()=>{"use strict";Nh();Ro();R8e=xs(Jn,"Set"),Wh=R8e});var sZ,N8e,oZ,lZ,cZ,uZ,M8e,I8e,O8e,P8e,B8e,Id,oo,Od=R(()=>{"use strict";iZ();J3();aZ();pL();CQ();wu();__();sZ="[object Map]",N8e="[object Object]",oZ="[object Promise]",lZ="[object Set]",cZ="[object WeakMap]",uZ="[object DataView]",M8e=Tu(bw),I8e=Tu(Oh),O8e=Tu(ww),P8e=Tu(Wh),B8e=Tu(nw),Id=fa;(bw&&Id(new bw(new ArrayBuffer(1)))!=uZ||Oh&&Id(new Oh)!=sZ||ww&&Id(ww.resolve())!=oZ||Wh&&Id(new Wh)!=lZ||nw&&Id(new nw)!=cZ)&&(Id=o(function(t){var e=fa(t),r=e==N8e?t.constructor:void 0,n=r?Tu(r):"";if(n)switch(n){case M8e:return uZ;case I8e:return sZ;case O8e:return oZ;case P8e:return lZ;case B8e:return cZ}return e},"getTag"));oo=Id});function $8e(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&z8e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var F8e,z8e,hZ,fZ=R(()=>{"use strict";F8e=Object.prototype,z8e=F8e.hasOwnProperty;o($8e,"initCloneArray");hZ=$8e});function G8e(t,e){var r=e?Jp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var dZ,pZ=R(()=>{"use strict";n5();o(G8e,"cloneDataView");dZ=G8e});function U8e(t){var e=new t.constructor(t.source,V8e.exec(t));return e.lastIndex=t.lastIndex,e}var V8e,mZ,gZ=R(()=>{"use strict";V8e=/\w*$/;o(U8e,"cloneRegExp");mZ=U8e});function H8e(t){return vZ?Object(vZ.call(t)):{}}var yZ,vZ,xZ,bZ=R(()=>{"use strict";vd();yZ=Ji?Ji.prototype:void 0,vZ=yZ?yZ.valueOf:void 0;o(H8e,"cloneSymbol");xZ=H8e});function u_e(t,e,r){var n=t.constructor;switch(e){case J8e:return Jp(t);case Y8e:case W8e:return new n(+t);case e_e:return dZ(t,r);case t_e:case r_e:case n_e:case i_e:case a_e:case s_e:case o_e:case l_e:case c_e:return i5(t,r);case q8e:return new n;case X8e:case Q8e:return new n(t);case j8e:return mZ(t);case K8e:return new n;case Z8e:return xZ(t)}}var Y8e,W8e,q8e,X8e,j8e,K8e,Q8e,Z8e,J8e,e_e,t_e,r_e,n_e,i_e,a_e,s_e,o_e,l_e,c_e,wZ,TZ=R(()=>{"use strict";n5();pZ();gZ();bZ();P_();Y8e="[object Boolean]",W8e="[object Date]",q8e="[object Map]",X8e="[object Number]",j8e="[object RegExp]",K8e="[object Set]",Q8e="[object String]",Z8e="[object Symbol]",J8e="[object ArrayBuffer]",e_e="[object DataView]",t_e="[object Float32Array]",r_e="[object Float64Array]",n_e="[object Int8Array]",i_e="[object Int16Array]",a_e="[object Int32Array]",s_e="[object Uint8Array]",o_e="[object Uint8ClampedArray]",l_e="[object Uint16Array]",c_e="[object Uint32Array]";o(u_e,"initCloneByTag");wZ=u_e});function f_e(t){return Wn(t)&&oo(t)==h_e}var h_e,kZ,EZ=R(()=>{"use strict";Od();Mo();h_e="[object Map]";o(f_e,"baseIsMap");kZ=f_e});var CZ,d_e,SZ,AZ=R(()=>{"use strict";EZ();Td();ov();CZ=Po&&Po.isMap,d_e=CZ?Oo(CZ):kZ,SZ=d_e});function m_e(t){return Wn(t)&&oo(t)==p_e}var p_e,_Z,LZ=R(()=>{"use strict";Od();Mo();p_e="[object Set]";o(m_e,"baseIsSet");_Z=m_e});var DZ,g_e,RZ,NZ=R(()=>{"use strict";LZ();Td();ov();DZ=Po&&Po.isSet,g_e=DZ?Oo(DZ):_Z,RZ=g_e});function Tw(t,e,r,n,i,a){var s,l=e&y_e,u=e&v_e,h=e&x_e;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!pn(t))return t;var f=wt(t);if(f){if(s=hZ(t),!l)return a5(t,s)}else{var d=oo(t),p=d==IZ||d==E_e;if(El(t))return r5(t,l);if(d==OZ||d==MZ||p&&!i){if(s=u||p?{}:l5(t),!l)return u?rZ(t,QQ(s,t)):eZ(t,jQ(s,t))}else{if(!Cn[d])return i?t:{};s=wZ(t,d,l)}}a||(a=new uc);var m=a.get(t);if(m)return m;a.set(t,s),RZ(t)?t.forEach(function(v){s.add(Tw(v,e,r,v,t,a))}):SZ(t)&&t.forEach(function(v,x){s.set(x,Tw(v,e,r,x,t,a))});var g=h?u?xw:Rv:u?bs:Dr,y=f?void 0:g(t);return iw(y||t,function(v,x){y&&(x=v,v=t[x]),dc(s,x,Tw(v,e,r,x,t,a))}),s}var y_e,v_e,x_e,MZ,b_e,w_e,T_e,k_e,IZ,E_e,C_e,S_e,OZ,A_e,__e,L_e,D_e,R_e,N_e,M_e,I_e,O_e,P_e,B_e,F_e,z_e,$_e,G_e,V_e,Cn,kw,mL=R(()=>{"use strict";iv();iL();am();KQ();ZQ();I_();B_();tZ();nZ();fL();dL();Od();fZ();TZ();z_();Bn();im();AZ();Js();NZ();vc();zh();y_e=1,v_e=2,x_e=4,MZ="[object Arguments]",b_e="[object Array]",w_e="[object Boolean]",T_e="[object Date]",k_e="[object Error]",IZ="[object Function]",E_e="[object GeneratorFunction]",C_e="[object Map]",S_e="[object Number]",OZ="[object Object]",A_e="[object RegExp]",__e="[object Set]",L_e="[object String]",D_e="[object Symbol]",R_e="[object WeakMap]",N_e="[object ArrayBuffer]",M_e="[object DataView]",I_e="[object Float32Array]",O_e="[object Float64Array]",P_e="[object Int8Array]",B_e="[object Int16Array]",F_e="[object Int32Array]",z_e="[object Uint8Array]",$_e="[object Uint8ClampedArray]",G_e="[object Uint16Array]",V_e="[object Uint32Array]",Cn={};Cn[MZ]=Cn[b_e]=Cn[N_e]=Cn[M_e]=Cn[w_e]=Cn[T_e]=Cn[I_e]=Cn[O_e]=Cn[P_e]=Cn[B_e]=Cn[F_e]=Cn[C_e]=Cn[S_e]=Cn[OZ]=Cn[A_e]=Cn[__e]=Cn[L_e]=Cn[D_e]=Cn[z_e]=Cn[$_e]=Cn[G_e]=Cn[V_e]=!0;Cn[k_e]=Cn[IZ]=Cn[R_e]=!1;o(Tw,"baseClone");kw=Tw});function H_e(t){return kw(t,U_e)}var U_e,Qr,gL=R(()=>{"use strict";mL();U_e=4;o(H_e,"clone");Qr=H_e});function q_e(t){return kw(t,Y_e|W_e)}var Y_e,W_e,yL,PZ=R(()=>{"use strict";mL();Y_e=1,W_e=4;o(q_e,"cloneDeep");yL=q_e});function X_e(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(X_e,"compact");wc=X_e});function K_e(t){return this.__data__.set(t,j_e),this}var j_e,FZ,zZ=R(()=>{"use strict";j_e="__lodash_hash_undefined__";o(K_e,"setCacheAdd");FZ=K_e});function Q_e(t){return this.__data__.has(t)}var $Z,GZ=R(()=>{"use strict";o(Q_e,"setCacheHas");$Z=Q_e});function Ew(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new bd;++e{"use strict";e5();zZ();GZ();o(Ew,"SetCache");Ew.prototype.add=Ew.prototype.push=FZ;Ew.prototype.has=$Z;_m=Ew});function Z_e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(Z_e,"arraySome");Sw=Z_e});function J_e(t,e){return t.has(e)}var Lm,Aw=R(()=>{"use strict";o(J_e,"cacheHas");Lm=J_e});function r9e(t,e,r,n,i,a){var s=r&e9e,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&t9e?new _m:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";Cw();vL();Aw();e9e=1,t9e=2;o(r9e,"equalArrays");_w=r9e});function n9e(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var VZ,UZ=R(()=>{"use strict";o(n9e,"mapToArray");VZ=n9e});function i9e(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Dm,Lw=R(()=>{"use strict";o(i9e,"setToArray");Dm=i9e});function v9e(t,e,r,n,i,a,s){switch(r){case y9e:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case g9e:return!(t.byteLength!=e.byteLength||!a(new Zp(t),new Zp(e)));case o9e:case l9e:case h9e:return No(+t,+e);case c9e:return t.name==e.name&&t.message==e.message;case f9e:case p9e:return t==e+"";case u9e:var l=VZ;case d9e:var u=n&a9e;if(l||(l=Dm),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=s9e,s.set(t,e);var f=_w(l(t),l(e),n,i,a,s);return s.delete(t),f;case m9e:if(bL)return bL.call(t)==bL.call(e)}return!1}var a9e,s9e,o9e,l9e,c9e,u9e,h9e,f9e,d9e,p9e,m9e,g9e,y9e,HZ,bL,YZ,WZ=R(()=>{"use strict";vd();O_();xd();xL();UZ();Lw();a9e=1,s9e=2,o9e="[object Boolean]",l9e="[object Date]",c9e="[object Error]",u9e="[object Map]",h9e="[object Number]",f9e="[object RegExp]",d9e="[object Set]",p9e="[object String]",m9e="[object Symbol]",g9e="[object ArrayBuffer]",y9e="[object DataView]",HZ=Ji?Ji.prototype:void 0,bL=HZ?HZ.valueOf:void 0;o(v9e,"equalByTag");YZ=v9e});function T9e(t,e,r,n,i,a){var s=r&x9e,l=Rv(t),u=l.length,h=Rv(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:w9e.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";fL();x9e=1,b9e=Object.prototype,w9e=b9e.hasOwnProperty;o(T9e,"equalObjects");qZ=T9e});function C9e(t,e,r,n,i,a){var s=wt(t),l=wt(e),u=s?KZ:oo(t),h=l?KZ:oo(e);u=u==jZ?Dw:u,h=h==jZ?Dw:h;var f=u==Dw,d=h==Dw,p=u==h;if(p&&El(t)){if(!El(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new uc),s||Bh(t)?_w(t,e,r,n,i,a):YZ(t,e,u,r,n,i,a);if(!(r&k9e)){var m=f&&QZ.call(t,"__wrapped__"),g=d&&QZ.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new uc),i(y,v,r,n,a)}}return p?(a||(a=new uc),qZ(t,e,r,n,i,a)):!1}var k9e,jZ,KZ,Dw,E9e,QZ,ZZ,JZ=R(()=>{"use strict";iv();xL();WZ();XZ();Od();Bn();im();lv();k9e=1,jZ="[object Arguments]",KZ="[object Array]",Dw="[object Object]",E9e=Object.prototype,QZ=E9e.hasOwnProperty;o(C9e,"baseIsEqualDeep");ZZ=C9e});function eJ(t,e,r,n,i){return t===e?!0:t==null||e==null||!Wn(t)&&!Wn(e)?t!==t&&e!==e:ZZ(t,e,r,n,eJ,i)}var Rw,wL=R(()=>{"use strict";JZ();Mo();o(eJ,"baseIsEqual");Rw=eJ});function _9e(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";iv();wL();S9e=1,A9e=2;o(_9e,"baseIsMatch");tJ=_9e});function L9e(t){return t===t&&!pn(t)}var Nw,TL=R(()=>{"use strict";Js();o(L9e,"isStrictComparable");Nw=L9e});function D9e(t){for(var e=Dr(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Nw(i)]}return e}var nJ,iJ=R(()=>{"use strict";TL();vc();o(D9e,"getMatchData");nJ=D9e});function R9e(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Mw,kL=R(()=>{"use strict";o(R9e,"matchesStrictComparable");Mw=R9e});function N9e(t){var e=nJ(t);return e.length==1&&e[0][2]?Mw(e[0][0],e[0][1]):function(r){return r===t||tJ(r,t,e)}}var aJ,sJ=R(()=>{"use strict";rJ();iJ();kL();o(N9e,"baseMatches");aJ=N9e});function M9e(t,e){return t!=null&&e in Object(t)}var oJ,lJ=R(()=>{"use strict";o(M9e,"baseHasIn");oJ=M9e});function I9e(t,e,r){e=Hh(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";Lv();rm();Bn();uv();c5();km();o(I9e,"hasPath");Iw=I9e});function O9e(t,e){return t!=null&&Iw(t,e,oJ)}var Ow,CL=R(()=>{"use strict";lJ();EL();o(O9e,"hasIn");Ow=O9e});function F9e(t,e){return Tm(t)&&Nw(e)?Mw(xc(t),e):function(r){var n=BQ(r,t);return n===void 0&&n===e?Ow(r,t):Rw(e,n,P9e|B9e)}}var P9e,B9e,cJ,uJ=R(()=>{"use strict";wL();FQ();CL();cw();TL();kL();km();P9e=1,B9e=2;o(F9e,"baseMatchesProperty");cJ=F9e});function z9e(t){return function(e){return e?.[t]}}var Pw,SL=R(()=>{"use strict";o(z9e,"baseProperty");Pw=z9e});function $9e(t){return function(e){return Yh(e,t)}}var hJ,fJ=R(()=>{"use strict";Dv();o($9e,"basePropertyDeep");hJ=$9e});function G9e(t){return Tm(t)?Pw(xc(t)):hJ(t)}var dJ,pJ=R(()=>{"use strict";SL();fJ();cw();km();o(G9e,"property");dJ=G9e});function V9e(t){return typeof t=="function"?t:t==null?ea:typeof t=="object"?wt(t)?cJ(t[0],t[1]):aJ(t):dJ(t)}var cn,Qa=R(()=>{"use strict";sJ();uJ();Eu();Bn();pJ();o(V9e,"baseIteratee");cn=V9e});function U9e(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(U9e,"arrayAggregator");mJ=U9e});function H9e(t,e){return t&&Qp(t,e,Dr)}var Rm,Bw=R(()=>{"use strict";t5();vc();o(H9e,"baseForOwn");Rm=H9e});function Y9e(t,e){return function(r,n){if(r==null)return r;if(!ei(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";Io();o(Y9e,"createBaseEach");yJ=Y9e});var W9e,As,qh=R(()=>{"use strict";Bw();vJ();W9e=yJ(Rm),As=W9e});function q9e(t,e,r,n){return As(t,function(i,a,s){e(n,i,r(i),s)}),n}var xJ,bJ=R(()=>{"use strict";qh();o(q9e,"baseAggregator");xJ=q9e});function X9e(t,e){return function(r,n){var i=wt(r)?mJ:xJ,a=e?e():{};return i(r,t,cn(n,2),a)}}var wJ,TJ=R(()=>{"use strict";gJ();bJ();Qa();Bn();o(X9e,"createAggregator");wJ=X9e});var j9e,Fw,kJ=R(()=>{"use strict";Ro();j9e=o(function(){return Jn.Date.now()},"now"),Fw=j9e});var EJ,K9e,Q9e,Xh,CJ=R(()=>{"use strict";sm();xd();Ed();zh();EJ=Object.prototype,K9e=EJ.hasOwnProperty,Q9e=pc(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&eo(e[0],e[1],i)&&(n=1);++r{"use strict";o(Z9e,"arrayIncludesWith");zw=Z9e});function eLe(t,e,r,n){var i=-1,a=ow,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=Ss(e,Oo(r))),n?(a=zw,s=!1):e.length>=J9e&&(a=Lm,s=!1,e=new _m(e));e:for(;++i{"use strict";Cw();sL();AL();Md();Td();Aw();J9e=200;o(eLe,"baseDifference");SJ=eLe});var tLe,jh,_J=R(()=>{"use strict";AJ();Cm();sm();u5();tLe=pc(function(t,e){return wd(t)?SJ(t,bc(e,1,wd,!0)):[]}),jh=tLe});function rLe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ma,LJ=R(()=>{"use strict";o(rLe,"last");ma=rLe});function nLe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:yc(e),dw(t,e<0?0:e,n)):[]}var fi,DJ=R(()=>{"use strict";lL();xm();o(nLe,"drop");fi=nLe});function iLe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:yc(e),e=n-e,dw(t,0,e<0?0:e)):[]}var Ru,RJ=R(()=>{"use strict";lL();xm();o(iLe,"dropRight");Ru=iLe});function aLe(t){return typeof t=="function"?t:ea}var Nm,$w=R(()=>{"use strict";Eu();o(aLe,"castFunction");Nm=aLe});function sLe(t,e){var r=wt(t)?iw:As;return r(t,Nm(e))}var Ee,Gw=R(()=>{"use strict";iL();qh();$w();Bn();o(sLe,"forEach");Ee=sLe});var NJ=R(()=>{"use strict";Gw()});function oLe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(oLe,"arrayEvery");MJ=oLe});function lLe(t,e){var r=!0;return As(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var OJ,PJ=R(()=>{"use strict";qh();o(lLe,"baseEvery");OJ=lLe});function cLe(t,e,r){var n=wt(t)?MJ:OJ;return r&&eo(t,e,r)&&(e=void 0),n(t,cn(e,3))}var Ia,BJ=R(()=>{"use strict";IJ();PJ();Qa();Bn();Ed();o(cLe,"every");Ia=cLe});function uLe(t,e){var r=[];return As(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var Vw,_L=R(()=>{"use strict";qh();o(uLe,"baseFilter");Vw=uLe});function hLe(t,e){var r=wt(t)?Sm:Vw;return r(t,cn(e,3))}var Gr,LL=R(()=>{"use strict";pw();_L();Qa();Bn();o(hLe,"filter");Gr=hLe});function fLe(t){return function(e,r,n){var i=Object(e);if(!ei(e)){var a=cn(r,3);e=Dr(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var FJ,zJ=R(()=>{"use strict";Qa();Io();vc();o(fLe,"createFind");FJ=fLe});function pLe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:yc(r);return i<0&&(i=dLe(n+i,0)),aw(t,cn(e,3),i)}var dLe,$J,GJ=R(()=>{"use strict";aL();Qa();xm();dLe=Math.max;o(pLe,"findIndex");$J=pLe});var mLe,Za,VJ=R(()=>{"use strict";zJ();GJ();mLe=FJ($J),Za=mLe});function gLe(t){return t&&t.length?t[0]:void 0}var na,UJ=R(()=>{"use strict";o(gLe,"head");na=gLe});var HJ=R(()=>{"use strict";UJ()});function yLe(t,e){var r=-1,n=ei(t)?Array(t.length):[];return As(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var Uw,DL=R(()=>{"use strict";qh();Io();o(yLe,"baseMap");Uw=yLe});function vLe(t,e){var r=wt(t)?Ss:Uw;return r(t,cn(e,3))}var qe,Mm=R(()=>{"use strict";Md();Qa();DL();Bn();o(vLe,"map");qe=vLe});function xLe(t,e){return bc(qe(t,e),1)}var ga,RL=R(()=>{"use strict";Cm();Mm();o(xLe,"flatMap");ga=xLe});function bLe(t,e){return t==null?t:Qp(t,Nm(e),bs)}var NL,YJ=R(()=>{"use strict";t5();$w();zh();o(bLe,"forIn");NL=bLe});function wLe(t,e){return t&&Rm(t,Nm(e))}var ML,WJ=R(()=>{"use strict";Bw();$w();o(wLe,"forOwn");ML=wLe});var TLe,kLe,ELe,IL,qJ=R(()=>{"use strict";Kp();TJ();TLe=Object.prototype,kLe=TLe.hasOwnProperty,ELe=wJ(function(t,e,r){kLe.call(t,r)?t[r].push(e):hc(t,r,[e])}),IL=ELe});function CLe(t,e){return t>e}var XJ,jJ=R(()=>{"use strict";o(CLe,"baseGt");XJ=CLe});function _Le(t,e){return t!=null&&ALe.call(t,e)}var SLe,ALe,KJ,QJ=R(()=>{"use strict";SLe=Object.prototype,ALe=SLe.hasOwnProperty;o(_Le,"baseHas");KJ=_Le});function LLe(t,e){return t!=null&&Iw(t,e,KJ)}var Xe,ZJ=R(()=>{"use strict";QJ();EL();o(LLe,"has");Xe=LLe});function RLe(t){return typeof t=="string"||!wt(t)&&Wn(t)&&fa(t)==DLe}var DLe,di,Hw=R(()=>{"use strict";wu();Bn();Mo();DLe="[object String]";o(RLe,"isString");di=RLe});function NLe(t,e){return Ss(e,function(r){return t[r]})}var JJ,eee=R(()=>{"use strict";Md();o(NLe,"baseValues");JJ=NLe});function MLe(t){return t==null?[]:JJ(t,Dr(t))}var or,OL=R(()=>{"use strict";eee();vc();o(MLe,"values");or=MLe});function OLe(t,e,r,n){t=ei(t)?t:or(t),r=r&&!n?yc(r):0;var i=t.length;return r<0&&(r=ILe(i+r,0)),di(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&bm(t,e,r)>-1}var ILe,Fn,tee=R(()=>{"use strict";sw();Io();Hw();xm();OL();ILe=Math.max;o(OLe,"includes");Fn=OLe});function BLe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:yc(r);return i<0&&(i=PLe(n+i,0)),bm(t,e,i)}var PLe,Yw,ree=R(()=>{"use strict";sw();xm();PLe=Math.max;o(BLe,"indexOf");Yw=BLe});function VLe(t){if(t==null)return!0;if(ei(t)&&(wt(t)||typeof t=="string"||typeof t.splice=="function"||El(t)||Bh(t)||kl(t)))return!t.length;var e=oo(t);if(e==FLe||e==zLe)return!t.size;if(fc(t))return!wm(t).length;for(var r in t)if(GLe.call(t,r))return!1;return!0}var FLe,zLe,$Le,GLe,Qt,Ww=R(()=>{"use strict";lw();Od();rm();Bn();Io();im();tm();lv();FLe="[object Map]",zLe="[object Set]",$Le=Object.prototype,GLe=$Le.hasOwnProperty;o(VLe,"isEmpty");Qt=VLe});function HLe(t){return Wn(t)&&fa(t)==ULe}var ULe,nee,iee=R(()=>{"use strict";wu();Mo();ULe="[object RegExp]";o(HLe,"baseIsRegExp");nee=HLe});var aee,YLe,zo,see=R(()=>{"use strict";iee();Td();ov();aee=Po&&Po.isRegExp,YLe=aee?Oo(aee):nee,zo=YLe});function WLe(t){return t===void 0}var er,oee=R(()=>{"use strict";o(WLe,"isUndefined");er=WLe});function qLe(t,e){return t{"use strict";o(qLe,"baseLt");qw=qLe});function XLe(t,e){var r={};return e=cn(e,3),Rm(t,function(n,i,a){hc(r,i,e(n,i,a))}),r}var Pd,lee=R(()=>{"use strict";Kp();Bw();Qa();o(XLe,"mapValues");Pd=XLe});function jLe(t,e,r){for(var n=-1,i=t.length;++n{"use strict";Nd();o(jLe,"baseExtremum");Im=jLe});function KLe(t){return t&&t.length?Im(t,ea,XJ):void 0}var _s,cee=R(()=>{"use strict";Xw();jJ();Eu();o(KLe,"max");_s=KLe});function QLe(t){return t&&t.length?Im(t,ea,qw):void 0}var Ll,BL=R(()=>{"use strict";Xw();PL();Eu();o(QLe,"min");Ll=QLe});function ZLe(t,e){return t&&t.length?Im(t,cn(e,2),qw):void 0}var Bd,uee=R(()=>{"use strict";Xw();Qa();PL();o(ZLe,"minBy");Bd=ZLe});function eDe(t){if(typeof t!="function")throw new TypeError(JLe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var JLe,hee,fee=R(()=>{"use strict";JLe="Expected a function";o(eDe,"negate");hee=eDe});function tDe(t,e,r,n){if(!pn(t))return t;e=Hh(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";am();Lv();uv();Js();km();o(tDe,"baseSet");dee=tDe});function rDe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";Dv();pee();Lv();o(rDe,"basePickBy");jw=rDe});function nDe(t,e){if(t==null)return{};var r=Ss(xw(t),function(n){return[n]});return e=cn(e),jw(t,r,function(n,i){return e(n,i[0])})}var Ls,mee=R(()=>{"use strict";Md();Qa();FL();dL();o(nDe,"pickBy");Ls=nDe});function iDe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var gee,yee=R(()=>{"use strict";o(iDe,"baseSortBy");gee=iDe});function aDe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=so(t),s=e!==void 0,l=e===null,u=e===e,h=so(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";Nd();o(aDe,"compareAscending");vee=aDe});function sDe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var bee,wee=R(()=>{"use strict";xee();o(sDe,"compareMultiple");bee=sDe});function oDe(t,e,r){e.length?e=Ss(e,function(a){return wt(a)?function(s){return Yh(s,a.length===1?a[0]:a)}:a}):e=[ea];var n=-1;e=Ss(e,Oo(cn));var i=Uw(t,function(a,s,l){var u=Ss(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return gee(i,function(a,s){return bee(a,s,r)})}var Tee,kee=R(()=>{"use strict";Md();Dv();Qa();DL();yee();Td();wee();Eu();Bn();o(oDe,"baseOrderBy");Tee=oDe});var lDe,Eee,Cee=R(()=>{"use strict";SL();lDe=Pw("length"),Eee=lDe});function bDe(t){for(var e=See.lastIndex=0;See.test(t);)++e;return e}var Aee,cDe,uDe,hDe,fDe,dDe,pDe,zL,$L,mDe,_ee,Lee,Dee,gDe,Ree,Nee,yDe,vDe,xDe,See,Mee,Iee=R(()=>{"use strict";Aee="\\ud800-\\udfff",cDe="\\u0300-\\u036f",uDe="\\ufe20-\\ufe2f",hDe="\\u20d0-\\u20ff",fDe=cDe+uDe+hDe,dDe="\\ufe0e\\ufe0f",pDe="["+Aee+"]",zL="["+fDe+"]",$L="\\ud83c[\\udffb-\\udfff]",mDe="(?:"+zL+"|"+$L+")",_ee="[^"+Aee+"]",Lee="(?:\\ud83c[\\udde6-\\uddff]){2}",Dee="[\\ud800-\\udbff][\\udc00-\\udfff]",gDe="\\u200d",Ree=mDe+"?",Nee="["+dDe+"]?",yDe="(?:"+gDe+"(?:"+[_ee,Lee,Dee].join("|")+")"+Nee+Ree+")*",vDe=Nee+Ree+yDe,xDe="(?:"+[_ee+zL+"?",zL,Lee,Dee,pDe].join("|")+")",See=RegExp($L+"(?="+$L+")|"+xDe+vDe,"g");o(bDe,"unicodeSize");Mee=bDe});function wDe(t){return YQ(t)?Mee(t):Eee(t)}var Oee,Pee=R(()=>{"use strict";Cee();WQ();Iee();o(wDe,"stringSize");Oee=wDe});function TDe(t,e){return jw(t,e,function(r,n){return Ow(t,n)})}var Bee,Fee=R(()=>{"use strict";FL();CL();o(TDe,"basePick");Bee=TDe});var kDe,Fd,zee=R(()=>{"use strict";Fee();HQ();kDe=UQ(function(t,e){return t==null?{}:Bee(t,e)}),Fd=kDe});function SDe(t,e,r,n){for(var i=-1,a=CDe(EDe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var EDe,CDe,$ee,Gee=R(()=>{"use strict";EDe=Math.ceil,CDe=Math.max;o(SDe,"baseRange");$ee=SDe});function ADe(t){return function(e,r,n){return n&&typeof n!="number"&&eo(e,r,n)&&(r=n=void 0),e=vm(e),r===void 0?(r=e,e=0):r=vm(r),n=n===void 0?e{"use strict";Gee();Ed();rL();o(ADe,"createRange");Vee=ADe});var _De,$o,Hee=R(()=>{"use strict";Uee();_De=Vee(),$o=_De});function LDe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var Yee,Wee=R(()=>{"use strict";o(LDe,"baseReduce");Yee=LDe});function DDe(t,e,r){var n=wt(t)?qQ:Yee,i=arguments.length<3;return n(t,cn(e,4),r,i,As)}var Vr,GL=R(()=>{"use strict";XQ();qh();Qa();Wee();Bn();o(DDe,"reduce");Vr=DDe});function RDe(t,e){var r=wt(t)?Sm:Vw;return r(t,hee(cn(e,3)))}var Kh,qee=R(()=>{"use strict";pw();_L();Qa();Bn();fee();o(RDe,"reject");Kh=RDe});function IDe(t){if(t==null)return 0;if(ei(t))return di(t)?Oee(t):t.length;var e=oo(t);return e==NDe||e==MDe?t.size:wm(t).length}var NDe,MDe,VL,Xee=R(()=>{"use strict";lw();Od();Io();Hw();Pee();NDe="[object Map]",MDe="[object Set]";o(IDe,"size");VL=IDe});function ODe(t,e){var r;return As(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var jee,Kee=R(()=>{"use strict";qh();o(ODe,"baseSome");jee=ODe});function PDe(t,e,r){var n=wt(t)?Sw:jee;return r&&eo(t,e,r)&&(e=void 0),n(t,cn(e,3))}var Nv,Qee=R(()=>{"use strict";vL();Qa();Kee();Bn();Ed();o(PDe,"some");Nv=PDe});var BDe,Tc,Zee=R(()=>{"use strict";Cm();kee();sm();Ed();BDe=pc(function(t,e){if(t==null)return[];var r=e.length;return r>1&&eo(t,e[0],e[1])?e=[]:r>2&&eo(e[0],e[1],e[2])&&(e=[e[0]]),Tee(t,bc(e,1),[])}),Tc=BDe});var FDe,zDe,Jee,ete=R(()=>{"use strict";pL();nL();Lw();FDe=1/0,zDe=Wh&&1/Dm(new Wh([,-0]))[1]==FDe?function(t){return new Wh(t)}:qn,Jee=zDe});function GDe(t,e,r){var n=-1,i=ow,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=zw;else if(a>=$De){var h=e?null:Jee(t);if(h)return Dm(h);s=!1,i=Lm,u=new _m}else u=e?[]:l;e:for(;++n{"use strict";Cw();sL();AL();Aw();ete();Lw();$De=200;o(GDe,"baseUniq");Om=GDe});var VDe,UL,tte=R(()=>{"use strict";Cm();sm();Kw();u5();VDe=pc(function(t){return Om(bc(t,1,wd,!0))}),UL=VDe});function UDe(t){return t&&t.length?Om(t):[]}var Pm,rte=R(()=>{"use strict";Kw();o(UDe,"uniq");Pm=UDe});function HDe(t,e){return t&&t.length?Om(t,cn(e,2)):[]}var nte,ite=R(()=>{"use strict";Qa();Kw();o(HDe,"uniqBy");nte=HDe});function WDe(t){var e=++YDe;return uw(t)+e}var YDe,zd,ate=R(()=>{"use strict";oL();YDe=0;o(WDe,"uniqueId");zd=WDe});function qDe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(qDe,"baseZipObject");ste=qDe});function XDe(t,e){return ste(t||[],e||[],dc)}var Qw,lte=R(()=>{"use strict";am();ote();o(XDe,"zipObject");Qw=XDe});var Pt=R(()=>{"use strict";NQ();gL();PZ();BZ();Y_();CJ();_J();DJ();RJ();NJ();BJ();LL();VJ();HJ();RL();fw();Gw();YJ();WJ();qJ();ZJ();Eu();tee();ree();Bn();Ww();Jy();Js();see();Hw();oee();vc();LJ();Mm();lee();cee();X_();BL();uee();nL();kJ();zee();mee();Hee();GL();qee();Xee();Qee();Zee();tte();rte();ate();OL();lte();});function ute(t,e){t[e]?t[e]++:t[e]=1}function hte(t,e){--t[e]||delete t[e]}function Mv(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+cte+a+cte+(er(n)?jDe:n)}function KDe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function HL(t,e){return Mv(t,e.v,e.w,e.name)}var jDe,$d,cte,lr,Zw=R(()=>{"use strict";Pt();jDe="\0",$d="\0",cte="",lr=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Xe(e,"directed")?e.directed:!0,this._isMultigraph=Xe(e,"multigraph")?e.multigraph:!1,this._isCompound=Xe(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=ws(void 0),this._defaultEdgeLabelFn=ws(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[$d]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return wi(e)||(e=ws(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Dr(this._nodes)}sources(){var e=this;return Gr(this.nodes(),function(r){return Qt(e._in[r])})}sinks(){var e=this;return Gr(this.nodes(),function(r){return Qt(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Ee(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Xe(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=$d,this._children[e]={},this._children[$d][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Xe(this._nodes,e)}removeNode(e){var r=this;if(Xe(this._nodes,e)){var n=o(function(i){r.removeEdge(r._edgeObjs[i])},"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Ee(this.children(e),function(i){r.setParent(i)}),delete this._children[e]),Ee(Dr(this._in[e]),n),delete this._in[e],delete this._preds[e],Ee(Dr(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(er(r))r=$d;else{r+="";for(var n=r;!er(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==$d)return r}}children(e){if(er(e)&&(e=$d),this._isCompound){var r=this._children[e];if(r)return Dr(r)}else{if(e===$d)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return Dr(r)}successors(e){var r=this._sucs[e];if(r)return Dr(r)}neighbors(e){var r=this.predecessors(e);if(r)return UL(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;Ee(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Ee(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Ee(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return wi(e)||(e=ws(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return or(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return Vr(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,er(n)||(n=""+n);var l=Mv(this._isDirected,e,r,n);if(Xe(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!er(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=KDe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,ute(this._preds[r],e),ute(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?HL(this._isDirected,arguments[0]):Mv(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?HL(this._isDirected,arguments[0]):Mv(this._isDirected,e,r,n);return Xe(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?HL(this._isDirected,arguments[0]):Mv(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],hte(this._preds[r],e),hte(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=or(n);return r?Gr(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=or(n);return r?Gr(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};lr.prototype._nodeCount=0;lr.prototype._edgeCount=0;o(ute,"incrementOrInitEntry");o(hte,"decrementOrRemoveEntry");o(Mv,"edgeArgsToId");o(KDe,"edgeArgsToObj");o(HL,"edgeObjToId")});var ya=R(()=>{"use strict";Zw()});function fte(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function QDe(t,e){if(t!=="_next"&&t!=="_prev")return e}var Jw,dte=R(()=>{"use strict";Jw=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return fte(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&fte(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,QDe)),n=n._prev;return"["+e.join(", ")+"]"}};o(fte,"unlink");o(QDe,"filterOutLinks")});function pte(t,e){if(t.nodeCount()<=1)return[];var r=eRe(t,e||ZDe),n=JDe(r.graph,r.buckets,r.zeroIdx);return $r(qe(n,function(i){return t.outEdges(i.v,i.w)}))}function JDe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)YL(t,e,r,s);for(;s=i.dequeue();)YL(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(YL(t,e,r,s,!0));break}}}return n}function YL(t,e,r,n,i){var a=i?[]:void 0;return Ee(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,WL(e,r,u)}),Ee(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,WL(e,r,h)}),t.removeNode(n.v),a}function eRe(t,e){var r=new lr,n=0,i=0;Ee(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Ee(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=$o(i+n+3).map(function(){return new Jw}),s=n+1;return Ee(r.nodes(),function(l){WL(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function WL(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var ZDe,mte=R(()=>{"use strict";Pt();ya();dte();ZDe=ws(1);o(pte,"greedyFAS");o(JDe,"doGreedyFAS");o(YL,"removeNode");o(eRe,"buildState");o(WL,"assignBucket")});function gte(t){var e=t.graph().acyclicer==="greedy"?pte(t,r(t)):tRe(t);Ee(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,zd("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function tRe(t){var e=[],r={},n={};function i(a){Xe(n,a)||(n[a]=!0,r[a]=!0,Ee(t.outEdges(a),function(s){Xe(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Ee(t.nodes(),i),e}function yte(t){Ee(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var qL=R(()=>{"use strict";Pt();mte();o(gte,"run");o(tRe,"dfsFAS");o(yte,"undo")});function kc(t,e,r,n){var i;do i=zd(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function xte(t){var e=new lr().setGraph(t.graph());return Ee(t.nodes(),function(r){e.setNode(r,t.node(r))}),Ee(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function eT(t){var e=new lr({multigraph:t.isMultigraph()}).setGraph(t.graph());return Ee(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Ee(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function XL(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function Qh(t){var e=qe($o(KL(t)+1),function(){return[]});return Ee(t.nodes(),function(r){var n=t.node(r),i=n.rank;er(i)||(e[i][n.order]=r)}),e}function bte(t){var e=Ll(qe(t.nodes(),function(r){return t.node(r).rank}));Ee(t.nodes(),function(r){var n=t.node(r);Xe(n,"rank")&&(n.rank-=e)})}function wte(t){var e=Ll(qe(t.nodes(),function(a){return t.node(a).rank})),r=[];Ee(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;Ee(r,function(a,s){er(a)&&s%i!==0?--n:n&&Ee(a,function(l){t.node(l).rank+=n})})}function jL(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),kc(t,"border",i,e)}function KL(t){return _s(qe(t.nodes(),function(e){var r=t.node(e).rank;if(!er(r))return r}))}function Tte(t,e){var r={lhs:[],rhs:[]};return Ee(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function kte(t,e){var r=Fw();try{return e()}finally{console.log(t+" time: "+(Fw()-r)+"ms")}}function Ete(t,e){return e()}var Ec=R(()=>{"use strict";Pt();ya();o(kc,"addDummyNode");o(xte,"simplify");o(eT,"asNonCompoundGraph");o(XL,"intersectRect");o(Qh,"buildLayerMatrix");o(bte,"normalizeRanks");o(wte,"removeEmptyRanks");o(jL,"addBorderNode");o(KL,"maxRank");o(Tte,"partition");o(kte,"time");o(Ete,"notime")});function Ste(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Ee(n,e),Xe(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";Pt();Ec();o(Ste,"addBorderSegments");o(Cte,"addBorderNode")});function Lte(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&Rte(t)}function Dte(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&rRe(t),(e==="lr"||e==="rl")&&(nRe(t),Rte(t))}function Rte(t){Ee(t.nodes(),function(e){_te(t.node(e))}),Ee(t.edges(),function(e){_te(t.edge(e))})}function _te(t){var e=t.width;t.width=t.height,t.height=e}function rRe(t){Ee(t.nodes(),function(e){QL(t.node(e))}),Ee(t.edges(),function(e){var r=t.edge(e);Ee(r.points,QL),Xe(r,"y")&&QL(r)})}function QL(t){t.y=-t.y}function nRe(t){Ee(t.nodes(),function(e){ZL(t.node(e))}),Ee(t.edges(),function(e){var r=t.edge(e);Ee(r.points,ZL),Xe(r,"x")&&ZL(r)})}function ZL(t){var e=t.x;t.x=t.y,t.y=e}var Nte=R(()=>{"use strict";Pt();o(Lte,"adjust");o(Dte,"undo");o(Rte,"swapWidthHeight");o(_te,"swapWidthHeightOne");o(rRe,"reverseY");o(QL,"reverseYOne");o(nRe,"swapXY");o(ZL,"swapXYOne")});function Mte(t){t.graph().dummyChains=[],Ee(t.edges(),function(e){aRe(t,e)})}function aRe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h,f,d;for(d=0,++n;n{"use strict";Pt();Ec();o(Mte,"run");o(aRe,"normalizeEdge");o(Ite,"undo")});function Iv(t){var e={};function r(n){var i=t.node(n);if(Xe(e,n))return i.rank;e[n]=!0;var a=Ll(qe(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}o(r,"dfs"),Ee(t.sources(),r)}function Gd(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var tT=R(()=>{"use strict";Pt();o(Iv,"longestPath");o(Gd,"slack")});function rT(t){var e=new lr({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;sRe(e,t){"use strict";Pt();ya();tT();o(rT,"feasibleTree");o(sRe,"tightTree");o(oRe,"findMinSlackEdge");o(lRe,"shiftRanks")});var Pte=R(()=>{"use strict"});var tD=R(()=>{"use strict"});var t$t,rD=R(()=>{"use strict";Pt();tD();t$t=ws(1)});var Bte=R(()=>{"use strict";rD()});var nD=R(()=>{"use strict"});var Fte=R(()=>{"use strict";nD()});var f$t,zte=R(()=>{"use strict";Pt();f$t=ws(1)});function iD(t){var e={},r={},n=[];function i(a){if(Xe(r,a))throw new Ov;Xe(e,a)||(r[a]=!0,e[a]=!0,Ee(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Ee(t.sinks(),i),VL(e)!==t.nodeCount())throw new Ov;return n}function Ov(){}var aD=R(()=>{"use strict";Pt();iD.CycleException=Ov;o(iD,"topsort");o(Ov,"CycleException");Ov.prototype=new Error});var $te=R(()=>{"use strict";aD()});function nT(t,e,r){wt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Ee(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);Gte(t,s,r==="post",a,n,i)}),i}function Gte(t,e,r,n,i,a){Xe(n,e)||(n[e]=!0,r||a.push(e),Ee(i(e),function(s){Gte(t,s,r,n,i,a)}),r&&a.push(e))}var sD=R(()=>{"use strict";Pt();o(nT,"dfs");o(Gte,"doDfs")});function oD(t,e){return nT(t,e,"post")}var Vte=R(()=>{"use strict";sD();o(oD,"postorder")});function lD(t,e){return nT(t,e,"pre")}var Ute=R(()=>{"use strict";sD();o(lD,"preorder")});var Hte=R(()=>{"use strict";tD();Zw()});var Yte=R(()=>{"use strict";Pte();rD();Bte();Fte();zte();$te();Vte();Ute();Hte();nD();aD()});function Jh(t){t=xte(t),Iv(t);var e=rT(t);uD(e),cD(e,t);for(var r,n;r=jte(e);)n=Kte(e,t,r),Qte(e,t,r,n)}function cD(t,e){var r=oD(t,t.nodes());r=r.slice(0,r.length-1),Ee(r,function(n){dRe(t,e,n)})}function dRe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=qte(t,e,r)}function qte(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Ee(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,mRe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function uD(t,e){arguments.length<2&&(e=t.nodes()[0]),Xte(t,{},1,e)}function Xte(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Ee(t.neighbors(n),function(l){Xe(e,l)||(r=Xte(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function jte(t){return Za(t.edges(),function(e){return t.edge(e).cutvalue<0})}function Kte(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=Gr(e.edges(),function(f){return u===Wte(t,t.node(f.v),l)&&u!==Wte(t,t.node(f.w),l)});return Bd(h,function(f){return Gd(e,f)})}function Qte(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),uD(t),cD(t,e),pRe(t,e)}function pRe(t,e){var r=Za(t.nodes(),function(i){return!e.node(i).parent}),n=lD(t,r);n=n.slice(1),Ee(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function mRe(t,e,r){return t.hasEdge(e,r)}function Wte(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var Zte=R(()=>{"use strict";Pt();Yte();Ec();eD();tT();Jh.initLowLimValues=uD;Jh.initCutValues=cD;Jh.calcCutValue=qte;Jh.leaveEdge=jte;Jh.enterEdge=Kte;Jh.exchangeEdges=Qte;o(Jh,"networkSimplex");o(cD,"initCutValues");o(dRe,"assignCutValue");o(qte,"calcCutValue");o(uD,"initLowLimValues");o(Xte,"dfsAssignLowLim");o(jte,"leaveEdge");o(Kte,"enterEdge");o(Qte,"exchangeEdges");o(pRe,"updateRanks");o(mRe,"isTreeEdge");o(Wte,"isDescendant")});function hD(t){switch(t.graph().ranker){case"network-simplex":Jte(t);break;case"tight-tree":yRe(t);break;case"longest-path":gRe(t);break;default:Jte(t)}}function yRe(t){Iv(t),rT(t)}function Jte(t){Jh(t)}var gRe,fD=R(()=>{"use strict";eD();Zte();tT();o(hD,"rank");gRe=Iv;o(yRe,"tightTreeRanker");o(Jte,"networkSimplexRanker")});function ere(t){var e=kc(t,"root",{},"_root"),r=vRe(t),n=_s(or(r))-1,i=2*n+1;t.graph().nestingRoot=e,Ee(t.edges(),function(s){t.edge(s).minlen*=i});var a=xRe(t)+1;Ee(t.children(),function(s){tre(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function tre(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=jL(t,"_bt"),h=jL(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Ee(l,function(d){tre(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function vRe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Ee(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Ee(t.children(),function(n){r(n,1)}),e}function xRe(t){return Vr(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function rre(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Ee(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var nre=R(()=>{"use strict";Pt();Ec();o(ere,"run");o(tre,"dfs");o(vRe,"treeDepths");o(xRe,"sumWeights");o(rre,"cleanup")});function ire(t,e,r){var n={},i;Ee(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var are=R(()=>{"use strict";Pt();o(ire,"addSubgraphConstraints")});function sre(t,e,r){var n=wRe(t),i=new lr({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Ee(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Ee(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=er(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Xe(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function wRe(t){for(var e;t.hasNode(e=zd("_root")););return e}var ore=R(()=>{"use strict";Pt();ya();o(sre,"buildLayerGraph");o(wRe,"createRootNode")});function lre(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var cre=R(()=>{"use strict";Pt();o(lre,"crossCount");o(TRe,"twoLayerCrossCount")});function ure(t){var e={},r=Gr(t.nodes(),function(l){return!t.children(l).length}),n=_s(qe(r,function(l){return t.node(l).rank})),i=qe($o(n+1),function(){return[]});function a(l){if(!Xe(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Ee(t.successors(l),a)}}o(a,"dfs");var s=Tc(r,function(l){return t.node(l).rank});return Ee(s,a),i}var hre=R(()=>{"use strict";Pt();o(ure,"initOrder")});function fre(t,e){return qe(e,function(r){var n=t.inEdges(r);if(n.length){var i=Vr(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var dre=R(()=>{"use strict";Pt();o(fre,"barycenter")});function pre(t,e){var r={};Ee(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};er(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Ee(e.edges(),function(i){var a=r[i.v],s=r[i.w];!er(a)&&!er(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Gr(r,function(i){return!i.indegree});return kRe(n)}function kRe(t){var e=[];function r(a){return function(s){s.merged||(er(s.barycenter)||er(a.barycenter)||s.barycenter>=a.barycenter)&&ERe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Ee(i.in.reverse(),r(i)),Ee(i.out,n(i))}return qe(Gr(e,function(a){return!a.merged}),function(a){return Fd(a,["vs","i","barycenter","weight"])})}function ERe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var mre=R(()=>{"use strict";Pt();o(pre,"resolveConflicts");o(kRe,"doResolveConflicts");o(ERe,"mergeEntries")});function yre(t,e){var r=Tte(t,function(f){return Xe(f,"barycenter")}),n=r.lhs,i=Tc(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(CRe(!!e)),u=gre(a,i,u),Ee(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=gre(a,i,u)});var h={vs:$r(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function gre(t,e,r){for(var n;e.length&&(n=ma(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function CRe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var vre=R(()=>{"use strict";Pt();Ec();o(yre,"sort");o(gre,"consumeUnsortable");o(CRe,"compareWithBias")});function dD(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=Gr(i,function(g){return g!==s&&g!==l}));var h=fre(t,i);Ee(h,function(g){if(t.children(g.v).length){var y=dD(t,g.v,r,n);u[g.v]=y,Xe(y,"barycenter")&&ARe(g,y)}});var f=pre(h,r);SRe(f,u);var d=yre(f,n);if(s&&(d.vs=$r([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Xe(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function SRe(t,e){Ee(t,function(r){r.vs=$r(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function ARe(t,e){er(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var xre=R(()=>{"use strict";Pt();dre();mre();vre();o(dD,"sortSubgraph");o(SRe,"expandSubgraphs");o(ARe,"mergeBarycenters")});function Tre(t){var e=KL(t),r=bre(t,$o(1,e+1),"inEdges"),n=bre(t,$o(e-1,-1,-1),"outEdges"),i=ure(t);wre(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){_Re(l%2?r:n,l%4>=2),i=Qh(t);var h=lre(t,i);h{"use strict";Pt();ya();Ec();are();ore();cre();hre();xre();o(Tre,"order");o(bre,"buildLayerGraphs");o(_Re,"sweepLayerGraphs");o(wre,"assignOrder")});function Ere(t){var e=DRe(t);Ee(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=LRe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function DRe(t){var e={},r=0;function n(i){var a=r;Ee(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Ee(t.children(),n),e}var Cre=R(()=>{"use strict";Pt();o(Ere,"parentDummyChains");o(LRe,"findPath");o(DRe,"postorder")});function RRe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=ma(a);return Ee(a,function(f,d){var p=MRe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Ee(a.slice(l,d+1),function(g){Ee(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&Sre(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Ee(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),Vr(e,i),r}function MRe(t,e){if(t.node(e).dummy)return Za(t.predecessors(e),function(r){return t.node(r).dummy})}function Sre(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function IRe(t,e,r){if(e>r){var n=e;e=r,r=n}return Xe(t[e],r)}function ORe(t,e,r,n){var i={},a={},s={};return Ee(e,function(l){Ee(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Ee(e,function(l){var u=-1;Ee(l,function(h){var f=n(h);if(f.length){f=Tc(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Pt();ya();Ec();o(RRe,"findType1Conflicts");o(NRe,"findType2Conflicts");o(MRe,"findOtherInnerSegmentNode");o(Sre,"addConflict");o(IRe,"hasConflict");o(ORe,"verticalAlignment");o(PRe,"horizontalCompaction");o(BRe,"buildBlockGraph");o(FRe,"findSmallestWidthAlignment");o(zRe,"alignCoordinates");o($Re,"balance");o(Are,"positionX");o(GRe,"sep");o(VRe,"width")});function Lre(t){t=eT(t),URe(t),ML(Are(t),function(e,r){t.node(r).x=e})}function URe(t){var e=Qh(t),r=t.graph().ranksep,n=0;Ee(e,function(i){var a=_s(qe(i,function(s){return t.node(s).height}));Ee(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var Dre=R(()=>{"use strict";Pt();Ec();_re();o(Lre,"position");o(URe,"positionY")});function lo(t,e){var r=e&&e.debugTiming?kte:Ete;r("layout",function(){var n=r(" buildLayoutGraph",function(){return eNe(t)});r(" runLayout",function(){HRe(n,r)}),r(" updateInputGraph",function(){YRe(t,n)})})}function HRe(t,e){e(" makeSpaceForEdgeLabels",function(){tNe(t)}),e(" removeSelfEdges",function(){uNe(t)}),e(" acyclic",function(){gte(t)}),e(" nestingGraph.run",function(){ere(t)}),e(" rank",function(){hD(eT(t))}),e(" injectEdgeLabelProxies",function(){rNe(t)}),e(" removeEmptyRanks",function(){wte(t)}),e(" nestingGraph.cleanup",function(){rre(t)}),e(" normalizeRanks",function(){bte(t)}),e(" assignRankMinMax",function(){nNe(t)}),e(" removeEdgeLabelProxies",function(){iNe(t)}),e(" normalize.run",function(){Mte(t)}),e(" parentDummyChains",function(){Ere(t)}),e(" addBorderSegments",function(){Ste(t)}),e(" order",function(){Tre(t)}),e(" insertSelfEdges",function(){hNe(t)}),e(" adjustCoordinateSystem",function(){Lte(t)}),e(" position",function(){Lre(t)}),e(" positionSelfEdges",function(){fNe(t)}),e(" removeBorderNodes",function(){cNe(t)}),e(" normalize.undo",function(){Ite(t)}),e(" fixupEdgeLabelCoords",function(){oNe(t)}),e(" undoCoordinateSystem",function(){Dte(t)}),e(" translateGraph",function(){aNe(t)}),e(" assignNodeIntersects",function(){sNe(t)}),e(" reversePoints",function(){lNe(t)}),e(" acyclic.undo",function(){yte(t)})}function YRe(t,e){Ee(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),Ee(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Xe(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function eNe(t){var e=new lr({multigraph:!0,compound:!0}),r=mD(t.graph());return e.setGraph($h({},qRe,pD(r,WRe),Fd(r,XRe))),Ee(t.nodes(),function(n){var i=mD(t.node(n));e.setNode(n,Xh(pD(i,jRe),KRe)),e.setParent(n,t.parent(n))}),Ee(t.edges(),function(n){var i=mD(t.edge(n));e.setEdge(n,$h({},ZRe,pD(i,QRe),Fd(i,JRe)))}),e}function tNe(t){var e=t.graph();e.ranksep/=2,Ee(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function rNe(t){Ee(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};kc(t,"edge-proxy",a,"_ep")}})}function nNe(t){var e=0;Ee(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=_s(e,n.maxRank))}),t.graph().maxRank=e}function iNe(t){Ee(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function aNe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Ee(t.nodes(),function(h){u(t.node(h))}),Ee(t.edges(),function(h){var f=t.edge(h);Xe(f,"x")&&u(f)}),e-=s,n-=l,Ee(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Ee(t.edges(),function(h){var f=t.edge(h);Ee(f.points,function(d){d.x-=e,d.y-=n}),Xe(f,"x")&&(f.x-=e),Xe(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function sNe(t){Ee(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(XL(n,a)),r.points.push(XL(i,s))})}function oNe(t){Ee(t.edges(),function(e){var r=t.edge(e);if(Xe(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function lNe(t){Ee(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function cNe(t){Ee(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(ma(r.borderLeft)),s=t.node(ma(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),Ee(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function uNe(t){Ee(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function hNe(t){var e=Qh(t);Ee(e,function(r){var n=0;Ee(r,function(i,a){var s=t.node(i);s.order=a+n,Ee(s.selfEdges,function(l){kc(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function fNe(t){Ee(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function pD(t,e){return Pd(Fd(t,e),Number)}function mD(t){var e={};return Ee(t,function(r,n){e[n.toLowerCase()]=r}),e}var WRe,qRe,XRe,jRe,KRe,QRe,ZRe,JRe,Rre=R(()=>{"use strict";Pt();ya();Ate();Nte();qL();JL();fD();nre();kre();Cre();Dre();Ec();o(lo,"layout");o(HRe,"runLayout");o(YRe,"updateInputGraph");WRe=["nodesep","edgesep","ranksep","marginx","marginy"],qRe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},XRe=["acyclicer","ranker","rankdir","align"],jRe=["width","height"],KRe={width:0,height:0},QRe=["minlen","weight","width","height","labeloffset"],ZRe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},JRe=["labelpos"];o(eNe,"buildLayoutGraph");o(tNe,"makeSpaceForEdgeLabels");o(rNe,"injectEdgeLabelProxies");o(nNe,"assignRankMinMax");o(iNe,"removeEdgeLabelProxies");o(aNe,"translateGraph");o(sNe,"assignNodeIntersects");o(oNe,"fixupEdgeLabelCoords");o(lNe,"reversePointsForReversedEdges");o(cNe,"removeBorderNodes");o(uNe,"removeSelfEdges");o(hNe,"insertSelfEdges");o(fNe,"positionSelfEdges");o(pD,"selectNumberAttrs");o(mD,"canonicalize")});var Vd=R(()=>{"use strict";qL();Rre();JL();fD()});function zn(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:dNe(t),edges:pNe(t)};return er(t.graph())||(e.value=Qr(t.graph())),e}function dNe(t){return qe(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return er(r)||(i.value=r),er(n)||(i.parent=n),i})}function pNe(t){return qe(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return er(e.name)||(n.name=e.name),er(r)||(n.value=r),n})}var Pv=R(()=>{"use strict";Pt();Zw();o(zn,"write");o(dNe,"writeNodes");o(pNe,"writeEdges")});var cr,Ud,Mre,Ire,aT,mNe,Ore,Pre,gNe,Bm,Nre,Bre,Fre,zre,$re,Gre=R(()=>{"use strict";ut();ya();Pv();cr=new Map,Ud=new Map,Mre=new Map,Ire=o(()=>{Ud.clear(),Mre.clear(),cr.clear()},"clear"),aT=o((t,e)=>{let r=Ud.get(e)||[];return V.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),mNe=o((t,e)=>{let r=Ud.get(e)||[];return V.info("Descendants of ",e," is ",r),V.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||aT(t.v,e)||aT(t.w,e)||r.includes(t.w):(V.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Ore=o((t,e,r,n)=>{V.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),V.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Ore(a,e,r,n);else{let s=e.node(a);V.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(V.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(V.debug("Setting parent",a,t),r.setParent(a,t)):(V.info("In copy ",t,"root",n,"data",e.node(t),n),V.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);V.debug("Copying Edges",l),l.forEach(u=>{V.info("Edge",u);let h=e.edge(u.v,u.w,u.name);V.info("Edge data",h,n);try{mNe(u,n)?(V.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),V.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):V.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){V.error(f)}})}V.debug("Removing node",a),e.removeNode(a)})},"copy"),Pre=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)Mre.set(i,t),n=[...n,...Pre(i,e)];return n},"extractDescendants"),gNe=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),Bm=o((t,e,r)=>{let n=e.children(t);if(V.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=Bm(a,e,r),l=gNe(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),Nre=o(t=>!cr.has(t)||!cr.get(t).externalConnections?t:cr.has(t)?cr.get(t).id:t,"getAnchorId"),Bre=o((t,e)=>{if(!t||e>10){V.debug("Opting out, no graph ");return}else V.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(V.warn("Cluster identified",r," Replacement id in edges: ",Bm(r,t,r)),Ud.set(r,Pre(r,t)),cr.set(r,{id:Bm(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(V.debug("Cluster identified",r,Ud),i.forEach(a=>{let s=aT(a.v,r),l=aT(a.w,r);s^l&&(V.warn("Edge: ",a," leaves cluster ",r),V.warn("Descendants of XXX ",r,": ",Ud.get(r)),cr.get(r).externalConnections=!0)})):V.debug("Not a cluster ",r,Ud)});for(let r of cr.keys()){let n=cr.get(r).id,i=t.parent(n);i!==r&&cr.has(i)&&!cr.get(i).externalConnections&&(cr.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(V.warn("Fix XXX",cr,"ids:",r.v,r.w,"Translating: ",cr.get(r.v)," --- ",cr.get(r.w)),cr.get(r.v)||cr.get(r.w)){if(V.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Nre(r.v),a=Nre(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);cr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);cr.get(s).externalConnections=!0,n.toCluster=r.w}V.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),V.warn("Adjusted Graph",zn(t)),Fre(t,0),V.trace(cr)},"adjustClustersAndEdges"),Fre=o((t,e)=>{if(V.warn("extractor - ",e,zn(t),t.children("D")),e>10){V.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){V.debug("Done, no node has children",t.nodes());return}V.debug("Nodes = ",r,e);for(let i of r)if(V.debug("Extracting node",i,cr,cr.has(i)&&!cr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!cr.has(i))V.debug("Not a cluster",i,e);else if(!cr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){V.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";cr.get(i)?.clusterData?.dir&&(s=cr.get(i).clusterData.dir,V.warn("Fixing dir",cr.get(i).clusterData.dir,s));let l=new lr({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});V.warn("Old graph before copy",zn(t)),Ore(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:cr.get(i).clusterData,label:cr.get(i).label,graph:l}),V.warn("New graph after copy node: (",i,")",zn(l)),V.debug("Old graph after copy",zn(t))}else V.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!cr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),V.debug(cr);r=t.nodes(),V.warn("New list of nodes",r);for(let i of r){let a=t.node(i);V.warn(" Now next level",i,a),a?.clusterNode&&Fre(a.graph,e+1)}},"extractor"),zre=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=zre(t,i);r=[...r,...a]}),r},"sorter"),$re=o(t=>zre(t,t.children()),"sortNodesByHierarchy")});var Ure={};hr(Ure,{render:()=>yNe});var Vre,yNe,Hre=R(()=>{"use strict";Vd();Pv();ya();Q9();ri();Gre();tL();X9();K9();ut();_d();_t();Vre=o(async(t,e,r,n,i,a)=>{V.warn("Graph in recursive render:XAX",zn(e),i);let s=e.graph().rankdir;V.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?V.info("Recursive render XXX",e.nodes()):V.info("No nodes found for",e),e.edges().length>0&&V.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));V.trace(`Setting data for parent cluster XXX Node.id = `,y,` data=`,x.height,` -Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(V.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(V.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){V.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let k=await yte(d,v.graph,r,n,e.node(y),a),A=k.elem;er(v,A),v.diff=k.diff||0,V.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),Fj(A,v)}else e.children(y).length>0?(V.info("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),V.info(km(v.id,e)),Yt.set(v.id,{id:km(v.id,e),node:v})):(V.trace("Node - the non recursive path XAX",y,v.id,v),await C5(d,e.node(y),o))})),await s(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);V.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),V.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),V.info("Fix",Yt,"ids:",v.v,v.w,"Translating: ",Yt.get(v.v),Yt.get(v.w)),await b5(f,x)});await Promise.all(y)},"processEdges")(),V.info("Graph before layout:",JSON.stringify(Mn(e))),V.info("############################################# XXX"),V.info("### Layout ### XXX"),V.info("############################################# XXX"),eo(e),V.info("Graph after layout:",JSON.stringify(Mn(e)));let m=0,{subGraphTitleTotalMargin:g}=Ks(a);return await Promise.all(mte(e).map(async function(y){let v=e.node(y);if(V.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,V.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Yt.get(v.id).node=v,u9(v);else if(e.children(y).length>0){V.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,k=b-x||0;V.debug("OffsetY",k,"labelHeight",b,"halfPadding",x),await p5(u,v),Yt.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,V.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),u9(v)}})),e.edges().forEach(function(y){let v=e.edge(y);V.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(A=>A.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let k=w5(h,v,Yt,r,x,b,n);k5(v,k)}),e.nodes().forEach(function(y){let v=e.node(y);V.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),V.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),jLe=s(async(t,e)=>{let r=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");T5(n,t.markers,t.type,t.diagramId),zj(),FX(),MX(),cte(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),V.debug("Edges:",t.edges),t.edges.forEach(a=>{r.setEdge(a.start,a.end,{...a},a.id)}),V.warn("Graph at first:",JSON.stringify(Mn(r))),fte(r),V.warn("Graph after:",JSON.stringify(Mn(r)));let i=le();await yte(n,r,t.type,t.diagramId,void 0,i)},"render")});var xv,SL,KLe,Dk,bte,Rk=_(()=>{"use strict";Gj();it();xv={},SL=s(t=>{for(let e of t)xv[e.name]=e},"registerLayoutLoaders"),KLe=s(()=>{SL([{name:"dagre",loader:s(async()=>await Promise.resolve().then(()=>(xte(),vte)),"loader")}])},"registerDefaultLayoutLoaders");KLe();Dk=s(async(t,e)=>{if(!(t.layoutAlgorithm in xv))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=xv[t.layoutAlgorithm];return(await r.loader()).render(t,e,$j,{algorithm:r.algorithm})},"render"),bte=s((t="",{fallback:e="dagre"}={})=>{if(t in xv)return t;if(e in xv)return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var Mk,QLe,ZLe,_L=_(()=>{"use strict";Un();it();Mk=s((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:o,y:l}=QLe(t,e);xr(t,a,i,n);let u=ZLe(o,l,i,a,e);t.attr("viewBox",u),V.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),QLe=s((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),ZLe=s((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var JLe,eDe,kte,wte=_(()=>{"use strict";Xt();gt();it();zA();Rk();_L();pr();wA();JLe=s(function(t,e){return e.db.getClasses()},"getClasses"),eDe=s(async function(t,e,r,n){V.info("REF0:"),V.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:o}=le(),l;i==="sandbox"&&(l=Me("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;V.debug("Before getData: ");let h=n.db.getData();V.debug("Data: ",h);let f=n5(e,i),d=kA();h.type=n.type,h.layoutAlgorithm=bte(o),h.layoutAlgorithm==="dagre"&&o==="elk"&&V.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,V.debug("REF1:",h),await Dk(h,f);let p=h.config.flowchart?.diagramPadding??8;dt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),Mk(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=Me(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),kte={getClasses:JLe,draw:eDe}});var AL,Tte,Ete=_(()=>{"use strict";AL=function(){var t=s(function(ts,at,xt,Ft){for(xt=xt||{},Ft=ts.length;Ft--;xt[ts[Ft]]=at);return xt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],a=[2,2],o=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],k=[1,32],A=[1,33],w=[1,44],T=[1,46],C=[1,42],E=[1,47],S=[1,43],R=[1,50],D=[1,45],L=[1,51],P=[1,52],M=[1,34],F=[1,35],I=[1,36],O=[1,37],z=[1,57],N=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],U=[1,61],$=[1,60],W=[1,62],ee=[8,9,11,73,75],te=[1,88],ce=[1,93],Z=[1,92],fe=[1,89],ne=[1,85],H=[1,91],Q=[1,87],K=[1,94],re=[1,90],ie=[1,95],ye=[1,86],j=[8,9,10,11,73,75],De=[8,9,10,11,44,73,75],oe=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Re=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],Pe=[42,58,86,99,102,103,106,108,111,112,113],Se=[1,121],Ue=[1,120],Oe=[1,128],_e=[1,142],he=[1,143],q=[1,144],se=[1,145],ue=[1,130],X=[1,132],ae=[1,136],pe=[1,137],de=[1,138],Ie=[1,139],Ne=[1,140],Be=[1,141],ze=[1,146],qe=[1,147],Fe=[1,126],we=[1,127],Je=[1,134],We=[1,129],or=[1,133],Cr=[1,131],Ut=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],ar=[1,149],ut=[8,9,11],Rt=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Qe=[1,169],Dt=[1,165],qt=[1,166],yt=[1,170],Et=[1,167],pt=[1,168],Wt=[75,113,116],ot=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],fr=[10,103],vt=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Bt=[1,235],Sr=[1,233],zi=[1,237],rr=[1,231],Vn=[1,232],Tn=[1,234],Ki=[1,236],ci=[1,238],Pa=[1,255],En=[8,9,11,103],ti=[8,9,10,11,58,81,102,103,106,107,108,109],co={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:s(function(at,xt,Ft,Ke,Zt,me,Fc){var xe=me.length-1;switch(Zt){case 2:this.$=[];break;case 3:(!Array.isArray(me[xe])||me[xe].length>0)&&me[xe-1].push(me[xe]),this.$=me[xe-1];break;case 4:case 176:this.$=me[xe];break;case 11:Ke.setDirection("TB"),this.$="TB";break;case 12:Ke.setDirection(me[xe-1]),this.$=me[xe-1];break;case 27:this.$=me[xe-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Ke.addSubGraph(me[xe-6],me[xe-1],me[xe-4]);break;case 34:this.$=Ke.addSubGraph(me[xe-3],me[xe-1],me[xe-3]);break;case 35:this.$=Ke.addSubGraph(void 0,me[xe-1],void 0);break;case 37:this.$=me[xe].trim(),Ke.setAccTitle(this.$);break;case 38:case 39:this.$=me[xe].trim(),Ke.setAccDescription(this.$);break;case 43:Ke.addLink(me[xe-2].stmt,me[xe],me[xe-1]),this.$={stmt:me[xe],nodes:me[xe].concat(me[xe-2].nodes)};break;case 44:Ke.addLink(me[xe-3].stmt,me[xe-1],me[xe-2]),this.$={stmt:me[xe-1],nodes:me[xe-1].concat(me[xe-3].nodes)};break;case 45:this.$={stmt:me[xe-1],nodes:me[xe-1]};break;case 46:this.$={stmt:me[xe],nodes:me[xe]};break;case 47:this.$=[me[xe]];break;case 48:this.$=me[xe-4].concat(me[xe]);break;case 49:this.$=me[xe];break;case 50:this.$=me[xe-2],Ke.setClass(me[xe-2],me[xe]);break;case 51:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"square");break;case 52:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"doublecircle");break;case 53:this.$=me[xe-5],Ke.addVertex(me[xe-5],me[xe-2],"circle");break;case 54:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"ellipse");break;case 55:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"stadium");break;case 56:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"subroutine");break;case 57:this.$=me[xe-7],Ke.addVertex(me[xe-7],me[xe-1],"rect",void 0,void 0,void 0,Object.fromEntries([[me[xe-5],me[xe-3]]]));break;case 58:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"cylinder");break;case 59:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"round");break;case 60:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"diamond");break;case 61:this.$=me[xe-5],Ke.addVertex(me[xe-5],me[xe-2],"hexagon");break;case 62:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"odd");break;case 63:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"trapezoid");break;case 64:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"inv_trapezoid");break;case 65:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"lean_right");break;case 66:this.$=me[xe-3],Ke.addVertex(me[xe-3],me[xe-1],"lean_left");break;case 67:this.$=me[xe],Ke.addVertex(me[xe]);break;case 68:me[xe-1].text=me[xe],this.$=me[xe-1];break;case 69:case 70:me[xe-2].text=me[xe-1],this.$=me[xe-2];break;case 71:this.$=me[xe];break;case 72:var xi=Ke.destructLink(me[xe],me[xe-2]);this.$={type:xi.type,stroke:xi.stroke,length:xi.length,text:me[xe-1]};break;case 73:this.$={text:me[xe],type:"text"};break;case 74:this.$={text:me[xe-1].text+""+me[xe],type:me[xe-1].type};break;case 75:this.$={text:me[xe],type:"string"};break;case 76:this.$={text:me[xe],type:"markdown"};break;case 77:var xi=Ke.destructLink(me[xe]);this.$={type:xi.type,stroke:xi.stroke,length:xi.length};break;case 78:this.$=me[xe-1];break;case 79:this.$={text:me[xe],type:"text"};break;case 80:this.$={text:me[xe-1].text+""+me[xe],type:me[xe-1].type};break;case 81:this.$={text:me[xe],type:"string"};break;case 82:case 97:this.$={text:me[xe],type:"markdown"};break;case 94:this.$={text:me[xe],type:"text"};break;case 95:this.$={text:me[xe-1].text+""+me[xe],type:me[xe-1].type};break;case 96:this.$={text:me[xe],type:"text"};break;case 98:this.$=me[xe-4],Ke.addClass(me[xe-2],me[xe]);break;case 99:this.$=me[xe-4],Ke.setClass(me[xe-2],me[xe]);break;case 100:case 108:this.$=me[xe-1],Ke.setClickEvent(me[xe-1],me[xe]);break;case 101:case 109:this.$=me[xe-3],Ke.setClickEvent(me[xe-3],me[xe-2]),Ke.setTooltip(me[xe-3],me[xe]);break;case 102:this.$=me[xe-2],Ke.setClickEvent(me[xe-2],me[xe-1],me[xe]);break;case 103:this.$=me[xe-4],Ke.setClickEvent(me[xe-4],me[xe-3],me[xe-2]),Ke.setTooltip(me[xe-4],me[xe]);break;case 104:this.$=me[xe-2],Ke.setLink(me[xe-2],me[xe]);break;case 105:this.$=me[xe-4],Ke.setLink(me[xe-4],me[xe-2]),Ke.setTooltip(me[xe-4],me[xe]);break;case 106:this.$=me[xe-4],Ke.setLink(me[xe-4],me[xe-2],me[xe]);break;case 107:this.$=me[xe-6],Ke.setLink(me[xe-6],me[xe-4],me[xe]),Ke.setTooltip(me[xe-6],me[xe-2]);break;case 110:this.$=me[xe-1],Ke.setLink(me[xe-1],me[xe]);break;case 111:this.$=me[xe-3],Ke.setLink(me[xe-3],me[xe-2]),Ke.setTooltip(me[xe-3],me[xe]);break;case 112:this.$=me[xe-3],Ke.setLink(me[xe-3],me[xe-2],me[xe]);break;case 113:this.$=me[xe-5],Ke.setLink(me[xe-5],me[xe-4],me[xe]),Ke.setTooltip(me[xe-5],me[xe-2]);break;case 114:this.$=me[xe-4],Ke.addVertex(me[xe-2],void 0,void 0,me[xe]);break;case 115:this.$=me[xe-4],Ke.updateLink([me[xe-2]],me[xe]);break;case 116:this.$=me[xe-4],Ke.updateLink(me[xe-2],me[xe]);break;case 117:this.$=me[xe-8],Ke.updateLinkInterpolate([me[xe-6]],me[xe-2]),Ke.updateLink([me[xe-6]],me[xe]);break;case 118:this.$=me[xe-8],Ke.updateLinkInterpolate(me[xe-6],me[xe-2]),Ke.updateLink(me[xe-6],me[xe]);break;case 119:this.$=me[xe-6],Ke.updateLinkInterpolate([me[xe-4]],me[xe]);break;case 120:this.$=me[xe-6],Ke.updateLinkInterpolate(me[xe-4],me[xe]);break;case 121:case 123:this.$=[me[xe]];break;case 122:case 124:me[xe-2].push(me[xe]),this.$=me[xe-2];break;case 126:this.$=me[xe-1]+me[xe];break;case 174:this.$=me[xe];break;case 175:this.$=me[xe-1]+""+me[xe];break;case 177:this.$=me[xe-1]+""+me[xe];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:z,15:53,18:56},t(N,[2,3]),t(N,[2,4]),t(N,[2,5]),t(N,[2,6]),t(N,[2,7]),t(N,[2,8]),{8:U,9:$,11:W,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:U,9:$,11:W,21:66},{8:U,9:$,11:W,21:67},{8:U,9:$,11:W,21:68},{8:U,9:$,11:W,21:69},{8:U,9:$,11:W,21:70},{8:U,9:$,10:[1,71],11:W,21:72},t(N,[2,36]),{35:[1,73]},{37:[1,74]},t(N,[2,39]),t(ee,[2,46],{18:75,10:z}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:te,42:ce,58:Z,77:[1,83],86:fe,92:[1,80],94:[1,81],98:82,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye,117:84},t(N,[2,178]),t(N,[2,179]),t(N,[2,180]),t(N,[2,181]),t(j,[2,47]),t(j,[2,49],{44:[1,96]}),t(De,[2,67],{110:109,29:[1,97],42:g,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:y,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:w,99:T,102:C,103:E,106:S,108:R,111:D,112:L,113:P}),t(oe,[2,174]),t(oe,[2,135]),t(oe,[2,136]),t(oe,[2,137]),t(oe,[2,138]),t(oe,[2,139]),t(oe,[2,140]),t(oe,[2,141]),t(oe,[2,142]),t(oe,[2,143]),t(oe,[2,144]),t(oe,[2,145]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,110]},t(Re,[2,26],{18:111,10:z}),t(N,[2,27]),{40:112,41:38,42:g,43:39,45:40,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},t(N,[2,40]),t(N,[2,41]),t(N,[2,42]),t(Pe,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Se,116:Ue},t([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),t(N,[2,28]),t(N,[2,29]),t(N,[2,30]),t(N,[2,31]),t(N,[2,32]),{10:Oe,12:_e,14:he,27:q,28:122,32:se,42:ue,58:X,73:ae,77:[1,124],78:[1,125],80:135,81:pe,82:de,83:Ie,84:Ne,85:Be,86:ze,87:qe,88:123,102:Fe,106:we,108:Je,111:We,112:or,113:Cr},t(Ut,a,{5:148}),t(N,[2,37]),t(N,[2,38]),t(ee,[2,45],{42:ar}),{42:g,45:150,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{99:[1,151],100:152,102:[1,153]},{42:g,45:154,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{42:g,45:155,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},t(ut,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},t(ut,[2,108],{117:160,10:[1,159],14:te,42:ce,58:Z,86:fe,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye}),t(ut,[2,110],{10:[1,161]}),t(Rt,[2,176]),t(Rt,[2,163]),t(Rt,[2,164]),t(Rt,[2,165]),t(Rt,[2,166]),t(Rt,[2,167]),t(Rt,[2,168]),t(Rt,[2,169]),t(Rt,[2,170]),t(Rt,[2,171]),t(Rt,[2,172]),t(Rt,[2,173]),{42:g,45:162,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{30:163,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:171,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:173,48:[1,172],65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:174,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:175,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:176,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{106:[1,177]},{30:178,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:179,63:[1,180],65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:181,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:182,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{30:183,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},t(oe,[2,175]),t(i,[2,20]),t(Re,[2,25]),t(ee,[2,43],{18:184,10:z}),t(Pe,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{75:[1,188],76:189,113:Se,116:Ue},t(Wt,[2,73]),t(Wt,[2,75]),t(Wt,[2,76]),t(Wt,[2,161]),t(Wt,[2,162]),{8:U,9:$,10:Oe,11:W,12:_e,14:he,21:191,27:q,29:[1,190],32:se,42:ue,58:X,73:ae,80:135,81:pe,82:de,83:Ie,84:Ne,85:Be,86:ze,87:qe,88:192,102:Fe,106:we,108:Je,111:We,112:or,113:Cr},t(ot,[2,94]),t(ot,[2,96]),t(ot,[2,97]),t(ot,[2,150]),t(ot,[2,151]),t(ot,[2,152]),t(ot,[2,153]),t(ot,[2,154]),t(ot,[2,155]),t(ot,[2,156]),t(ot,[2,157]),t(ot,[2,158]),t(ot,[2,159]),t(ot,[2,160]),t(ot,[2,83]),t(ot,[2,84]),t(ot,[2,85]),t(ot,[2,86]),t(ot,[2,87]),t(ot,[2,88]),t(ot,[2,89]),t(ot,[2,90]),t(ot,[2,91]),t(ot,[2,92]),t(ot,[2,93]),{6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,193],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},{10:z,18:194},{10:[1,195],42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:109,111:D,112:L,113:P},{10:[1,196]},{10:[1,197],103:[1,198]},t(fr,[2,121]),{10:[1,199],42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:109,111:D,112:L,113:P},{10:[1,200],42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:109,111:D,112:L,113:P},{77:[1,201]},t(ut,[2,102],{10:[1,202]}),t(ut,[2,104],{10:[1,203]}),{77:[1,204]},t(Rt,[2,177]),{77:[1,205],95:[1,206]},t(j,[2,50],{110:109,42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,111:D,112:L,113:P}),{31:[1,207],65:Qe,79:208,113:yt,114:Et,115:pt},t(vt,[2,79]),t(vt,[2,81]),t(vt,[2,82]),t(vt,[2,146]),t(vt,[2,147]),t(vt,[2,148]),t(vt,[2,149]),{47:[1,209],65:Qe,79:208,113:yt,114:Et,115:pt},{30:210,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{49:[1,211],65:Qe,79:208,113:yt,114:Et,115:pt},{51:[1,212],65:Qe,79:208,113:yt,114:Et,115:pt},{53:[1,213],65:Qe,79:208,113:yt,114:Et,115:pt},{55:[1,214],65:Qe,79:208,113:yt,114:Et,115:pt},{58:[1,215]},{62:[1,216],65:Qe,79:208,113:yt,114:Et,115:pt},{64:[1,217],65:Qe,79:208,113:yt,114:Et,115:pt},{30:218,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},{31:[1,219],65:Qe,79:208,113:yt,114:Et,115:pt},{65:Qe,67:[1,220],69:[1,221],79:208,113:yt,114:Et,115:pt},{65:Qe,67:[1,223],69:[1,222],79:208,113:yt,114:Et,115:pt},t(ee,[2,44],{42:ar}),t(Pe,[2,70]),t(Pe,[2,69]),{60:[1,224],65:Qe,79:208,113:yt,114:Et,115:pt},t(Pe,[2,72]),t(Wt,[2,74]),{30:225,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},t(Ut,a,{5:226}),t(ot,[2,95]),t(N,[2,35]),{41:227,42:g,43:39,45:40,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},{10:Bt,58:Sr,81:zi,89:228,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{10:Bt,58:Sr,81:zi,89:239,101:[1,240],102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{10:Bt,58:Sr,81:zi,89:241,101:[1,242],102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{102:[1,243]},{10:Bt,58:Sr,81:zi,89:244,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{42:g,45:245,58:y,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P},t(ut,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},t(ut,[2,109]),t(ut,[2,111],{10:[1,249]}),t(ut,[2,112]),t(De,[2,51]),t(vt,[2,80]),t(De,[2,52]),{49:[1,250],65:Qe,79:208,113:yt,114:Et,115:pt},t(De,[2,59]),t(De,[2,54]),t(De,[2,55]),t(De,[2,56]),{106:[1,251]},t(De,[2,58]),t(De,[2,60]),{64:[1,252],65:Qe,79:208,113:yt,114:Et,115:pt},t(De,[2,62]),t(De,[2,63]),t(De,[2,65]),t(De,[2,64]),t(De,[2,66]),t([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Qe,79:208,113:yt,114:Et,115:pt},{6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,254],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},t(j,[2,48]),t(ut,[2,114],{103:Pa}),t(En,[2,123],{105:256,10:Bt,58:Sr,81:zi,102:rr,106:Vn,107:Tn,108:Ki,109:ci}),t(ti,[2,125]),t(ti,[2,127]),t(ti,[2,128]),t(ti,[2,129]),t(ti,[2,130]),t(ti,[2,131]),t(ti,[2,132]),t(ti,[2,133]),t(ti,[2,134]),t(ut,[2,115],{103:Pa}),{10:[1,257]},t(ut,[2,116],{103:Pa}),{10:[1,258]},t(fr,[2,122]),t(ut,[2,98],{103:Pa}),t(ut,[2,99],{110:109,42:g,58:y,86:w,99:T,102:C,103:E,106:S,108:R,111:D,112:L,113:P}),t(ut,[2,103]),t(ut,[2,105],{10:[1,259]}),t(ut,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:U,9:$,11:W,21:264},t(N,[2,34]),{10:Bt,58:Sr,81:zi,102:rr,104:265,105:230,106:Vn,107:Tn,108:Ki,109:ci},t(ti,[2,126]),{14:te,42:ce,58:Z,86:fe,98:266,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye,117:84},{14:te,42:ce,58:Z,86:fe,98:267,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye,117:84},{95:[1,268]},t(ut,[2,113]),t(De,[2,53]),{30:269,65:Qe,77:Dt,78:qt,79:164,113:yt,114:Et,115:pt},t(De,[2,61]),t(Ut,a,{5:270}),t(En,[2,124],{105:256,10:Bt,58:Sr,81:zi,102:rr,106:Vn,107:Tn,108:Ki,109:ci}),t(ut,[2,119],{117:160,10:[1,271],14:te,42:ce,58:Z,86:fe,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye}),t(ut,[2,120],{117:160,10:[1,272],14:te,42:ce,58:Z,86:fe,102:ne,103:H,106:Q,108:K,111:re,112:ie,113:ye}),t(ut,[2,107]),{31:[1,273],65:Qe,79:208,113:yt,114:Et,115:pt},{6:11,7:12,8:o,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,274],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:k,85:A,86:w,99:T,102:C,103:E,106:S,108:R,110:41,111:D,112:L,113:P,118:M,119:F,120:I,121:O},{10:Bt,58:Sr,81:zi,89:275,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},{10:Bt,58:Sr,81:zi,89:276,102:rr,104:229,105:230,106:Vn,107:Tn,108:Ki,109:ci},t(De,[2,57]),t(N,[2,33]),t(ut,[2,117],{103:Pa}),t(ut,[2,118],{103:Pa})],defaultActions:{},parseError:s(function(at,xt){if(xt.recoverable)this.trace(at);else{var Ft=new Error(at);throw Ft.hash=xt,Ft}},"parseError"),parse:s(function(at){var xt=this,Ft=[0],Ke=[],Zt=[null],me=[],Fc=this.table,xe="",xi=0,zc=0,g1=0,ib=2,y1=1,v1=me.slice.call(arguments,1),ri=Object.create(this.lexer),ho={yy:{}};for(var Zu in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zu)&&(ho.yy[Zu]=this.yy[Zu]);ri.setInput(at,ho.yy),ho.yy.lexer=ri,ho.yy.parser=this,typeof ri.yylloc>"u"&&(ri.yylloc={});var Ps=ri.yylloc;me.push(Ps);var Ju=ri.options&&ri.options.ranges;typeof ho.yy.parseError=="function"?this.parseError=ho.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ab(xa){Ft.length=Ft.length-2*xa,Zt.length=Zt.length-xa,me.length=me.length-xa}s(ab,"popStack");function x1(){var xa;return xa=Ke.pop()||ri.lex()||y1,typeof xa!="number"&&(xa instanceof Array&&(Ke=xa,xa=Ke.pop()),xa=xt.symbols_[xa]||xa),xa}s(x1,"lex");for(var Qi,$c,Gc,rs,bi,Ml,eh={},Af,Bs,b1,Lf;;){if(Gc=Ft[Ft.length-1],this.defaultActions[Gc]?rs=this.defaultActions[Gc]:((Qi===null||typeof Qi>"u")&&(Qi=x1()),rs=Fc[Gc]&&Fc[Gc][Qi]),typeof rs>"u"||!rs.length||!rs[0]){var k1="";Lf=[];for(Af in Fc[Gc])this.terminals_[Af]&&Af>ib&&Lf.push("'"+this.terminals_[Af]+"'");ri.showPosition?k1="Parse error on line "+(xi+1)+`: -`+ri.showPosition()+` -Expecting `+Lf.join(", ")+", got '"+(this.terminals_[Qi]||Qi)+"'":k1="Parse error on line "+(xi+1)+": Unexpected "+(Qi==y1?"end of input":"'"+(this.terminals_[Qi]||Qi)+"'"),this.parseError(k1,{text:ri.match,token:this.terminals_[Qi]||Qi,line:ri.yylineno,loc:Ps,expected:Lf})}if(rs[0]instanceof Array&&rs.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Gc+", token: "+Qi);switch(rs[0]){case 1:Ft.push(Qi),Zt.push(ri.yytext),me.push(ri.yylloc),Ft.push(rs[1]),Qi=null,$c?(Qi=$c,$c=null):(zc=ri.yyleng,xe=ri.yytext,xi=ri.yylineno,Ps=ri.yylloc,g1>0&&g1--);break;case 2:if(Bs=this.productions_[rs[1]][1],eh.$=Zt[Zt.length-Bs],eh._$={first_line:me[me.length-(Bs||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(Bs||1)].first_column,last_column:me[me.length-1].last_column},Ju&&(eh._$.range=[me[me.length-(Bs||1)].range[0],me[me.length-1].range[1]]),Ml=this.performAction.apply(eh,[xe,zc,xi,ho.yy,rs[1],Zt,me].concat(v1)),typeof Ml<"u")return Ml;Bs&&(Ft=Ft.slice(0,-1*Bs*2),Zt=Zt.slice(0,-1*Bs),me=me.slice(0,-1*Bs)),Ft.push(this.productions_[rs[1]][0]),Zt.push(eh.$),me.push(eh._$),b1=Fc[Ft[Ft.length-2]][Ft[Ft.length-1]],Ft.push(b1);break;case 3:return!0}}return!0},"parse")},uo=function(){var ts={EOF:1,parseError:s(function(xt,Ft){if(this.yy.parser)this.yy.parser.parseError(xt,Ft);else throw new Error(xt)},"parseError"),setInput:s(function(at,xt){return this.yy=xt||this.yy||{},this._input=at,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var at=this._input[0];this.yytext+=at,this.yyleng++,this.offset++,this.match+=at,this.matched+=at;var xt=at.match(/(?:\r\n?|\n).*/g);return xt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),at},"input"),unput:s(function(at){var xt=at.length,Ft=at.split(/(?:\r\n?|\n)/g);this._input=at+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-xt),this.offset-=xt;var Ke=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ft.length-1&&(this.yylineno-=Ft.length-1);var Zt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ft?(Ft.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-Ft.length].length-Ft[0].length:this.yylloc.first_column-xt},this.options.ranges&&(this.yylloc.range=[Zt[0],Zt[0]+this.yyleng-xt]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(at){this.unput(this.match.slice(at))},"less"),pastInput:s(function(){var at=this.matched.substr(0,this.matched.length-this.match.length);return(at.length>20?"...":"")+at.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var at=this.match;return at.length<20&&(at+=this._input.substr(0,20-at.length)),(at.substr(0,20)+(at.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var at=this.pastInput(),xt=new Array(at.length+1).join("-");return at+this.upcomingInput()+` -`+xt+"^"},"showPosition"),test_match:s(function(at,xt){var Ft,Ke,Zt;if(this.options.backtrack_lexer&&(Zt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Zt.yylloc.range=this.yylloc.range.slice(0))),Ke=at[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+at[0].length},this.yytext+=at[0],this.match+=at[0],this.matches=at,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(at[0].length),this.matched+=at[0],Ft=this.performAction.call(this,this.yy,this,xt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ft)return Ft;if(this._backtrack){for(var me in Zt)this[me]=Zt[me];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var at,xt,Ft,Ke;this._more||(this.yytext="",this.match="");for(var Zt=this._currentRules(),me=0;mext[0].length)){if(xt=Ft,Ke=me,this.options.backtrack_lexer){if(at=this.test_match(Ft,Zt[me]),at!==!1)return at;if(this._backtrack){xt=!1;continue}else return!1}else if(!this.options.flex)break}return xt?(at=this.test_match(xt,Zt[Ke]),at!==!1?at:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var xt=this.next();return xt||this.lex()},"lex"),begin:s(function(xt){this.conditionStack.push(xt)},"begin"),popState:s(function(){var xt=this.conditionStack.length-1;return xt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(xt){return xt=this.conditionStack.length-1-Math.abs(xt||0),xt>=0?this.conditionStack[xt]:"INITIAL"},"topState"),pushState:s(function(xt){this.begin(xt)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(xt,Ft,Ke,Zt){var me=Zt;switch(Ke){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return xt.lex.firstGraph()&&this.begin("dir"),12;break;case 30:return xt.lex.firstGraph()&&this.begin("dir"),12;break;case 31:return xt.lex.firstGraph()&&this.begin("dir"),12;break;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;break;case 39:return this.popState(),14;break;case 40:return this.popState(),14;break;case 41:return this.popState(),14;break;case 42:return this.popState(),14;break;case 43:return this.popState(),14;break;case 44:return this.popState(),14;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;break;case 62:return this.pushState("edgeText"),73;break;case 63:return 116;case 64:return this.popState(),75;break;case 65:return this.pushState("thickEdgeText"),73;break;case 66:return 116;case 67:return this.popState(),75;break;case 68:return this.pushState("dottedEdgeText"),73;break;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;break;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;break;case 74:return this.popState(),53;break;case 75:return this.pushState("text"),52;break;case 76:return this.popState(),55;break;case 77:return this.pushState("text"),54;break;case 78:return 56;case 79:return this.pushState("text"),65;break;case 80:return this.popState(),62;break;case 81:return this.pushState("text"),61;break;case 82:return this.popState(),47;break;case 83:return this.pushState("text"),46;break;case 84:return this.popState(),67;break;case 85:return this.popState(),69;break;case 86:return 114;case 87:return this.pushState("trapText"),66;break;case 88:return this.pushState("trapText"),68;break;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;break;case 101:return this.pushState("text"),60;break;case 102:return this.popState(),49;break;case 103:return this.pushState("text"),48;break;case 104:return this.popState(),31;break;case 105:return this.pushState("text"),29;break;case 106:return this.popState(),64;break;case 107:return this.pushState("text"),63;break;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return ts}();co.lexer=uo;function Rl(){this.yy={}}return s(Rl,"Parser"),Rl.prototype=co,co.Parser=Rl,new Rl}();AL.parser=AL;Tte=AL});var tDe,rDe,Cte,Ste=_(()=>{"use strict";Ho();tDe=s((t,e)=>{let r=D1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Fs(n,i,a,e)},"fade"),rDe=s(t=>`.label { +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(V.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(V.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){V.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let w=await Vre(d,v.graph,r,n,e.node(y),a),S=w.elem;ar(v,S),v.diff=w.diff||0,V.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),lQ(S,v)}else e.children(y).length>0?(V.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),V.trace(Bm(v.id,e)),cr.set(v.id,{id:Bm(v.id,e),node:v})):(V.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await rw(d,e.node(y),s))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);V.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),V.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),V.info("Fix",cr,"ids:",v.v,v.w,"Translating: ",cr.get(v.v),cr.get(v.w)),await Q5(f,x)});await Promise.all(y)},"processEdges")(),V.info("Graph before layout:",JSON.stringify(zn(e))),V.info("############################################# XXX"),V.info("### Layout ### XXX"),V.info("############################################# XXX"),lo(e),V.info("Graph after layout:",JSON.stringify(zn(e)));let m=0,{subGraphTitleTotalMargin:g}=io(a);return await Promise.all($re(e).map(async function(y){let v=e.node(y);if(V.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,V.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),cr.get(v.id).node=v,eL(v);else if(e.children(y).length>0){V.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,w=b-x||0;V.debug("OffsetY",w,"labelHeight",b,"halfPadding",x),await Y5(u,v),cr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,V.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),eL(v)}})),e.edges().forEach(function(y){let v=e.edge(y);V.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(S=>S.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let w=J5(h,v,cr,r,x,b,n);Z5(v,w)}),e.nodes().forEach(function(y){let v=e.node(y);V.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),V.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),yNe=o(async(t,e)=>{let r=new lr({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");ew(n,t.markers,t.type,t.diagramId),cQ(),lK(),rK(),Ire(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),V.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyc{"use strict";hQ();ut();Bv={},gD=o(t=>{for(let e of t)Bv[e.name]=e},"registerLayoutLoaders"),vNe=o(()=>{gD([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(Hre(),Ure)),"loader")}])},"registerDefaultLayoutLoaders");vNe();sT=o(async(t,e)=>{if(!(t.layoutAlgorithm in Bv))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=Bv[t.layoutAlgorithm];return(await r.loader()).render(t,e,uQ,{algorithm:r.algorithm})},"render"),Yre=o((t="",{fallback:e="dagre"}={})=>{if(t in Bv)return t;if(e in Bv)return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var lT,xNe,bNe,yD=R(()=>{"use strict";Yn();ut();lT=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=xNe(t,e);Sr(t,a,i,n);let u=bNe(s,l,i,a,e);t.attr("viewBox",u),V.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),xNe=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),bNe=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var wNe,TNe,Wre,qre=R(()=>{"use strict";Zt();_t();ut();L9();oT();yD();xr();f9();wNe=o(function(t,e){return e.db.getClasses()},"getClasses"),TNe=o(async function(t,e,r,n){V.info("REF0:"),V.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=de(),l;i==="sandbox"&&(l=Ge("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;V.debug("Before getData: ");let h=n.db.getData();V.debug("Data: ",h);let f=I5(e,i),d=h9();h.type=n.type,h.layoutAlgorithm=Yre(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&V.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,V.debug("REF1:",h),await sT(h,f);let p=h.config.flowchart?.diagramPadding??8;Lt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),lT(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=Ge(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),Wre={getClasses:wNe,draw:TNe}});var vD,Xre,jre=R(()=>{"use strict";vD=function(){var t=o(function(qi,ht,At,Gt){for(At=At||{},Gt=qi.length;Gt--;At[qi[Gt]]=ht);return At},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],w=[1,32],S=[1,33],T=[1,44],E=[1,46],_=[1,42],A=[1,47],L=[1,43],M=[1,50],N=[1,45],k=[1,51],I=[1,52],C=[1,34],O=[1,35],D=[1,36],P=[1,37],F=[1,57],B=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],G=[1,61],z=[1,60],Y=[1,62],Q=[8,9,11,73,75],X=[1,88],ie=[1,93],j=[1,92],J=[1,89],Z=[1,85],H=[1,91],q=[1,87],K=[1,94],se=[1,90],ce=[1,95],ue=[1,86],te=[8,9,10,11,73,75],De=[8,9,10,11,44,73,75],oe=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],ke=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],Ie=[42,58,86,99,102,103,106,108,111,112,113],Se=[1,121],Ue=[1,120],Pe=[1,128],_e=[1,142],me=[1,143],W=[1,144],fe=[1,145],ge=[1,130],re=[1,132],he=[1,136],ne=[1,137],ae=[1,138],we=[1,139],Te=[1,140],Ce=[1,141],Ae=[1,146],$e=[1,147],Me=[1,126],ye=[1,127],He=[1,134],ze=[1,129],Ze=[1,133],gt=[1,131],yt=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],tt=[1,149],Ye=[8,9,11],Je=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Ve=[1,169],je=[1,165],kt=[1,166],at=[1,170],xt=[1,167],it=[1,168],dt=[75,113,116],lt=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],It=[10,103],mt=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],St=[1,235],gr=[1,233],xn=[1,237],jt=[1,231],rn=[1,232],Er=[1,234],Kn=[1,236],hn=[1,238],Qn=[1,255],on=[8,9,11,103],Rn=[8,9,10,11,58,81,102,103,106,107,108,109],Ha={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:o(function(ht,At,Gt,rt,Ot,pe,ur){var be=pe.length-1;switch(Ot){case 2:this.$=[];break;case 3:(!Array.isArray(pe[be])||pe[be].length>0)&&pe[be-1].push(pe[be]),this.$=pe[be-1];break;case 4:case 176:this.$=pe[be];break;case 11:rt.setDirection("TB"),this.$="TB";break;case 12:rt.setDirection(pe[be-1]),this.$=pe[be-1];break;case 27:this.$=pe[be-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=rt.addSubGraph(pe[be-6],pe[be-1],pe[be-4]);break;case 34:this.$=rt.addSubGraph(pe[be-3],pe[be-1],pe[be-3]);break;case 35:this.$=rt.addSubGraph(void 0,pe[be-1],void 0);break;case 37:this.$=pe[be].trim(),rt.setAccTitle(this.$);break;case 38:case 39:this.$=pe[be].trim(),rt.setAccDescription(this.$);break;case 43:rt.addLink(pe[be-2].stmt,pe[be],pe[be-1]),this.$={stmt:pe[be],nodes:pe[be].concat(pe[be-2].nodes)};break;case 44:rt.addLink(pe[be-3].stmt,pe[be-1],pe[be-2]),this.$={stmt:pe[be-1],nodes:pe[be-1].concat(pe[be-3].nodes)};break;case 45:this.$={stmt:pe[be-1],nodes:pe[be-1]};break;case 46:this.$={stmt:pe[be],nodes:pe[be]};break;case 47:this.$=[pe[be]];break;case 48:this.$=pe[be-4].concat(pe[be]);break;case 49:this.$=pe[be];break;case 50:this.$=pe[be-2],rt.setClass(pe[be-2],pe[be]);break;case 51:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"square");break;case 52:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"doublecircle");break;case 53:this.$=pe[be-5],rt.addVertex(pe[be-5],pe[be-2],"circle");break;case 54:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"ellipse");break;case 55:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"stadium");break;case 56:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"subroutine");break;case 57:this.$=pe[be-7],rt.addVertex(pe[be-7],pe[be-1],"rect",void 0,void 0,void 0,Object.fromEntries([[pe[be-5],pe[be-3]]]));break;case 58:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"cylinder");break;case 59:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"round");break;case 60:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"diamond");break;case 61:this.$=pe[be-5],rt.addVertex(pe[be-5],pe[be-2],"hexagon");break;case 62:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"odd");break;case 63:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"trapezoid");break;case 64:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"inv_trapezoid");break;case 65:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"lean_right");break;case 66:this.$=pe[be-3],rt.addVertex(pe[be-3],pe[be-1],"lean_left");break;case 67:this.$=pe[be],rt.addVertex(pe[be]);break;case 68:pe[be-1].text=pe[be],this.$=pe[be-1];break;case 69:case 70:pe[be-2].text=pe[be-1],this.$=pe[be-2];break;case 71:this.$=pe[be];break;case 72:var Ir=rt.destructLink(pe[be],pe[be-2]);this.$={type:Ir.type,stroke:Ir.stroke,length:Ir.length,text:pe[be-1]};break;case 73:this.$={text:pe[be],type:"text"};break;case 74:this.$={text:pe[be-1].text+""+pe[be],type:pe[be-1].type};break;case 75:this.$={text:pe[be],type:"string"};break;case 76:this.$={text:pe[be],type:"markdown"};break;case 77:var Ir=rt.destructLink(pe[be]);this.$={type:Ir.type,stroke:Ir.stroke,length:Ir.length};break;case 78:this.$=pe[be-1];break;case 79:this.$={text:pe[be],type:"text"};break;case 80:this.$={text:pe[be-1].text+""+pe[be],type:pe[be-1].type};break;case 81:this.$={text:pe[be],type:"string"};break;case 82:case 97:this.$={text:pe[be],type:"markdown"};break;case 94:this.$={text:pe[be],type:"text"};break;case 95:this.$={text:pe[be-1].text+""+pe[be],type:pe[be-1].type};break;case 96:this.$={text:pe[be],type:"text"};break;case 98:this.$=pe[be-4],rt.addClass(pe[be-2],pe[be]);break;case 99:this.$=pe[be-4],rt.setClass(pe[be-2],pe[be]);break;case 100:case 108:this.$=pe[be-1],rt.setClickEvent(pe[be-1],pe[be]);break;case 101:case 109:this.$=pe[be-3],rt.setClickEvent(pe[be-3],pe[be-2]),rt.setTooltip(pe[be-3],pe[be]);break;case 102:this.$=pe[be-2],rt.setClickEvent(pe[be-2],pe[be-1],pe[be]);break;case 103:this.$=pe[be-4],rt.setClickEvent(pe[be-4],pe[be-3],pe[be-2]),rt.setTooltip(pe[be-4],pe[be]);break;case 104:this.$=pe[be-2],rt.setLink(pe[be-2],pe[be]);break;case 105:this.$=pe[be-4],rt.setLink(pe[be-4],pe[be-2]),rt.setTooltip(pe[be-4],pe[be]);break;case 106:this.$=pe[be-4],rt.setLink(pe[be-4],pe[be-2],pe[be]);break;case 107:this.$=pe[be-6],rt.setLink(pe[be-6],pe[be-4],pe[be]),rt.setTooltip(pe[be-6],pe[be-2]);break;case 110:this.$=pe[be-1],rt.setLink(pe[be-1],pe[be]);break;case 111:this.$=pe[be-3],rt.setLink(pe[be-3],pe[be-2]),rt.setTooltip(pe[be-3],pe[be]);break;case 112:this.$=pe[be-3],rt.setLink(pe[be-3],pe[be-2],pe[be]);break;case 113:this.$=pe[be-5],rt.setLink(pe[be-5],pe[be-4],pe[be]),rt.setTooltip(pe[be-5],pe[be-2]);break;case 114:this.$=pe[be-4],rt.addVertex(pe[be-2],void 0,void 0,pe[be]);break;case 115:this.$=pe[be-4],rt.updateLink([pe[be-2]],pe[be]);break;case 116:this.$=pe[be-4],rt.updateLink(pe[be-2],pe[be]);break;case 117:this.$=pe[be-8],rt.updateLinkInterpolate([pe[be-6]],pe[be-2]),rt.updateLink([pe[be-6]],pe[be]);break;case 118:this.$=pe[be-8],rt.updateLinkInterpolate(pe[be-6],pe[be-2]),rt.updateLink(pe[be-6],pe[be]);break;case 119:this.$=pe[be-6],rt.updateLinkInterpolate([pe[be-4]],pe[be]);break;case 120:this.$=pe[be-6],rt.updateLinkInterpolate(pe[be-4],pe[be]);break;case 121:case 123:this.$=[pe[be]];break;case 122:case 124:pe[be-2].push(pe[be]),this.$=pe[be-2];break;case 126:this.$=pe[be-1]+pe[be];break;case 174:this.$=pe[be];break;case 175:this.$=pe[be-1]+""+pe[be];break;case 177:this.$=pe[be-1]+""+pe[be];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:w,85:S,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I,118:C,119:O,120:D,121:P},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:F,15:53,18:56},t(B,[2,3]),t(B,[2,4]),t(B,[2,5]),t(B,[2,6]),t(B,[2,7]),t(B,[2,8]),{8:G,9:z,11:Y,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:G,9:z,11:Y,21:66},{8:G,9:z,11:Y,21:67},{8:G,9:z,11:Y,21:68},{8:G,9:z,11:Y,21:69},{8:G,9:z,11:Y,21:70},{8:G,9:z,10:[1,71],11:Y,21:72},t(B,[2,36]),{35:[1,73]},{37:[1,74]},t(B,[2,39]),t(Q,[2,46],{18:75,10:F}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:X,42:ie,58:j,77:[1,83],86:J,92:[1,80],94:[1,81],98:82,102:Z,103:H,106:q,108:K,111:se,112:ce,113:ue,117:84},t(B,[2,178]),t(B,[2,179]),t(B,[2,180]),t(B,[2,181]),t(te,[2,47]),t(te,[2,49],{44:[1,96]}),t(De,[2,67],{110:109,29:[1,97],42:g,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:y,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:T,99:E,102:_,103:A,106:L,108:M,111:N,112:k,113:I}),t(oe,[2,174]),t(oe,[2,135]),t(oe,[2,136]),t(oe,[2,137]),t(oe,[2,138]),t(oe,[2,139]),t(oe,[2,140]),t(oe,[2,141]),t(oe,[2,142]),t(oe,[2,143]),t(oe,[2,144]),t(oe,[2,145]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,110]},t(ke,[2,26],{18:111,10:F}),t(B,[2,27]),{40:112,41:38,42:g,43:39,45:40,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I},t(B,[2,40]),t(B,[2,41]),t(B,[2,42]),t(Ie,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Se,116:Ue},t([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),t(B,[2,28]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,32]),{10:Pe,12:_e,14:me,27:W,28:122,32:fe,42:ge,58:re,73:he,77:[1,124],78:[1,125],80:135,81:ne,82:ae,83:we,84:Te,85:Ce,86:Ae,87:$e,88:123,102:Me,106:ye,108:He,111:ze,112:Ze,113:gt},t(yt,a,{5:148}),t(B,[2,37]),t(B,[2,38]),t(Q,[2,45],{42:tt}),{42:g,45:150,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I},{99:[1,151],100:152,102:[1,153]},{42:g,45:154,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I},{42:g,45:155,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I},t(Ye,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},t(Ye,[2,108],{117:160,10:[1,159],14:X,42:ie,58:j,86:J,102:Z,103:H,106:q,108:K,111:se,112:ce,113:ue}),t(Ye,[2,110],{10:[1,161]}),t(Je,[2,176]),t(Je,[2,163]),t(Je,[2,164]),t(Je,[2,165]),t(Je,[2,166]),t(Je,[2,167]),t(Je,[2,168]),t(Je,[2,169]),t(Je,[2,170]),t(Je,[2,171]),t(Je,[2,172]),t(Je,[2,173]),{42:g,45:162,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I},{30:163,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:171,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:173,48:[1,172],65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:174,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:175,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:176,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{106:[1,177]},{30:178,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:179,63:[1,180],65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:181,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:182,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{30:183,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},t(oe,[2,175]),t(i,[2,20]),t(ke,[2,25]),t(Q,[2,43],{18:184,10:F}),t(Ie,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{75:[1,188],76:189,113:Se,116:Ue},t(dt,[2,73]),t(dt,[2,75]),t(dt,[2,76]),t(dt,[2,161]),t(dt,[2,162]),{8:G,9:z,10:Pe,11:Y,12:_e,14:me,21:191,27:W,29:[1,190],32:fe,42:ge,58:re,73:he,80:135,81:ne,82:ae,83:we,84:Te,85:Ce,86:Ae,87:$e,88:192,102:Me,106:ye,108:He,111:ze,112:Ze,113:gt},t(lt,[2,94]),t(lt,[2,96]),t(lt,[2,97]),t(lt,[2,150]),t(lt,[2,151]),t(lt,[2,152]),t(lt,[2,153]),t(lt,[2,154]),t(lt,[2,155]),t(lt,[2,156]),t(lt,[2,157]),t(lt,[2,158]),t(lt,[2,159]),t(lt,[2,160]),t(lt,[2,83]),t(lt,[2,84]),t(lt,[2,85]),t(lt,[2,86]),t(lt,[2,87]),t(lt,[2,88]),t(lt,[2,89]),t(lt,[2,90]),t(lt,[2,91]),t(lt,[2,92]),t(lt,[2,93]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,193],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:w,85:S,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I,118:C,119:O,120:D,121:P},{10:F,18:194},{10:[1,195],42:g,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:109,111:N,112:k,113:I},{10:[1,196]},{10:[1,197],103:[1,198]},t(It,[2,121]),{10:[1,199],42:g,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:109,111:N,112:k,113:I},{10:[1,200],42:g,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:109,111:N,112:k,113:I},{77:[1,201]},t(Ye,[2,102],{10:[1,202]}),t(Ye,[2,104],{10:[1,203]}),{77:[1,204]},t(Je,[2,177]),{77:[1,205],95:[1,206]},t(te,[2,50],{110:109,42:g,58:y,86:T,99:E,102:_,103:A,106:L,108:M,111:N,112:k,113:I}),{31:[1,207],65:Ve,79:208,113:at,114:xt,115:it},t(mt,[2,79]),t(mt,[2,81]),t(mt,[2,82]),t(mt,[2,146]),t(mt,[2,147]),t(mt,[2,148]),t(mt,[2,149]),{47:[1,209],65:Ve,79:208,113:at,114:xt,115:it},{30:210,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{49:[1,211],65:Ve,79:208,113:at,114:xt,115:it},{51:[1,212],65:Ve,79:208,113:at,114:xt,115:it},{53:[1,213],65:Ve,79:208,113:at,114:xt,115:it},{55:[1,214],65:Ve,79:208,113:at,114:xt,115:it},{58:[1,215]},{62:[1,216],65:Ve,79:208,113:at,114:xt,115:it},{64:[1,217],65:Ve,79:208,113:at,114:xt,115:it},{30:218,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},{31:[1,219],65:Ve,79:208,113:at,114:xt,115:it},{65:Ve,67:[1,220],69:[1,221],79:208,113:at,114:xt,115:it},{65:Ve,67:[1,223],69:[1,222],79:208,113:at,114:xt,115:it},t(Q,[2,44],{42:tt}),t(Ie,[2,70]),t(Ie,[2,69]),{60:[1,224],65:Ve,79:208,113:at,114:xt,115:it},t(Ie,[2,72]),t(dt,[2,74]),{30:225,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},t(yt,a,{5:226}),t(lt,[2,95]),t(B,[2,35]),{41:227,42:g,43:39,45:40,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I},{10:St,58:gr,81:xn,89:228,102:jt,104:229,105:230,106:rn,107:Er,108:Kn,109:hn},{10:St,58:gr,81:xn,89:239,101:[1,240],102:jt,104:229,105:230,106:rn,107:Er,108:Kn,109:hn},{10:St,58:gr,81:xn,89:241,101:[1,242],102:jt,104:229,105:230,106:rn,107:Er,108:Kn,109:hn},{102:[1,243]},{10:St,58:gr,81:xn,89:244,102:jt,104:229,105:230,106:rn,107:Er,108:Kn,109:hn},{42:g,45:245,58:y,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I},t(Ye,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},t(Ye,[2,109]),t(Ye,[2,111],{10:[1,249]}),t(Ye,[2,112]),t(De,[2,51]),t(mt,[2,80]),t(De,[2,52]),{49:[1,250],65:Ve,79:208,113:at,114:xt,115:it},t(De,[2,59]),t(De,[2,54]),t(De,[2,55]),t(De,[2,56]),{106:[1,251]},t(De,[2,58]),t(De,[2,60]),{64:[1,252],65:Ve,79:208,113:at,114:xt,115:it},t(De,[2,62]),t(De,[2,63]),t(De,[2,65]),t(De,[2,64]),t(De,[2,66]),t([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Ve,79:208,113:at,114:xt,115:it},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,254],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:w,85:S,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I,118:C,119:O,120:D,121:P},t(te,[2,48]),t(Ye,[2,114],{103:Qn}),t(on,[2,123],{105:256,10:St,58:gr,81:xn,102:jt,106:rn,107:Er,108:Kn,109:hn}),t(Rn,[2,125]),t(Rn,[2,127]),t(Rn,[2,128]),t(Rn,[2,129]),t(Rn,[2,130]),t(Rn,[2,131]),t(Rn,[2,132]),t(Rn,[2,133]),t(Rn,[2,134]),t(Ye,[2,115],{103:Qn}),{10:[1,257]},t(Ye,[2,116],{103:Qn}),{10:[1,258]},t(It,[2,122]),t(Ye,[2,98],{103:Qn}),t(Ye,[2,99],{110:109,42:g,58:y,86:T,99:E,102:_,103:A,106:L,108:M,111:N,112:k,113:I}),t(Ye,[2,103]),t(Ye,[2,105],{10:[1,259]}),t(Ye,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:G,9:z,11:Y,21:264},t(B,[2,34]),{10:St,58:gr,81:xn,102:jt,104:265,105:230,106:rn,107:Er,108:Kn,109:hn},t(Rn,[2,126]),{14:X,42:ie,58:j,86:J,98:266,102:Z,103:H,106:q,108:K,111:se,112:ce,113:ue,117:84},{14:X,42:ie,58:j,86:J,98:267,102:Z,103:H,106:q,108:K,111:se,112:ce,113:ue,117:84},{95:[1,268]},t(Ye,[2,113]),t(De,[2,53]),{30:269,65:Ve,77:je,78:kt,79:164,113:at,114:xt,115:it},t(De,[2,61]),t(yt,a,{5:270}),t(on,[2,124],{105:256,10:St,58:gr,81:xn,102:jt,106:rn,107:Er,108:Kn,109:hn}),t(Ye,[2,119],{117:160,10:[1,271],14:X,42:ie,58:j,86:J,102:Z,103:H,106:q,108:K,111:se,112:ce,113:ue}),t(Ye,[2,120],{117:160,10:[1,272],14:X,42:ie,58:j,86:J,102:Z,103:H,106:q,108:K,111:se,112:ce,113:ue}),t(Ye,[2,107]),{31:[1,273],65:Ve,79:208,113:at,114:xt,115:it},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,274],33:24,34:d,36:p,38:m,40:28,41:38,42:g,43:39,45:40,58:y,81:v,82:x,83:b,84:w,85:S,86:T,99:E,102:_,103:A,106:L,108:M,110:41,111:N,112:k,113:I,118:C,119:O,120:D,121:P},{10:St,58:gr,81:xn,89:275,102:jt,104:229,105:230,106:rn,107:Er,108:Kn,109:hn},{10:St,58:gr,81:xn,89:276,102:jt,104:229,105:230,106:rn,107:Er,108:Kn,109:hn},t(De,[2,57]),t(B,[2,33]),t(Ye,[2,117],{103:Qn}),t(Ye,[2,118],{103:Qn})],defaultActions:{},parseError:o(function(ht,At){if(At.recoverable)this.trace(ht);else{var Gt=new Error(ht);throw Gt.hash=At,Gt}},"parseError"),parse:o(function(ht){var At=this,Gt=[0],rt=[],Ot=[null],pe=[],ur=this.table,be="",Ir=0,Xc=0,M1=0,_b=2,I1=1,O1=pe.slice.call(arguments,1),ci=Object.create(this.lexer),ko={yy:{}};for(var ih in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ih)&&(ko.yy[ih]=this.yy[ih]);ci.setInput(ht,ko.yy),ko.yy.lexer=ci,ko.yy.parser=this,typeof ci.yylloc>"u"&&(ci.yylloc={});var Us=ci.yylloc;pe.push(Us);var ah=ci.options&&ci.options.ranges;typeof ko.yy.parseError=="function"?this.parseError=ko.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Lb(La){Gt.length=Gt.length-2*La,Ot.length=Ot.length-La,pe.length=pe.length-La}o(Lb,"popStack");function P1(){var La;return La=rt.pop()||ci.lex()||I1,typeof La!="number"&&(La instanceof Array&&(rt=La,La=rt.pop()),La=At.symbols_[La]||La),La}o(P1,"lex");for(var sa,jc,Kc,us,_i,Wl,sh={},zf,Hs,B1,$f;;){if(Kc=Gt[Gt.length-1],this.defaultActions[Kc]?us=this.defaultActions[Kc]:((sa===null||typeof sa>"u")&&(sa=P1()),us=ur[Kc]&&ur[Kc][sa]),typeof us>"u"||!us.length||!us[0]){var F1="";$f=[];for(zf in ur[Kc])this.terminals_[zf]&&zf>_b&&$f.push("'"+this.terminals_[zf]+"'");ci.showPosition?F1="Parse error on line "+(Ir+1)+`: +`+ci.showPosition()+` +Expecting `+$f.join(", ")+", got '"+(this.terminals_[sa]||sa)+"'":F1="Parse error on line "+(Ir+1)+": Unexpected "+(sa==I1?"end of input":"'"+(this.terminals_[sa]||sa)+"'"),this.parseError(F1,{text:ci.match,token:this.terminals_[sa]||sa,line:ci.yylineno,loc:Us,expected:$f})}if(us[0]instanceof Array&&us.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Kc+", token: "+sa);switch(us[0]){case 1:Gt.push(sa),Ot.push(ci.yytext),pe.push(ci.yylloc),Gt.push(us[1]),sa=null,jc?(sa=jc,jc=null):(Xc=ci.yyleng,be=ci.yytext,Ir=ci.yylineno,Us=ci.yylloc,M1>0&&M1--);break;case 2:if(Hs=this.productions_[us[1]][1],sh.$=Ot[Ot.length-Hs],sh._$={first_line:pe[pe.length-(Hs||1)].first_line,last_line:pe[pe.length-1].last_line,first_column:pe[pe.length-(Hs||1)].first_column,last_column:pe[pe.length-1].last_column},ah&&(sh._$.range=[pe[pe.length-(Hs||1)].range[0],pe[pe.length-1].range[1]]),Wl=this.performAction.apply(sh,[be,Xc,Ir,ko.yy,us[1],Ot,pe].concat(O1)),typeof Wl<"u")return Wl;Hs&&(Gt=Gt.slice(0,-1*Hs*2),Ot=Ot.slice(0,-1*Hs),pe=pe.slice(0,-1*Hs)),Gt.push(this.productions_[us[1]][0]),Ot.push(sh.$),pe.push(sh._$),B1=ur[Gt[Gt.length-2]][Gt[Gt.length-1]],Gt.push(B1);break;case 3:return!0}}return!0},"parse")},_a=function(){var qi={EOF:1,parseError:o(function(At,Gt){if(this.yy.parser)this.yy.parser.parseError(At,Gt);else throw new Error(At)},"parseError"),setInput:o(function(ht,At){return this.yy=At||this.yy||{},this._input=ht,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var ht=this._input[0];this.yytext+=ht,this.yyleng++,this.offset++,this.match+=ht,this.matched+=ht;var At=ht.match(/(?:\r\n?|\n).*/g);return At?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ht},"input"),unput:o(function(ht){var At=ht.length,Gt=ht.split(/(?:\r\n?|\n)/g);this._input=ht+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-At),this.offset-=At;var rt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Gt.length-1&&(this.yylineno-=Gt.length-1);var Ot=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Gt?(Gt.length===rt.length?this.yylloc.first_column:0)+rt[rt.length-Gt.length].length-Gt[0].length:this.yylloc.first_column-At},this.options.ranges&&(this.yylloc.range=[Ot[0],Ot[0]+this.yyleng-At]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(ht){this.unput(this.match.slice(ht))},"less"),pastInput:o(function(){var ht=this.matched.substr(0,this.matched.length-this.match.length);return(ht.length>20?"...":"")+ht.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var ht=this.match;return ht.length<20&&(ht+=this._input.substr(0,20-ht.length)),(ht.substr(0,20)+(ht.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var ht=this.pastInput(),At=new Array(ht.length+1).join("-");return ht+this.upcomingInput()+` +`+At+"^"},"showPosition"),test_match:o(function(ht,At){var Gt,rt,Ot;if(this.options.backtrack_lexer&&(Ot={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ot.yylloc.range=this.yylloc.range.slice(0))),rt=ht[0].match(/(?:\r\n?|\n).*/g),rt&&(this.yylineno+=rt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:rt?rt[rt.length-1].length-rt[rt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ht[0].length},this.yytext+=ht[0],this.match+=ht[0],this.matches=ht,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ht[0].length),this.matched+=ht[0],Gt=this.performAction.call(this,this.yy,this,At,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Gt)return Gt;if(this._backtrack){for(var pe in Ot)this[pe]=Ot[pe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ht,At,Gt,rt;this._more||(this.yytext="",this.match="");for(var Ot=this._currentRules(),pe=0;peAt[0].length)){if(At=Gt,rt=pe,this.options.backtrack_lexer){if(ht=this.test_match(Gt,Ot[pe]),ht!==!1)return ht;if(this._backtrack){At=!1;continue}else return!1}else if(!this.options.flex)break}return At?(ht=this.test_match(At,Ot[rt]),ht!==!1?ht:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var At=this.next();return At||this.lex()},"lex"),begin:o(function(At){this.conditionStack.push(At)},"begin"),popState:o(function(){var At=this.conditionStack.length-1;return At>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(At){return At=this.conditionStack.length-1-Math.abs(At||0),At>=0?this.conditionStack[At]:"INITIAL"},"topState"),pushState:o(function(At){this.begin(At)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(At,Gt,rt,Ot){var pe=Ot;switch(rt){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return At.lex.firstGraph()&&this.begin("dir"),12;break;case 30:return At.lex.firstGraph()&&this.begin("dir"),12;break;case 31:return At.lex.firstGraph()&&this.begin("dir"),12;break;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;break;case 39:return this.popState(),14;break;case 40:return this.popState(),14;break;case 41:return this.popState(),14;break;case 42:return this.popState(),14;break;case 43:return this.popState(),14;break;case 44:return this.popState(),14;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;break;case 62:return this.pushState("edgeText"),73;break;case 63:return 116;case 64:return this.popState(),75;break;case 65:return this.pushState("thickEdgeText"),73;break;case 66:return 116;case 67:return this.popState(),75;break;case 68:return this.pushState("dottedEdgeText"),73;break;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;break;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;break;case 74:return this.popState(),53;break;case 75:return this.pushState("text"),52;break;case 76:return this.popState(),55;break;case 77:return this.pushState("text"),54;break;case 78:return 56;case 79:return this.pushState("text"),65;break;case 80:return this.popState(),62;break;case 81:return this.pushState("text"),61;break;case 82:return this.popState(),47;break;case 83:return this.pushState("text"),46;break;case 84:return this.popState(),67;break;case 85:return this.popState(),69;break;case 86:return 114;case 87:return this.pushState("trapText"),66;break;case 88:return this.pushState("trapText"),68;break;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;break;case 101:return this.pushState("text"),60;break;case 102:return this.popState(),49;break;case 103:return this.pushState("text"),48;break;case 104:return this.popState(),31;break;case 105:return this.pushState("text"),29;break;case 106:return this.popState(),64;break;case 107:return this.pushState("text"),63;break;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return qi}();Ha.lexer=_a;function To(){this.yy={}}return o(To,"Parser"),To.prototype=Ha,Ha.Parser=To,new To}();vD.parser=vD;Xre=vD});var kNe,ENe,Kre,Qre=R(()=>{"use strict";al();kNe=o((t,e)=>{let r=X1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ws(n,i,a,e)},"fade"),ENe=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -491,7 +491,7 @@ Expecting `+Lf.join(", ")+", got '"+(this.terminals_[Qi]||Qi)+"'":k1="Parse erro /* For html labels only */ .labelBkg { - background-color: ${tDe(t.edgeLabelBackground,.5)}; + background-color: ${kNe(t.edgeLabelBackground,.5)}; // background-color: } @@ -531,12 +531,12 @@ Expecting `+Lf.join(", ")+", got '"+(this.terminals_[Qi]||Qi)+"'":k1="Parse erro font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),Cte=rDe});var Ik={};ur(Ik,{diagram:()=>nDe});var nDe,Nk=_(()=>{"use strict";gt();wA();wte();Ete();Ste();nDe={parser:Tte,db:K3,renderer:kte,styles:Cte,init:s(t=>{t.flowchart||(t.flowchart={}),t.layout&&pC({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,pC({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),K3.clear(),K3.setGen("gen-2")},"init")}});var LL,Rte,Mte=_(()=>{"use strict";LL=function(){var t=s(function(E,S,R,D){for(R=R||{},D=E.length;D--;R[E[D]]=S);return R},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],n=[1,11],i=[1,12],a=[1,13],o=[1,14],l=[1,15],u=[1,21],h=[1,22],f=[1,23],d=[1,24],p=[1,25],m=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],g=[1,34],y=[27,28,46,47],v=[41,42,43,44,45],x=[17,34],b=[1,54],k=[1,53],A=[17,34,36,38],w={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:s(function(S,R,D,L,P,M,F){var I=M.length-1;switch(P){case 1:break;case 2:this.$=[];break;case 3:M[I-1].push(M[I]),this.$=M[I-1];break;case 4:case 5:this.$=M[I];break;case 6:case 7:this.$=[];break;case 8:L.addEntity(M[I-4]),L.addEntity(M[I-2]),L.addRelationship(M[I-4],M[I],M[I-2],M[I-3]);break;case 9:L.addEntity(M[I-3]),L.addAttributes(M[I-3],M[I-1]);break;case 10:L.addEntity(M[I-2]);break;case 11:L.addEntity(M[I]);break;case 12:L.addEntity(M[I-6],M[I-4]),L.addAttributes(M[I-6],M[I-1]);break;case 13:L.addEntity(M[I-5],M[I-3]);break;case 14:L.addEntity(M[I-3],M[I-1]);break;case 15:case 16:this.$=M[I].trim(),L.setAccTitle(this.$);break;case 17:case 18:this.$=M[I].trim(),L.setAccDescription(this.$);break;case 19:case 43:this.$=M[I];break;case 20:case 41:case 42:this.$=M[I].replace(/"/g,"");break;case 21:case 29:this.$=[M[I]];break;case 22:M[I].push(M[I-1]),this.$=M[I];break;case 23:this.$={attributeType:M[I-1],attributeName:M[I]};break;case 24:this.$={attributeType:M[I-2],attributeName:M[I-1],attributeKeyTypeList:M[I]};break;case 25:this.$={attributeType:M[I-2],attributeName:M[I-1],attributeComment:M[I]};break;case 26:this.$={attributeType:M[I-3],attributeName:M[I-2],attributeKeyTypeList:M[I-1],attributeComment:M[I]};break;case 27:case 28:case 31:this.$=M[I];break;case 30:M[I-2].push(M[I]),this.$=M[I-2];break;case 32:this.$=M[I].replace(/"/g,"");break;case 33:this.$={cardA:M[I],relType:M[I-1],cardB:M[I-2]};break;case 34:this.$=L.Cardinality.ZERO_OR_ONE;break;case 35:this.$=L.Cardinality.ZERO_OR_MORE;break;case 36:this.$=L.Cardinality.ONE_OR_MORE;break;case 37:this.$=L.Cardinality.ONLY_ONE;break;case 38:this.$=L.Cardinality.MD_PARENT;break;case 39:this.$=L.Identification.NON_IDENTIFYING;break;case 40:this.$=L.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:n,24:i,26:a,27:o,28:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:n,24:i,26:a,27:o,28:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:u,42:h,43:f,44:d,45:p}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(m,[2,19]),t(m,[2,20]),t(e,[2,4]),{11:29,27:o,28:l},{16:30,17:[1,31],29:32,30:33,34:g},{11:35,27:o,28:l},{40:36,46:[1,37],47:[1,38]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(y,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:g},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:u,42:h,43:f,44:d,45:p},t(v,[2,39]),t(v,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(x,[2,23],{32:50,33:51,35:52,37:b,38:k}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(x,[2,24],{33:56,36:[1,57],38:k}),t(x,[2,25]),t(A,[2,29]),t(x,[2,32]),t(A,[2,31]),{16:58,17:[1,59],29:32,30:33,34:g},t(x,[2,26]),{35:60,37:b},{17:[1,61]},t(e,[2,13]),t(A,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:s(function(S,R){if(R.recoverable)this.trace(S);else{var D=new Error(S);throw D.hash=R,D}},"parseError"),parse:s(function(S){var R=this,D=[0],L=[],P=[null],M=[],F=this.table,I="",O=0,z=0,N=0,U=2,$=1,W=M.slice.call(arguments,1),ee=Object.create(this.lexer),te={yy:{}};for(var ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ce)&&(te.yy[ce]=this.yy[ce]);ee.setInput(S,te.yy),te.yy.lexer=ee,te.yy.parser=this,typeof ee.yylloc>"u"&&(ee.yylloc={});var Z=ee.yylloc;M.push(Z);var fe=ee.options&&ee.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Oe){D.length=D.length-2*Oe,P.length=P.length-Oe,M.length=M.length-Oe}s(ne,"popStack");function H(){var Oe;return Oe=L.pop()||ee.lex()||$,typeof Oe!="number"&&(Oe instanceof Array&&(L=Oe,Oe=L.pop()),Oe=R.symbols_[Oe]||Oe),Oe}s(H,"lex");for(var Q,K,re,ie,ye,j,De={},oe,Re,Pe,Se;;){if(re=D[D.length-1],this.defaultActions[re]?ie=this.defaultActions[re]:((Q===null||typeof Q>"u")&&(Q=H()),ie=F[re]&&F[re][Q]),typeof ie>"u"||!ie.length||!ie[0]){var Ue="";Se=[];for(oe in F[re])this.terminals_[oe]&&oe>U&&Se.push("'"+this.terminals_[oe]+"'");ee.showPosition?Ue="Parse error on line "+(O+1)+`: -`+ee.showPosition()+` -Expecting `+Se.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":Ue="Parse error on line "+(O+1)+": Unexpected "+(Q==$?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(Ue,{text:ee.match,token:this.terminals_[Q]||Q,line:ee.yylineno,loc:Z,expected:Se})}if(ie[0]instanceof Array&&ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+Q);switch(ie[0]){case 1:D.push(Q),P.push(ee.yytext),M.push(ee.yylloc),D.push(ie[1]),Q=null,K?(Q=K,K=null):(z=ee.yyleng,I=ee.yytext,O=ee.yylineno,Z=ee.yylloc,N>0&&N--);break;case 2:if(Re=this.productions_[ie[1]][1],De.$=P[P.length-Re],De._$={first_line:M[M.length-(Re||1)].first_line,last_line:M[M.length-1].last_line,first_column:M[M.length-(Re||1)].first_column,last_column:M[M.length-1].last_column},fe&&(De._$.range=[M[M.length-(Re||1)].range[0],M[M.length-1].range[1]]),j=this.performAction.apply(De,[I,z,O,te.yy,ie[1],P,M].concat(W)),typeof j<"u")return j;Re&&(D=D.slice(0,-1*Re*2),P=P.slice(0,-1*Re),M=M.slice(0,-1*Re)),D.push(this.productions_[ie[1]][0]),P.push(De.$),M.push(De._$),Pe=F[D[D.length-2]][D[D.length-1]],D.push(Pe);break;case 3:return!0}}return!0},"parse")},T=function(){var E={EOF:1,parseError:s(function(R,D){if(this.yy.parser)this.yy.parser.parseError(R,D);else throw new Error(R)},"parseError"),setInput:s(function(S,R){return this.yy=R||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var R=S.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:s(function(S){var R=S.length,D=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),D.length-1&&(this.yylineno-=D.length-1);var P=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:D?(D.length===L.length?this.yylloc.first_column:0)+L[L.length-D.length].length-D[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[P[0],P[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(S){this.unput(this.match.slice(S))},"less"),pastInput:s(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var S=this.pastInput(),R=new Array(S.length+1).join("-");return S+this.upcomingInput()+` -`+R+"^"},"showPosition"),test_match:s(function(S,R){var D,L,P;if(this.options.backtrack_lexer&&(P={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(P.yylloc.range=this.yylloc.range.slice(0))),L=S[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],D=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),D)return D;if(this._backtrack){for(var M in P)this[M]=P[M];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,R,D,L;this._more||(this.yytext="",this.match="");for(var P=this._currentRules(),M=0;MR[0].length)){if(R=D,L=M,this.options.backtrack_lexer){if(S=this.test_match(D,P[M]),S!==!1)return S;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(S=this.test_match(R,P[L]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var R=this.next();return R||this.lex()},"lex"),begin:s(function(R){this.conditionStack.push(R)},"begin"),popState:s(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:s(function(R){this.begin(R)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(R,D,L,P){var M=P;switch(L){case 0:return this.begin("acc_title"),22;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),24;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;break;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;break;case 22:return D.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return D.yytext[0];case 55:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return E}();w.lexer=T;function C(){this.yy={}}return s(C,"Parser"),C.prototype=w,w.Parser=C,new C}();LL.parser=LL;Rte=LL});var Md,DL,uDe,hDe,Ite,fDe,dDe,pDe,mDe,gDe,Nte,Ote=_(()=>{"use strict";it();gt();Ci();Md=new Map,DL=[],uDe={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},hDe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},Ite=s(function(t,e=void 0){return Md.has(t)?!Md.get(t).alias&&e&&(Md.get(t).alias=e,V.info(`Add alias '${e}' to entity '${t}'`)):(Md.set(t,{attributes:[],alias:e}),V.info("Added new entity :",t)),Md.get(t)},"addEntity"),fDe=s(()=>Md,"getEntities"),dDe=s(function(t,e){let r=Ite(t),n;for(n=e.length-1;n>=0;n--)r.attributes.push(e[n]),V.debug("Added attribute ",e[n].attributeName)},"addAttributes"),pDe=s(function(t,e,r,n){let i={entityA:t,roleA:e,entityB:r,relSpec:n};DL.push(i),V.debug("Added new relationship :",i)},"addRelationship"),mDe=s(()=>DL,"getRelationships"),gDe=s(function(){Md=new Map,DL=[],br()},"clear"),Nte={Cardinality:uDe,Identification:hDe,getConfig:s(()=>le().er,"getConfig"),addEntity:Ite,addAttributes:dDe,getEntities:fDe,addRelationship:pDe,getRelationships:mDe,clear:gDe,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,setDiagramTitle:an,getDiagramTitle:Qr}});var ml,yDe,Lo,Pte=_(()=>{"use strict";ml={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},yDe=s(function(t,e){let r;t.append("defs").append("marker").attr("id",ml.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",ml.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",ml.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",ml.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",ml.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",ml.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",ml.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"insertMarkers"),Lo={ERMarkers:ml,insertMarkers:yDe}});var Bte,Fte=_(()=>{"use strict";Bte=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function vDe(t){return typeof t=="string"&&Bte.test(t)}var zte,$te=_(()=>{"use strict";Fte();s(vDe,"validate");zte=vDe});function Gte(t,e=0){return ca[t[e+0]]+ca[t[e+1]]+ca[t[e+2]]+ca[t[e+3]]+"-"+ca[t[e+4]]+ca[t[e+5]]+"-"+ca[t[e+6]]+ca[t[e+7]]+"-"+ca[t[e+8]]+ca[t[e+9]]+"-"+ca[t[e+10]]+ca[t[e+11]]+ca[t[e+12]]+ca[t[e+13]]+ca[t[e+14]]+ca[t[e+15]]}var ca,Vte=_(()=>{"use strict";ca=[];for(let t=0;t<256;++t)ca.push((t+256).toString(16).slice(1));s(Gte,"unsafeStringify")});function xDe(t){if(!zte(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var Ute,qte=_(()=>{"use strict";$te();s(xDe,"parse");Ute=xDe});function bDe(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r{"use strict";Vte();qte();s(bDe,"stringToBytes");kDe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",wDe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";s(RL,"v35")});function TDe(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:return e^r^n;case 2:return e&r^e&n^r&n;case 3:return e^r^n}}function ML(t,e){return t<>>32-e}function EDe(t){let e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){let o=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;p=d,d=f,f=ML(h,30)>>>0,h=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+h>>>0,r[2]=r[2]+f>>>0,r[3]=r[3]+d>>>0,r[4]=r[4]+p>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}var Hte,Yte=_(()=>{"use strict";s(TDe,"f");s(ML,"ROTL");s(EDe,"sha1");Hte=EDe});var CDe,IL,Xte=_(()=>{"use strict";Wte();Yte();CDe=RL("v5",80,Hte),IL=CDe});var jte=_(()=>{"use strict";Xte()});function ODe(t="",e=""){let r=t.replace(SDe,"");return`${Qte(e)}${Qte(r)}${IL(t,NDe)}`}function Qte(t=""){return t.length>0?`${t}-`:""}var SDe,_i,bv,_De,ADe,LDe,DDe,Zte,RDe,Kte,MDe,IDe,NDe,Jte,ere=_(()=>{"use strict";la();Xt();Dd();gt();it();pr();Pte();Un();Qt();jte();SDe=/[^\dA-Za-z](\W)*/g,_i={},bv=new Map,_De=s(function(t){let e=Object.keys(t);for(let r of e)_i[r]=t[r]},"setConf"),ADe=s((t,e,r)=>{let n=_i.entityPadding/3,i=_i.entityPadding/3,a=_i.fontSize*.85,o=e.node().getBBox(),l=[],u=!1,h=!1,f=0,d=0,p=0,m=0,g=o.height+n*2,y=1;r.forEach(k=>{k.attributeKeyTypeList!==void 0&&k.attributeKeyTypeList.length>0&&(u=!0),k.attributeComment!==void 0&&(h=!0)}),r.forEach(k=>{let A=`${e.node().id}-attr-${y}`,w=0,T=uh(k.attributeType),C=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(T),E=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(k.attributeName),S={};S.tn=C,S.nn=E;let R=C.node().getBBox(),D=E.node().getBBox();if(f=Math.max(f,R.width),d=Math.max(d,D.width),w=Math.max(R.height,D.height),u){let L=k.attributeKeyTypeList!==void 0?k.attributeKeyTypeList.join(","):"",P=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(L);S.kn=P;let M=P.node().getBBox();p=Math.max(p,M.width),w=Math.max(w,M.height)}if(h){let L=t.append("text").classed("er entityLabel",!0).attr("id",`${A}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",le().fontFamily).style("font-size",a+"px").text(k.attributeComment||"");S.cn=L;let P=L.node().getBBox();m=Math.max(m,P.width),w=Math.max(w,P.height)}S.height=w,l.push(S),g+=w+n*2,y+=1});let v=4;u&&(v+=2),h&&(v+=2);let x=f+d+p+m,b={width:Math.max(_i.minEntityWidth,Math.max(o.width+_i.entityPadding*2,x+i*v)),height:r.length>0?g:Math.max(_i.minEntityHeight,o.height+_i.entityPadding*2)};if(r.length>0){let k=Math.max(0,(b.width-x-i*v)/(v/2));e.attr("transform","translate("+b.width/2+","+(n+o.height/2)+")");let A=o.height+n*2,w="attributeBoxOdd";l.forEach(T=>{let C=A+n+T.height/2;T.tn.attr("transform","translate("+i+","+C+")");let E=t.insert("rect","#"+T.tn.node().id).classed(`er ${w}`,!0).attr("x",0).attr("y",A).attr("width",f+i*2+k).attr("height",T.height+n*2),S=parseFloat(E.attr("x"))+parseFloat(E.attr("width"));T.nn.attr("transform","translate("+(S+i)+","+C+")");let R=t.insert("rect","#"+T.nn.node().id).classed(`er ${w}`,!0).attr("x",S).attr("y",A).attr("width",d+i*2+k).attr("height",T.height+n*2),D=parseFloat(R.attr("x"))+parseFloat(R.attr("width"));if(u){T.kn.attr("transform","translate("+(D+i)+","+C+")");let L=t.insert("rect","#"+T.kn.node().id).classed(`er ${w}`,!0).attr("x",D).attr("y",A).attr("width",p+i*2+k).attr("height",T.height+n*2);D=parseFloat(L.attr("x"))+parseFloat(L.attr("width"))}h&&(T.cn.attr("transform","translate("+(D+i)+","+C+")"),t.insert("rect","#"+T.cn.node().id).classed(`er ${w}`,"true").attr("x",D).attr("y",A).attr("width",m+i*2+k).attr("height",T.height+n*2)),A+=T.height+n*2,w=w==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else b.height=Math.max(_i.minEntityHeight,g),e.attr("transform","translate("+b.width/2+","+b.height/2+")");return b},"drawAttributes"),LDe=s(function(t,e,r){let n=[...e.keys()],i;return n.forEach(function(a){let o=ODe(a,"entity");bv.set(a,o);let l=t.append("g").attr("id",o);i=i===void 0?o:i;let u="text-"+o,h=l.append("text").classed("er entityLabel",!0).attr("id",u).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",le().fontFamily).style("font-size",_i.fontSize+"px").text(e.get(a).alias??a),{width:f,height:d}=ADe(l,h,e.get(a).attributes),m=l.insert("rect","#"+u).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",f).attr("height",d).node().getBBox();r.setNode(o,{width:m.width,height:m.height,shape:"rect",id:o})}),i},"drawEntities"),DDe=s(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},"adjustEntities"),Zte=s(function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},"getEdgeName"),RDe=s(function(t,e){return t.forEach(function(r){e.setEdge(bv.get(r.entityA),bv.get(r.entityB),{relationship:r},Zte(r))}),t},"addRelationships"),Kte=0,MDe=s(function(t,e,r,n,i){Kte++;let a=r.edge(bv.get(e.entityA),bv.get(e.entityB),Zte(e)),o=ra().x(function(g){return g.x}).y(function(g){return g.y}).curve(hs),l=t.insert("path","#"+n).classed("er relationshipLine",!0).attr("d",o(a.points)).style("stroke",_i.stroke).style("fill","none");e.relSpec.relType===i.db.Identification.NON_IDENTIFYING&&l.attr("stroke-dasharray","8,8");let u="";switch(_i.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),e.relSpec.cardA){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ZERO_OR_ONE_END+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ZERO_OR_MORE_END+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ONE_OR_MORE_END+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.ONLY_ONE_END+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-end","url("+u+"#"+Lo.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ZERO_OR_ONE_START+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ZERO_OR_MORE_START+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ONE_OR_MORE_START+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.ONLY_ONE_START+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-start","url("+u+"#"+Lo.ERMarkers.MD_PARENT_START+")");break}let h=l.node().getTotalLength(),f=l.node().getPointAtLength(h*.5),d="rel"+Kte,m=t.append("text").classed("er relationshipLabel",!0).attr("id",d).attr("x",f.x).attr("y",f.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",le().fontFamily).style("font-size",_i.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+d).classed("er relationshipLabelBox",!0).attr("x",f.x-m.width/2).attr("y",f.y-m.height/2).attr("width",m.width).attr("height",m.height)},"drawRelationshipFromLayout"),IDe=s(function(t,e,r,n){_i=le().er,V.info("Drawing ER diagram");let i=le().securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let l=(i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body")).select(`[id='${e}']`);Lo.insertMarkers(l,_i);let u;u=new ir({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:_i.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let h=LDe(l,n.db.getEntities(),u),f=RDe(n.db.getRelationships(),u);eo(u),DDe(l,u),f.forEach(function(y){MDe(l,y,u,h,n)});let d=_i.diagramPadding;dt.insertTitle(l,"entityTitleText",_i.titleTopMargin,n.db.getDiagramTitle());let p=l.node().getBBox(),m=p.width+d*2,g=p.height+d*2;xr(l,g,m,_i.useMaxWidth),l.attr("viewBox",`${p.x-d} ${p.y-d} ${m} ${g}`)},"draw"),NDe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";s(ODe,"generateId");s(Qte,"strWithHyphen");Jte={setConf:_De,draw:IDe}});var PDe,tre,rre=_(()=>{"use strict";PDe=s(t=>` +`,"getStyles"),Kre=ENe});var cT={};hr(cT,{diagram:()=>CNe});var CNe,uT=R(()=>{"use strict";_t();f9();qre();jre();Qre();CNe={parser:Xre,db:A5,renderer:Wre,styles:Kre,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&iS({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,iS({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),A5.clear(),A5.setGen("gen-2")},"init")}});var xD,rne,nne=R(()=>{"use strict";xD=function(){var t=o(function(A,L,M,N){for(M=M||{},N=A.length;N--;M[A[N]]=L);return M},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,14],l=[1,15],u=[1,21],h=[1,22],f=[1,23],d=[1,24],p=[1,25],m=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],g=[1,34],y=[27,28,46,47],v=[41,42,43,44,45],x=[17,34],b=[1,54],w=[1,53],S=[17,34,36,38],T={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:o(function(L,M,N,k,I,C,O){var D=C.length-1;switch(I){case 1:break;case 2:this.$=[];break;case 3:C[D-1].push(C[D]),this.$=C[D-1];break;case 4:case 5:this.$=C[D];break;case 6:case 7:this.$=[];break;case 8:k.addEntity(C[D-4]),k.addEntity(C[D-2]),k.addRelationship(C[D-4],C[D],C[D-2],C[D-3]);break;case 9:k.addEntity(C[D-3]),k.addAttributes(C[D-3],C[D-1]);break;case 10:k.addEntity(C[D-2]);break;case 11:k.addEntity(C[D]);break;case 12:k.addEntity(C[D-6],C[D-4]),k.addAttributes(C[D-6],C[D-1]);break;case 13:k.addEntity(C[D-5],C[D-3]);break;case 14:k.addEntity(C[D-3],C[D-1]);break;case 15:case 16:this.$=C[D].trim(),k.setAccTitle(this.$);break;case 17:case 18:this.$=C[D].trim(),k.setAccDescription(this.$);break;case 19:case 43:this.$=C[D];break;case 20:case 41:case 42:this.$=C[D].replace(/"/g,"");break;case 21:case 29:this.$=[C[D]];break;case 22:C[D].push(C[D-1]),this.$=C[D];break;case 23:this.$={attributeType:C[D-1],attributeName:C[D]};break;case 24:this.$={attributeType:C[D-2],attributeName:C[D-1],attributeKeyTypeList:C[D]};break;case 25:this.$={attributeType:C[D-2],attributeName:C[D-1],attributeComment:C[D]};break;case 26:this.$={attributeType:C[D-3],attributeName:C[D-2],attributeKeyTypeList:C[D-1],attributeComment:C[D]};break;case 27:case 28:case 31:this.$=C[D];break;case 30:C[D-2].push(C[D]),this.$=C[D-2];break;case 32:this.$=C[D].replace(/"/g,"");break;case 33:this.$={cardA:C[D],relType:C[D-1],cardB:C[D-2]};break;case 34:this.$=k.Cardinality.ZERO_OR_ONE;break;case 35:this.$=k.Cardinality.ZERO_OR_MORE;break;case 36:this.$=k.Cardinality.ONE_OR_MORE;break;case 37:this.$=k.Cardinality.ONLY_ONE;break;case 38:this.$=k.Cardinality.MD_PARENT;break;case 39:this.$=k.Identification.NON_IDENTIFYING;break;case 40:this.$=k.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:n,24:i,26:a,27:s,28:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:n,24:i,26:a,27:s,28:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:u,42:h,43:f,44:d,45:p}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(m,[2,19]),t(m,[2,20]),t(e,[2,4]),{11:29,27:s,28:l},{16:30,17:[1,31],29:32,30:33,34:g},{11:35,27:s,28:l},{40:36,46:[1,37],47:[1,38]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(y,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:g},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:u,42:h,43:f,44:d,45:p},t(v,[2,39]),t(v,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(x,[2,23],{32:50,33:51,35:52,37:b,38:w}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(x,[2,24],{33:56,36:[1,57],38:w}),t(x,[2,25]),t(S,[2,29]),t(x,[2,32]),t(S,[2,31]),{16:58,17:[1,59],29:32,30:33,34:g},t(x,[2,26]),{35:60,37:b},{17:[1,61]},t(e,[2,13]),t(S,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:o(function(L,M){if(M.recoverable)this.trace(L);else{var N=new Error(L);throw N.hash=M,N}},"parseError"),parse:o(function(L){var M=this,N=[0],k=[],I=[null],C=[],O=this.table,D="",P=0,F=0,B=0,G=2,z=1,Y=C.slice.call(arguments,1),Q=Object.create(this.lexer),X={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(X.yy[ie]=this.yy[ie]);Q.setInput(L,X.yy),X.yy.lexer=Q,X.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var j=Q.yylloc;C.push(j);var J=Q.options&&Q.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Z(Pe){N.length=N.length-2*Pe,I.length=I.length-Pe,C.length=C.length-Pe}o(Z,"popStack");function H(){var Pe;return Pe=k.pop()||Q.lex()||z,typeof Pe!="number"&&(Pe instanceof Array&&(k=Pe,Pe=k.pop()),Pe=M.symbols_[Pe]||Pe),Pe}o(H,"lex");for(var q,K,se,ce,ue,te,De={},oe,ke,Ie,Se;;){if(se=N[N.length-1],this.defaultActions[se]?ce=this.defaultActions[se]:((q===null||typeof q>"u")&&(q=H()),ce=O[se]&&O[se][q]),typeof ce>"u"||!ce.length||!ce[0]){var Ue="";Se=[];for(oe in O[se])this.terminals_[oe]&&oe>G&&Se.push("'"+this.terminals_[oe]+"'");Q.showPosition?Ue="Parse error on line "+(P+1)+`: +`+Q.showPosition()+` +Expecting `+Se.join(", ")+", got '"+(this.terminals_[q]||q)+"'":Ue="Parse error on line "+(P+1)+": Unexpected "+(q==z?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(Ue,{text:Q.match,token:this.terminals_[q]||q,line:Q.yylineno,loc:j,expected:Se})}if(ce[0]instanceof Array&&ce.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+q);switch(ce[0]){case 1:N.push(q),I.push(Q.yytext),C.push(Q.yylloc),N.push(ce[1]),q=null,K?(q=K,K=null):(F=Q.yyleng,D=Q.yytext,P=Q.yylineno,j=Q.yylloc,B>0&&B--);break;case 2:if(ke=this.productions_[ce[1]][1],De.$=I[I.length-ke],De._$={first_line:C[C.length-(ke||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(ke||1)].first_column,last_column:C[C.length-1].last_column},J&&(De._$.range=[C[C.length-(ke||1)].range[0],C[C.length-1].range[1]]),te=this.performAction.apply(De,[D,F,P,X.yy,ce[1],I,C].concat(Y)),typeof te<"u")return te;ke&&(N=N.slice(0,-1*ke*2),I=I.slice(0,-1*ke),C=C.slice(0,-1*ke)),N.push(this.productions_[ce[1]][0]),I.push(De.$),C.push(De._$),Ie=O[N[N.length-2]][N[N.length-1]],N.push(Ie);break;case 3:return!0}}return!0},"parse")},E=function(){var A={EOF:1,parseError:o(function(M,N){if(this.yy.parser)this.yy.parser.parseError(M,N);else throw new Error(M)},"parseError"),setInput:o(function(L,M){return this.yy=M||this.yy||{},this._input=L,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var L=this._input[0];this.yytext+=L,this.yyleng++,this.offset++,this.match+=L,this.matched+=L;var M=L.match(/(?:\r\n?|\n).*/g);return M?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),L},"input"),unput:o(function(L){var M=L.length,N=L.split(/(?:\r\n?|\n)/g);this._input=L+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-M),this.offset-=M;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var I=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===k.length?this.yylloc.first_column:0)+k[k.length-N.length].length-N[0].length:this.yylloc.first_column-M},this.options.ranges&&(this.yylloc.range=[I[0],I[0]+this.yyleng-M]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(L){this.unput(this.match.slice(L))},"less"),pastInput:o(function(){var L=this.matched.substr(0,this.matched.length-this.match.length);return(L.length>20?"...":"")+L.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var L=this.match;return L.length<20&&(L+=this._input.substr(0,20-L.length)),(L.substr(0,20)+(L.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var L=this.pastInput(),M=new Array(L.length+1).join("-");return L+this.upcomingInput()+` +`+M+"^"},"showPosition"),test_match:o(function(L,M){var N,k,I;if(this.options.backtrack_lexer&&(I={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(I.yylloc.range=this.yylloc.range.slice(0))),k=L[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+L[0].length},this.yytext+=L[0],this.match+=L[0],this.matches=L,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(L[0].length),this.matched+=L[0],N=this.performAction.call(this,this.yy,this,M,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var C in I)this[C]=I[C];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var L,M,N,k;this._more||(this.yytext="",this.match="");for(var I=this._currentRules(),C=0;CM[0].length)){if(M=N,k=C,this.options.backtrack_lexer){if(L=this.test_match(N,I[C]),L!==!1)return L;if(this._backtrack){M=!1;continue}else return!1}else if(!this.options.flex)break}return M?(L=this.test_match(M,I[k]),L!==!1?L:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var M=this.next();return M||this.lex()},"lex"),begin:o(function(M){this.conditionStack.push(M)},"begin"),popState:o(function(){var M=this.conditionStack.length-1;return M>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(M){return M=this.conditionStack.length-1-Math.abs(M||0),M>=0?this.conditionStack[M]:"INITIAL"},"topState"),pushState:o(function(M){this.begin(M)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(M,N,k,I){var C=I;switch(k){case 0:return this.begin("acc_title"),22;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),24;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;break;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;break;case 22:return N.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return N.yytext[0];case 55:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return A}();T.lexer=E;function _(){this.yy={}}return o(_,"Parser"),_.prototype=T,T.Parser=_,new _}();xD.parser=xD;rne=xD});var Hd,bD,NNe,MNe,ine,INe,ONe,PNe,BNe,FNe,ane,sne=R(()=>{"use strict";ut();_t();bi();Hd=new Map,bD=[],NNe={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},MNe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},ine=o(function(t,e=void 0){return Hd.has(t)?!Hd.get(t).alias&&e&&(Hd.get(t).alias=e,V.info(`Add alias '${e}' to entity '${t}'`)):(Hd.set(t,{attributes:[],alias:e}),V.info("Added new entity :",t)),Hd.get(t)},"addEntity"),INe=o(()=>Hd,"getEntities"),ONe=o(function(t,e){let r=ine(t),n;for(n=e.length-1;n>=0;n--)r.attributes.push(e[n]),V.debug("Added attribute ",e[n].attributeName)},"addAttributes"),PNe=o(function(t,e,r,n){let i={entityA:t,roleA:e,entityB:r,relSpec:n};bD.push(i),V.debug("Added new relationship :",i)},"addRelationship"),BNe=o(()=>bD,"getRelationships"),FNe=o(function(){Hd=new Map,bD=[],vr()},"clear"),ane={Cardinality:NNe,Identification:MNe,getConfig:o(()=>de().er,"getConfig"),addEntity:ine,addAttributes:ONe,getEntities:INe,addRelationship:PNe,getRelationships:BNe,clear:FNe,setAccTitle:kr,getAccTitle:Ar,setAccDescription:_r,getAccDescription:Lr,setDiagramTitle:nn,getDiagramTitle:Xr}});var Dl,zNe,Go,one=R(()=>{"use strict";Dl={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},zNe=o(function(t,e){let r;t.append("defs").append("marker").attr("id",Dl.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",Dl.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",Dl.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",Dl.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",Dl.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",Dl.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",Dl.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",Dl.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",Dl.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",Dl.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"insertMarkers"),Go={ERMarkers:Dl,insertMarkers:zNe}});var lne,cne=R(()=>{"use strict";lne=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function $Ne(t){return typeof t=="string"&&lne.test(t)}var une,hne=R(()=>{"use strict";cne();o($Ne,"validate");une=$Ne});function fne(t,e=0){return va[t[e+0]]+va[t[e+1]]+va[t[e+2]]+va[t[e+3]]+"-"+va[t[e+4]]+va[t[e+5]]+"-"+va[t[e+6]]+va[t[e+7]]+"-"+va[t[e+8]]+va[t[e+9]]+"-"+va[t[e+10]]+va[t[e+11]]+va[t[e+12]]+va[t[e+13]]+va[t[e+14]]+va[t[e+15]]}var va,dne=R(()=>{"use strict";va=[];for(let t=0;t<256;++t)va.push((t+256).toString(16).slice(1));o(fne,"unsafeStringify")});function GNe(t){if(!une(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var pne,mne=R(()=>{"use strict";hne();o(GNe,"parse");pne=GNe});function VNe(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r{"use strict";dne();mne();o(VNe,"stringToBytes");UNe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",HNe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";o(wD,"v35")});function YNe(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:return e^r^n;case 2:return e&r^e&n^r&n;case 3:return e^r^n}}function TD(t,e){return t<>>32-e}function WNe(t){let e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){let s=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;p=d,d=f,f=TD(h,30)>>>0,h=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+h>>>0,r[2]=r[2]+f>>>0,r[3]=r[3]+d>>>0,r[4]=r[4]+p>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}var yne,vne=R(()=>{"use strict";o(YNe,"f");o(TD,"ROTL");o(WNe,"sha1");yne=WNe});var qNe,kD,xne=R(()=>{"use strict";gne();vne();qNe=wD("v5",80,yne),kD=qNe});var bne=R(()=>{"use strict";xne()});function nMe(t="",e=""){let r=t.replace(XNe,"");return`${Tne(e)}${Tne(r)}${kD(t,rMe)}`}function Tne(t=""){return t.length>0?`${t}-`:""}var XNe,Ii,Fv,jNe,KNe,QNe,ZNe,kne,JNe,wne,eMe,tMe,rMe,Ene,Cne=R(()=>{"use strict";ya();Zt();Vd();_t();ut();xr();one();Yn();rr();bne();XNe=/[^\dA-Za-z](\W)*/g,Ii={},Fv=new Map,jNe=o(function(t){let e=Object.keys(t);for(let r of e)Ii[r]=t[r]},"setConf"),KNe=o((t,e,r)=>{let n=Ii.entityPadding/3,i=Ii.entityPadding/3,a=Ii.fontSize*.85,s=e.node().getBBox(),l=[],u=!1,h=!1,f=0,d=0,p=0,m=0,g=s.height+n*2,y=1;r.forEach(w=>{w.attributeKeyTypeList!==void 0&&w.attributeKeyTypeList.length>0&&(u=!0),w.attributeComment!==void 0&&(h=!0)}),r.forEach(w=>{let S=`${e.node().id}-attr-${y}`,T=0,E=gh(w.attributeType),_=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(E),A=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(w.attributeName),L={};L.tn=_,L.nn=A;let M=_.node().getBBox(),N=A.node().getBBox();if(f=Math.max(f,M.width),d=Math.max(d,N.width),T=Math.max(M.height,N.height),u){let k=w.attributeKeyTypeList!==void 0?w.attributeKeyTypeList.join(","):"",I=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(k);L.kn=I;let C=I.node().getBBox();p=Math.max(p,C.width),T=Math.max(T,C.height)}if(h){let k=t.append("text").classed("er entityLabel",!0).attr("id",`${S}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(w.attributeComment||"");L.cn=k;let I=k.node().getBBox();m=Math.max(m,I.width),T=Math.max(T,I.height)}L.height=T,l.push(L),g+=T+n*2,y+=1});let v=4;u&&(v+=2),h&&(v+=2);let x=f+d+p+m,b={width:Math.max(Ii.minEntityWidth,Math.max(s.width+Ii.entityPadding*2,x+i*v)),height:r.length>0?g:Math.max(Ii.minEntityHeight,s.height+Ii.entityPadding*2)};if(r.length>0){let w=Math.max(0,(b.width-x-i*v)/(v/2));e.attr("transform","translate("+b.width/2+","+(n+s.height/2)+")");let S=s.height+n*2,T="attributeBoxOdd";l.forEach(E=>{let _=S+n+E.height/2;E.tn.attr("transform","translate("+i+","+_+")");let A=t.insert("rect","#"+E.tn.node().id).classed(`er ${T}`,!0).attr("x",0).attr("y",S).attr("width",f+i*2+w).attr("height",E.height+n*2),L=parseFloat(A.attr("x"))+parseFloat(A.attr("width"));E.nn.attr("transform","translate("+(L+i)+","+_+")");let M=t.insert("rect","#"+E.nn.node().id).classed(`er ${T}`,!0).attr("x",L).attr("y",S).attr("width",d+i*2+w).attr("height",E.height+n*2),N=parseFloat(M.attr("x"))+parseFloat(M.attr("width"));if(u){E.kn.attr("transform","translate("+(N+i)+","+_+")");let k=t.insert("rect","#"+E.kn.node().id).classed(`er ${T}`,!0).attr("x",N).attr("y",S).attr("width",p+i*2+w).attr("height",E.height+n*2);N=parseFloat(k.attr("x"))+parseFloat(k.attr("width"))}h&&(E.cn.attr("transform","translate("+(N+i)+","+_+")"),t.insert("rect","#"+E.cn.node().id).classed(`er ${T}`,"true").attr("x",N).attr("y",S).attr("width",m+i*2+w).attr("height",E.height+n*2)),S+=E.height+n*2,T=T==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else b.height=Math.max(Ii.minEntityHeight,g),e.attr("transform","translate("+b.width/2+","+b.height/2+")");return b},"drawAttributes"),QNe=o(function(t,e,r){let n=[...e.keys()],i;return n.forEach(function(a){let s=nMe(a,"entity");Fv.set(a,s);let l=t.append("g").attr("id",s);i=i===void 0?s:i;let u="text-"+s,h=l.append("text").classed("er entityLabel",!0).attr("id",u).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",de().fontFamily).style("font-size",Ii.fontSize+"px").text(e.get(a).alias??a),{width:f,height:d}=KNe(l,h,e.get(a).attributes),m=l.insert("rect","#"+u).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",f).attr("height",d).node().getBBox();r.setNode(s,{width:m.width,height:m.height,shape:"rect",id:s})}),i},"drawEntities"),ZNe=o(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},"adjustEntities"),kne=o(function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},"getEdgeName"),JNe=o(function(t,e){return t.forEach(function(r){e.setEdge(Fv.get(r.entityA),Fv.get(r.entityB),{relationship:r},kne(r))}),t},"addRelationships"),wne=0,eMe=o(function(t,e,r,n,i){wne++;let a=r.edge(Fv.get(e.entityA),Fv.get(e.entityB),kne(e)),s=ha().x(function(y){return y.x}).y(function(y){return y.y}).curve(vs),l=t.insert("path","#"+n).classed("er relationshipLine",!0).attr("d",s(a.points)).style("stroke",Ii.stroke).style("fill","none");e.relSpec.relType===i.db.Identification.NON_IDENTIFYING&&l.attr("stroke-dasharray","8,8");let u="";switch(Ii.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),e.relSpec.cardA){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-end","url("+u+"#"+Go.ERMarkers.ZERO_OR_ONE_END+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-end","url("+u+"#"+Go.ERMarkers.ZERO_OR_MORE_END+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-end","url("+u+"#"+Go.ERMarkers.ONE_OR_MORE_END+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-end","url("+u+"#"+Go.ERMarkers.ONLY_ONE_END+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-end","url("+u+"#"+Go.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-start","url("+u+"#"+Go.ERMarkers.ZERO_OR_ONE_START+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-start","url("+u+"#"+Go.ERMarkers.ZERO_OR_MORE_START+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-start","url("+u+"#"+Go.ERMarkers.ONE_OR_MORE_START+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-start","url("+u+"#"+Go.ERMarkers.ONLY_ONE_START+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-start","url("+u+"#"+Go.ERMarkers.MD_PARENT_START+")");break}let h=l.node().getTotalLength(),f=l.node().getPointAtLength(h*.5),d="rel"+wne,p=e.roleA.split(/
    /g),m=t.append("text").classed("er relationshipLabel",!0).attr("id",d).attr("x",f.x).attr("y",f.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",de().fontFamily).style("font-size",Ii.fontSize+"px");if(p.length==1)m.text(e.roleA);else{let y=-(p.length-1)*.5;p.forEach((v,x)=>{m.append("tspan").attr("x",f.x).attr("dy",`${x===0?y:1}em`).text(v)})}let g=m.node().getBBox();t.insert("rect","#"+d).classed("er relationshipLabelBox",!0).attr("x",f.x-g.width/2).attr("y",f.y-g.height/2).attr("width",g.width).attr("height",g.height)},"drawRelationshipFromLayout"),tMe=o(function(t,e,r,n){Ii=de().er,V.info("Drawing ER diagram");let i=de().securityLevel,a;i==="sandbox"&&(a=Ge("#i"+e));let l=(i==="sandbox"?Ge(a.nodes()[0].contentDocument.body):Ge("body")).select(`[id='${e}']`);Go.insertMarkers(l,Ii);let u;u=new lr({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:Ii.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let h=QNe(l,n.db.getEntities(),u),f=JNe(n.db.getRelationships(),u);lo(u),ZNe(l,u),f.forEach(function(y){eMe(l,y,u,h,n)});let d=Ii.diagramPadding;Lt.insertTitle(l,"entityTitleText",Ii.titleTopMargin,n.db.getDiagramTitle());let p=l.node().getBBox(),m=p.width+d*2,g=p.height+d*2;Sr(l,g,m,Ii.useMaxWidth),l.attr("viewBox",`${p.x-d} ${p.y-d} ${m} ${g}`)},"draw"),rMe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";o(nMe,"generateId");o(Tne,"strWithHyphen");Ene={setConf:jNe,draw:tMe}});var iMe,Sne,Ane=R(()=>{"use strict";iMe=o(t=>` .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; @@ -581,68 +581,68 @@ Expecting `+Se.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":Ue="Parse error stroke-width: 1; } -`,"getStyles"),tre=PDe});var nre={};ur(nre,{diagram:()=>BDe});var BDe,ire=_(()=>{"use strict";Mte();Ote();ere();rre();BDe={parser:Rte,db:Nte,renderer:Jte,styles:tre}});function $n(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ua(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function NL(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Nd(t){return typeof t=="object"&&t!==null&&$n(t.container)&&ua(t.reference)&&typeof t.message=="string"}function to(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Xh(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function kv(t){return to(t)&&typeof t.fullText=="string"}var Id,Do=_(()=>{"use strict";s($n,"isAstNode");s(ua,"isReference");s(NL,"isAstNodeDescription");s(Nd,"isLinkingError");Id=class{static{s(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return $n(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};s(to,"isCompositeCstNode");s(Xh,"isLeafCstNode");s(kv,"isRootCstNode")});function GDe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Ok(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Wr(...t){if(t.length===1){let e=t[0];if(e instanceof ro)return e;if(Ok(e))return new ro(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ro(()=>({index:0}),r=>r.index1?new ro(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";ro=class t{static{s(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t(()=>({first:this.startFn(),firstDone:!1}),n=>{let i;if(!n.firstDone){do if(i=this.nextFn(n.first),!i.done)return i;while(!i.done);n.firstDone=!0}do if(i=r.next(),!i.done)return i;while(!i.done);return Wa})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=GDe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Wa:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Wa})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(Ok(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Wa})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let o=n.iterator.next();if(o.done)n.iterator=void 0;else return o}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(Ok(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Wa})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Wa:this.nextFn(r.state)))}distinct(e){let r=new Set;return this.filter(n=>{let i=e?e(n):n;return r.has(i)?!1:(r.add(i),!0)})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};s(GDe,"toString");s(Ok,"isIterable");wv=new ro(()=>{},()=>Wa),Wa=Object.freeze({done:!0,value:void 0});s(Wr,"stream");pc=class extends ro{static{s(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let o=i.iterators[i.iterators.length-1].next();if(o.done)i.iterators.pop();else return i.iterators.push(r(o.value)[Symbol.iterator]()),o}return Wa})}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),prune:s(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((o,l)=>o+l,0)}s(e,"sum"),t.sum=e;function r(a){return a.reduce((o,l)=>o*l,0)}s(r,"product"),t.product=r;function n(a){return a.reduce((o,l)=>Math.min(o,l))}s(n,"min"),t.min=n;function i(a){return a.reduce((o,l)=>Math.max(o,l))}s(i,"max"),t.max=i})(wm||(wm={}))});var Bk={};ur(Bk,{DefaultNameRegexp:()=>Pk,RangeComparison:()=>Eu,compareRange:()=>lre,findCommentNode:()=>FL,findDeclarationNodeAtOffset:()=>UDe,findLeafNodeAtOffset:()=>zL,findLeafNodeBeforeOffset:()=>cre,flattenCst:()=>VDe,getInteriorNodes:()=>HDe,getNextNode:()=>qDe,getPreviousNode:()=>hre,getStartlineNode:()=>WDe,inRange:()=>BL,isChildNode:()=>PL,isCommentNode:()=>OL,streamCst:()=>Od,toDocumentSegment:()=>Pd,tokenToRange:()=>Tm});function Od(t){return new pc(t,e=>to(e)?e.content:[],{includeRoot:!0})}function VDe(t){return Od(t).filter(Xh)}function PL(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Tm(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Pd(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function lre(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>e.end.character)return Eu.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineEu.After}function UDe(t,e,r=Pk){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return zL(t,e)}}function FL(t,e){if(t){let r=hre(t,!0);if(r&&OL(r,e))return r;if(kv(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(OL(a,e))return a}}}}function OL(t,e){return Xh(t)&&e.includes(t.tokenType.name)}function zL(t,e){if(Xh(t))return t;if(to(t)){let r=ure(t,e,!1);if(r)return zL(r,e)}}function cre(t,e){if(Xh(t))return t;if(to(t)){let r=ure(t,e,!0);if(r)return cre(r,e)}}function ure(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let o=Math.floor((n+i)/2),l=t.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=o+1):i=o-1}return a}function hre(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function qDe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";Do();Es();s(Od,"streamCst");s(VDe,"flattenCst");s(PL,"isChildNode");s(Tm,"tokenToRange");s(Pd,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside"})(Eu||(Eu={}));s(lre,"compareRange");s(BL,"inRange");Pk=/^[\w\p{L}]$/u;s(UDe,"findDeclarationNodeAtOffset");s(FL,"findCommentNode");s(OL,"isCommentNode");s(zL,"findLeafNodeAtOffset");s(cre,"findLeafNodeBeforeOffset");s(ure,"binarySearch");s(hre,"getPreviousNode");s(qDe,"getNextNode");s(WDe,"getStartlineNode");s(HDe,"getInteriorNodes");s(YDe,"getCommonParent");s(ore,"getParentChain")});function jh(t){throw new Error("Error! The input value was not handled.")}var Bd,Fk=_(()=>{"use strict";Bd=class extends Error{static{s(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};s(jh,"assertUnreachable")});var _v={};ur(_v,{AbstractElement:()=>GL,AbstractRule:()=>Tv,AbstractType:()=>Ev,Action:()=>mD,Alternatives:()=>gD,ArrayLiteral:()=>VL,ArrayType:()=>UL,Assignment:()=>yD,BooleanLiteral:()=>WL,CharacterRange:()=>vD,Condition:()=>zk,Conjunction:()=>YL,CrossReference:()=>bD,Disjunction:()=>jL,EndOfFile:()=>kD,Grammar:()=>QL,GrammarImport:()=>dre,Group:()=>TD,InferredType:()=>ZL,Interface:()=>JL,Keyword:()=>ED,LangiumGrammarAstReflection:()=>Em,LangiumGrammarTerminals:()=>XDe,NamedArgument:()=>pre,NegatedToken:()=>CD,Negation:()=>eD,NumberLiteral:()=>rD,Parameter:()=>nD,ParameterReference:()=>iD,ParserRule:()=>sD,ReferenceType:()=>oD,RegexToken:()=>_D,ReturnType:()=>mre,RuleCall:()=>LD,SimpleType:()=>uD,StringLiteral:()=>hD,TerminalAlternatives:()=>DD,TerminalGroup:()=>MD,TerminalRule:()=>Gk,TerminalRuleCall:()=>ND,Type:()=>fD,TypeAttribute:()=>gre,TypeDefinition:()=>$L,UnionType:()=>dD,UnorderedGroup:()=>OD,UntilToken:()=>PD,ValueLiteral:()=>$k,Wildcard:()=>FD,isAbstractElement:()=>Cv,isAbstractRule:()=>jDe,isAbstractType:()=>KDe,isAction:()=>Cu,isAlternatives:()=>Wk,isArrayLiteral:()=>tRe,isArrayType:()=>qL,isAssignment:()=>yl,isBooleanLiteral:()=>HL,isCharacterRange:()=>xD,isCondition:()=>QDe,isConjunction:()=>XL,isCrossReference:()=>Fd,isDisjunction:()=>KL,isEndOfFile:()=>wD,isFeatureName:()=>ZDe,isGrammar:()=>rRe,isGrammarImport:()=>nRe,isGroup:()=>Kh,isInferredType:()=>Vk,isInterface:()=>Uk,isKeyword:()=>Mo,isNamedArgument:()=>iRe,isNegatedToken:()=>SD,isNegation:()=>tD,isNumberLiteral:()=>aRe,isParameter:()=>sRe,isParameterReference:()=>aD,isParserRule:()=>Sa,isPrimitiveType:()=>fre,isReferenceType:()=>lD,isRegexToken:()=>AD,isReturnType:()=>cD,isRuleCall:()=>vl,isSimpleType:()=>qk,isStringLiteral:()=>oRe,isTerminalAlternatives:()=>RD,isTerminalGroup:()=>ID,isTerminalRule:()=>Ro,isTerminalRuleCall:()=>Hk,isType:()=>Sv,isTypeAttribute:()=>lRe,isTypeDefinition:()=>JDe,isUnionType:()=>pD,isUnorderedGroup:()=>Yk,isUntilToken:()=>BD,isValueLiteral:()=>eRe,isWildcard:()=>zD,reflection:()=>Gt});function jDe(t){return Gt.isInstance(t,Tv)}function KDe(t){return Gt.isInstance(t,Ev)}function QDe(t){return Gt.isInstance(t,zk)}function ZDe(t){return fre(t)||t==="current"||t==="entry"||t==="extends"||t==="false"||t==="fragment"||t==="grammar"||t==="hidden"||t==="import"||t==="interface"||t==="returns"||t==="terminal"||t==="true"||t==="type"||t==="infer"||t==="infers"||t==="with"||typeof t=="string"&&/\^?[_a-zA-Z][\w_]*/.test(t)}function fre(t){return t==="string"||t==="number"||t==="boolean"||t==="Date"||t==="bigint"}function JDe(t){return Gt.isInstance(t,$L)}function eRe(t){return Gt.isInstance(t,$k)}function Cv(t){return Gt.isInstance(t,GL)}function tRe(t){return Gt.isInstance(t,VL)}function qL(t){return Gt.isInstance(t,UL)}function HL(t){return Gt.isInstance(t,WL)}function XL(t){return Gt.isInstance(t,YL)}function KL(t){return Gt.isInstance(t,jL)}function rRe(t){return Gt.isInstance(t,QL)}function nRe(t){return Gt.isInstance(t,dre)}function Vk(t){return Gt.isInstance(t,ZL)}function Uk(t){return Gt.isInstance(t,JL)}function iRe(t){return Gt.isInstance(t,pre)}function tD(t){return Gt.isInstance(t,eD)}function aRe(t){return Gt.isInstance(t,rD)}function sRe(t){return Gt.isInstance(t,nD)}function aD(t){return Gt.isInstance(t,iD)}function Sa(t){return Gt.isInstance(t,sD)}function lD(t){return Gt.isInstance(t,oD)}function cD(t){return Gt.isInstance(t,mre)}function qk(t){return Gt.isInstance(t,uD)}function oRe(t){return Gt.isInstance(t,hD)}function Ro(t){return Gt.isInstance(t,Gk)}function Sv(t){return Gt.isInstance(t,fD)}function lRe(t){return Gt.isInstance(t,gre)}function pD(t){return Gt.isInstance(t,dD)}function Cu(t){return Gt.isInstance(t,mD)}function Wk(t){return Gt.isInstance(t,gD)}function yl(t){return Gt.isInstance(t,yD)}function xD(t){return Gt.isInstance(t,vD)}function Fd(t){return Gt.isInstance(t,bD)}function wD(t){return Gt.isInstance(t,kD)}function Kh(t){return Gt.isInstance(t,TD)}function Mo(t){return Gt.isInstance(t,ED)}function SD(t){return Gt.isInstance(t,CD)}function AD(t){return Gt.isInstance(t,_D)}function vl(t){return Gt.isInstance(t,LD)}function RD(t){return Gt.isInstance(t,DD)}function ID(t){return Gt.isInstance(t,MD)}function Hk(t){return Gt.isInstance(t,ND)}function Yk(t){return Gt.isInstance(t,OD)}function BD(t){return Gt.isInstance(t,PD)}function zD(t){return Gt.isInstance(t,FD)}var XDe,Tv,Ev,zk,$L,$k,GL,VL,UL,WL,YL,jL,QL,dre,ZL,JL,pre,eD,rD,nD,iD,sD,oD,mre,uD,hD,Gk,fD,gre,dD,mD,gD,yD,vD,bD,kD,TD,ED,CD,_D,LD,DD,MD,ND,OD,PD,FD,Em,Gt,mc=_(()=>{"use strict";Do();XDe={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Tv="AbstractRule";s(jDe,"isAbstractRule");Ev="AbstractType";s(KDe,"isAbstractType");zk="Condition";s(QDe,"isCondition");s(ZDe,"isFeatureName");s(fre,"isPrimitiveType");$L="TypeDefinition";s(JDe,"isTypeDefinition");$k="ValueLiteral";s(eRe,"isValueLiteral");GL="AbstractElement";s(Cv,"isAbstractElement");VL="ArrayLiteral";s(tRe,"isArrayLiteral");UL="ArrayType";s(qL,"isArrayType");WL="BooleanLiteral";s(HL,"isBooleanLiteral");YL="Conjunction";s(XL,"isConjunction");jL="Disjunction";s(KL,"isDisjunction");QL="Grammar";s(rRe,"isGrammar");dre="GrammarImport";s(nRe,"isGrammarImport");ZL="InferredType";s(Vk,"isInferredType");JL="Interface";s(Uk,"isInterface");pre="NamedArgument";s(iRe,"isNamedArgument");eD="Negation";s(tD,"isNegation");rD="NumberLiteral";s(aRe,"isNumberLiteral");nD="Parameter";s(sRe,"isParameter");iD="ParameterReference";s(aD,"isParameterReference");sD="ParserRule";s(Sa,"isParserRule");oD="ReferenceType";s(lD,"isReferenceType");mre="ReturnType";s(cD,"isReturnType");uD="SimpleType";s(qk,"isSimpleType");hD="StringLiteral";s(oRe,"isStringLiteral");Gk="TerminalRule";s(Ro,"isTerminalRule");fD="Type";s(Sv,"isType");gre="TypeAttribute";s(lRe,"isTypeAttribute");dD="UnionType";s(pD,"isUnionType");mD="Action";s(Cu,"isAction");gD="Alternatives";s(Wk,"isAlternatives");yD="Assignment";s(yl,"isAssignment");vD="CharacterRange";s(xD,"isCharacterRange");bD="CrossReference";s(Fd,"isCrossReference");kD="EndOfFile";s(wD,"isEndOfFile");TD="Group";s(Kh,"isGroup");ED="Keyword";s(Mo,"isKeyword");CD="NegatedToken";s(SD,"isNegatedToken");_D="RegexToken";s(AD,"isRegexToken");LD="RuleCall";s(vl,"isRuleCall");DD="TerminalAlternatives";s(RD,"isTerminalAlternatives");MD="TerminalGroup";s(ID,"isTerminalGroup");ND="TerminalRuleCall";s(Hk,"isTerminalRuleCall");OD="UnorderedGroup";s(Yk,"isUnorderedGroup");PD="UntilToken";s(BD,"isUntilToken");FD="Wildcard";s(zD,"isWildcard");Em=class extends Id{static{s(this,"LangiumGrammarAstReflection")}getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,r){switch(e){case mD:case gD:case yD:case vD:case bD:case kD:case TD:case ED:case CD:case _D:case LD:case DD:case MD:case ND:case OD:case PD:case FD:return this.isSubtype(GL,r);case VL:case rD:case hD:return this.isSubtype($k,r);case UL:case oD:case uD:case dD:return this.isSubtype($L,r);case WL:return this.isSubtype(zk,r)||this.isSubtype($k,r);case YL:case jL:case eD:case iD:return this.isSubtype(zk,r);case ZL:case JL:case fD:return this.isSubtype(Ev,r);case sD:return this.isSubtype(Tv,r)||this.isSubtype(Ev,r);case Gk:return this.isSubtype(Tv,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Ev;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Tv;case"Grammar:usedGrammars":return QL;case"NamedArgument:parameter":case"ParameterReference:parameter":return nD;case"TerminalRuleCall:rule":return Gk;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},Gt=new Em});var jk={};ur(jk,{assignMandatoryProperties:()=>VD,copyAstNode:()=>GD,findLocalReferences:()=>uRe,findRootNode:()=>yre,getContainerOfType:()=>zd,getDocument:()=>Ai,hasContainerOfType:()=>cRe,linkContentToContainer:()=>Xk,streamAllContents:()=>gc,streamAst:()=>Io,streamContents:()=>Av,streamReferences:()=>Cm});function Xk(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{$n(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):$n(r)&&(r.$container=t,r.$containerProperty=e))}function zd(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function cRe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ai(t){let r=yre(t).$document;if(!r)throw new Error("AST node has no document.");return r}function yre(t){for(;t.$container;)t=t.$container;return t}function Av(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ro(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexAv(r,e))}function Io(t,e){if(t){if(e?.range&&!$D(t,e.range))return new pc(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new pc(t,r=>Av(r,e),{includeRoot:!0})}function $D(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?BL(n,e):!1}function Cm(t){return new ro(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{Cm(n).forEach(i=>{i.reference.ref===t&&r.push(i.reference)})}),Wr(r)}function VD(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=vre(i.defaultValue))}function vre(t){return Array.isArray(t)?[...t.map(vre)]:t}function GD(t,e){let r={$type:t.$type};for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if($n(i))r[n]=GD(i,e);else if(ua(i))r[n]=e(r,n,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let o of i)$n(o)?a.push(GD(o,e)):ua(o)?a.push(e(r,n,o.$refNode,o.$refText)):a.push(o);r[n]=a}else r[n]=i;return Xk(r),r}var Ha=_(()=>{"use strict";Do();Es();gl();s(Xk,"linkContentToContainer");s(zd,"getContainerOfType");s(cRe,"hasContainerOfType");s(Ai,"getDocument");s(yre,"findRootNode");s(Av,"streamContents");s(gc,"streamAllContents");s(Io,"streamAst");s($D,"isAstNodeInRange");s(Cm,"streamReferences");s(uRe,"findLocalReferences");s(VD,"assignMandatoryProperties");s(vre,"copyDefaultValue");s(GD,"copyAstNode")});function zt(t){return t.charCodeAt(0)}function Kk(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Sm(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function $d(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Lv(){throw Error("Internal Error - Should never get here!")}function UD(t){return t.type==="Character"}var qD=_(()=>{"use strict";s(zt,"cc");s(Kk,"insertToSet");s(Sm,"addFlag");s($d,"ASSERT_EXISTS");s(Lv,"ASSERT_NEVER_REACH_HERE");s(UD,"isCharacter")});var Dv,Rv,WD,xre=_(()=>{"use strict";qD();Dv=[];for(let t=zt("0");t<=zt("9");t++)Dv.push(t);Rv=[zt("_")].concat(Dv);for(let t=zt("a");t<=zt("z");t++)Rv.push(t);for(let t=zt("A");t<=zt("Z");t++)Rv.push(t);WD=[zt(" "),zt("\f"),zt(` -`),zt("\r"),zt(" "),zt("\v"),zt(" "),zt("\xA0"),zt("\u1680"),zt("\u2000"),zt("\u2001"),zt("\u2002"),zt("\u2003"),zt("\u2004"),zt("\u2005"),zt("\u2006"),zt("\u2007"),zt("\u2008"),zt("\u2009"),zt("\u200A"),zt("\u2028"),zt("\u2029"),zt("\u202F"),zt("\u205F"),zt("\u3000"),zt("\uFEFF")]});var hRe,Qk,fRe,Gd,bre=_(()=>{"use strict";qD();xre();hRe=/[0-9a-fA-F]/,Qk=/[0-9]/,fRe=/[1-9]/,Gd=class{static{s(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Sm(n,"global");break;case"i":Sm(n,"ignoreCase");break;case"m":Sm(n,"multiLine");break;case"u":Sm(n,"unicode");break;case"y":Sm(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}$d(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Lv()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;$d(r);break}if(!(e===!0&&r===void 0)&&$d(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),$d(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Lv()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[zt(` -`),zt("\r"),zt("\u2028"),zt("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Dv;break;case"D":e=Dv,r=!0;break;case"s":e=WD;break;case"S":e=WD,r=!0;break;case"w":e=Rv;break;case"W":e=Rv,r=!0;break}return $d(e)?{type:"Set",value:e,complement:r}:Lv()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=zt("\f");break;case"n":e=zt(` -`);break;case"r":e=zt("\r");break;case"t":e=zt(" ");break;case"v":e=zt("\v");break}return $d(e)?{type:"Character",value:e}:Lv()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:zt("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:zt(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:zt(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(UD(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),o=a.type==="Character";if(UD(a)){if(a.valueaMe});var aMe,Lne=R(()=>{"use strict";nne();sne();Cne();Ane();aMe={parser:rne,db:ane,renderer:Ene,styles:Sne}});function Xn(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function xa(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function ED(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Wd(t){return typeof t=="object"&&t!==null&&Xn(t.container)&&xa(t.reference)&&typeof t.message=="string"}function co(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function ef(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function zv(t){return co(t)&&typeof t.fullText=="string"}var Yd,Vo=R(()=>{"use strict";o(Xn,"isAstNode");o(xa,"isReference");o(ED,"isAstNodeDescription");o(Wd,"isLinkingError");Yd=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return Xn(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(co,"isCompositeCstNode");o(ef,"isLeafCstNode");o(zv,"isRootCstNode")});function cMe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function hT(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Kr(...t){if(t.length===1){let e=t[0];if(e instanceof uo)return e;if(hT(e))return new uo(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new uo(()=>({index:0}),r=>r.index1?new uo(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";uo=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t(()=>({first:this.startFn(),firstDone:!1}),n=>{let i;if(!n.firstDone){do if(i=this.nextFn(n.first),!i.done)return i;while(!i.done);n.firstDone=!0}do if(i=r.next(),!i.done)return i;while(!i.done);return Ja})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=cMe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Ja:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ja})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(hT(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ja})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(hT(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ja})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ja:this.nextFn(r.state)))}distinct(e){let r=new Set;return this.filter(n=>{let i=e?e(n):n;return r.has(i)?!1:(r.add(i),!0)})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(cMe,"toString");o(hT,"isIterable");$v=new uo(()=>{},()=>Ja),Ja=Object.freeze({done:!0,value:void 0});o(Kr,"stream");Cc=class extends uo{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ja})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(Fm||(Fm={}))});var dT={};hr(dT,{DefaultNameRegexp:()=>fT,RangeComparison:()=>Mu,compareRange:()=>Mne,findCommentNode:()=>_D,findDeclarationNodeAtOffset:()=>hMe,findLeafNodeAtOffset:()=>LD,findLeafNodeBeforeOffset:()=>Ine,flattenCst:()=>uMe,getInteriorNodes:()=>pMe,getNextNode:()=>fMe,getPreviousNode:()=>Pne,getStartlineNode:()=>dMe,inRange:()=>AD,isChildNode:()=>SD,isCommentNode:()=>CD,streamCst:()=>qd,toDocumentSegment:()=>Xd,tokenToRange:()=>zm});function qd(t){return new Cc(t,e=>co(e)?e.content:[],{includeRoot:!0})}function uMe(t){return qd(t).filter(ef)}function SD(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function zm(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Xd(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function Mne(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>e.end.character)return Mu.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineMu.After}function hMe(t,e,r=fT){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return LD(t,e)}}function _D(t,e){if(t){let r=Pne(t,!0);if(r&&CD(r,e))return r;if(zv(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(CD(a,e))return a}}}}function CD(t,e){return ef(t)&&e.includes(t.tokenType.name)}function LD(t,e){if(ef(t))return t;if(co(t)){let r=One(t,e,!1);if(r)return LD(r,e)}}function Ine(t,e){if(ef(t))return t;if(co(t)){let r=One(t,e,!0);if(r)return Ine(r,e)}}function One(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function Pne(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function fMe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";Vo();Ds();o(qd,"streamCst");o(uMe,"flattenCst");o(SD,"isChildNode");o(zm,"tokenToRange");o(Xd,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside"})(Mu||(Mu={}));o(Mne,"compareRange");o(AD,"inRange");fT=/^[\w\p{L}]$/u;o(hMe,"findDeclarationNodeAtOffset");o(_D,"findCommentNode");o(CD,"isCommentNode");o(LD,"findLeafNodeAtOffset");o(Ine,"findLeafNodeBeforeOffset");o(One,"binarySearch");o(Pne,"getPreviousNode");o(fMe,"getNextNode");o(dMe,"getStartlineNode");o(pMe,"getInteriorNodes");o(mMe,"getCommonParent");o(Nne,"getParentChain")});function tf(t){throw new Error("Error! The input value was not handled.")}var jd,pT=R(()=>{"use strict";jd=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(tf,"assertUnreachable")});var Yv={};hr(Yv,{AbstractElement:()=>RD,AbstractRule:()=>Gv,AbstractType:()=>Vv,Action:()=>aR,Alternatives:()=>sR,ArrayLiteral:()=>ND,ArrayType:()=>MD,Assignment:()=>oR,BooleanLiteral:()=>OD,CharacterRange:()=>lR,Condition:()=>mT,Conjunction:()=>BD,CrossReference:()=>uR,Disjunction:()=>zD,EndOfFile:()=>hR,Grammar:()=>GD,GrammarImport:()=>Fne,Group:()=>dR,InferredType:()=>VD,Interface:()=>UD,Keyword:()=>pR,LangiumGrammarAstReflection:()=>$m,LangiumGrammarTerminals:()=>gMe,NamedArgument:()=>zne,NegatedToken:()=>mR,Negation:()=>HD,NumberLiteral:()=>WD,Parameter:()=>qD,ParameterReference:()=>XD,ParserRule:()=>KD,ReferenceType:()=>QD,RegexToken:()=>yR,ReturnType:()=>$ne,RuleCall:()=>xR,SimpleType:()=>eR,StringLiteral:()=>tR,TerminalAlternatives:()=>bR,TerminalGroup:()=>TR,TerminalRule:()=>yT,TerminalRuleCall:()=>ER,Type:()=>rR,TypeAttribute:()=>Gne,TypeDefinition:()=>DD,UnionType:()=>nR,UnorderedGroup:()=>CR,UntilToken:()=>SR,ValueLiteral:()=>gT,Wildcard:()=>_R,isAbstractElement:()=>Uv,isAbstractRule:()=>yMe,isAbstractType:()=>vMe,isAction:()=>Iu,isAlternatives:()=>wT,isArrayLiteral:()=>kMe,isArrayType:()=>ID,isAssignment:()=>Nl,isBooleanLiteral:()=>PD,isCharacterRange:()=>cR,isCondition:()=>xMe,isConjunction:()=>FD,isCrossReference:()=>Kd,isDisjunction:()=>$D,isEndOfFile:()=>fR,isFeatureName:()=>bMe,isGrammar:()=>EMe,isGrammarImport:()=>CMe,isGroup:()=>rf,isInferredType:()=>vT,isInterface:()=>xT,isKeyword:()=>Ho,isNamedArgument:()=>SMe,isNegatedToken:()=>gR,isNegation:()=>YD,isNumberLiteral:()=>AMe,isParameter:()=>_Me,isParameterReference:()=>jD,isParserRule:()=>Oa,isPrimitiveType:()=>Bne,isReferenceType:()=>ZD,isRegexToken:()=>vR,isReturnType:()=>JD,isRuleCall:()=>Ml,isSimpleType:()=>bT,isStringLiteral:()=>LMe,isTerminalAlternatives:()=>wR,isTerminalGroup:()=>kR,isTerminalRule:()=>Uo,isTerminalRuleCall:()=>TT,isType:()=>Hv,isTypeAttribute:()=>DMe,isTypeDefinition:()=>wMe,isUnionType:()=>iR,isUnorderedGroup:()=>kT,isUntilToken:()=>AR,isValueLiteral:()=>TMe,isWildcard:()=>LR,reflection:()=>Kt});function yMe(t){return Kt.isInstance(t,Gv)}function vMe(t){return Kt.isInstance(t,Vv)}function xMe(t){return Kt.isInstance(t,mT)}function bMe(t){return Bne(t)||t==="current"||t==="entry"||t==="extends"||t==="false"||t==="fragment"||t==="grammar"||t==="hidden"||t==="import"||t==="interface"||t==="returns"||t==="terminal"||t==="true"||t==="type"||t==="infer"||t==="infers"||t==="with"||typeof t=="string"&&/\^?[_a-zA-Z][\w_]*/.test(t)}function Bne(t){return t==="string"||t==="number"||t==="boolean"||t==="Date"||t==="bigint"}function wMe(t){return Kt.isInstance(t,DD)}function TMe(t){return Kt.isInstance(t,gT)}function Uv(t){return Kt.isInstance(t,RD)}function kMe(t){return Kt.isInstance(t,ND)}function ID(t){return Kt.isInstance(t,MD)}function PD(t){return Kt.isInstance(t,OD)}function FD(t){return Kt.isInstance(t,BD)}function $D(t){return Kt.isInstance(t,zD)}function EMe(t){return Kt.isInstance(t,GD)}function CMe(t){return Kt.isInstance(t,Fne)}function vT(t){return Kt.isInstance(t,VD)}function xT(t){return Kt.isInstance(t,UD)}function SMe(t){return Kt.isInstance(t,zne)}function YD(t){return Kt.isInstance(t,HD)}function AMe(t){return Kt.isInstance(t,WD)}function _Me(t){return Kt.isInstance(t,qD)}function jD(t){return Kt.isInstance(t,XD)}function Oa(t){return Kt.isInstance(t,KD)}function ZD(t){return Kt.isInstance(t,QD)}function JD(t){return Kt.isInstance(t,$ne)}function bT(t){return Kt.isInstance(t,eR)}function LMe(t){return Kt.isInstance(t,tR)}function Uo(t){return Kt.isInstance(t,yT)}function Hv(t){return Kt.isInstance(t,rR)}function DMe(t){return Kt.isInstance(t,Gne)}function iR(t){return Kt.isInstance(t,nR)}function Iu(t){return Kt.isInstance(t,aR)}function wT(t){return Kt.isInstance(t,sR)}function Nl(t){return Kt.isInstance(t,oR)}function cR(t){return Kt.isInstance(t,lR)}function Kd(t){return Kt.isInstance(t,uR)}function fR(t){return Kt.isInstance(t,hR)}function rf(t){return Kt.isInstance(t,dR)}function Ho(t){return Kt.isInstance(t,pR)}function gR(t){return Kt.isInstance(t,mR)}function vR(t){return Kt.isInstance(t,yR)}function Ml(t){return Kt.isInstance(t,xR)}function wR(t){return Kt.isInstance(t,bR)}function kR(t){return Kt.isInstance(t,TR)}function TT(t){return Kt.isInstance(t,ER)}function kT(t){return Kt.isInstance(t,CR)}function AR(t){return Kt.isInstance(t,SR)}function LR(t){return Kt.isInstance(t,_R)}var gMe,Gv,Vv,mT,DD,gT,RD,ND,MD,OD,BD,zD,GD,Fne,VD,UD,zne,HD,WD,qD,XD,KD,QD,$ne,eR,tR,yT,rR,Gne,nR,aR,sR,oR,lR,uR,hR,dR,pR,mR,yR,xR,bR,TR,ER,CR,SR,_R,$m,Kt,Sc=R(()=>{"use strict";Vo();gMe={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Gv="AbstractRule";o(yMe,"isAbstractRule");Vv="AbstractType";o(vMe,"isAbstractType");mT="Condition";o(xMe,"isCondition");o(bMe,"isFeatureName");o(Bne,"isPrimitiveType");DD="TypeDefinition";o(wMe,"isTypeDefinition");gT="ValueLiteral";o(TMe,"isValueLiteral");RD="AbstractElement";o(Uv,"isAbstractElement");ND="ArrayLiteral";o(kMe,"isArrayLiteral");MD="ArrayType";o(ID,"isArrayType");OD="BooleanLiteral";o(PD,"isBooleanLiteral");BD="Conjunction";o(FD,"isConjunction");zD="Disjunction";o($D,"isDisjunction");GD="Grammar";o(EMe,"isGrammar");Fne="GrammarImport";o(CMe,"isGrammarImport");VD="InferredType";o(vT,"isInferredType");UD="Interface";o(xT,"isInterface");zne="NamedArgument";o(SMe,"isNamedArgument");HD="Negation";o(YD,"isNegation");WD="NumberLiteral";o(AMe,"isNumberLiteral");qD="Parameter";o(_Me,"isParameter");XD="ParameterReference";o(jD,"isParameterReference");KD="ParserRule";o(Oa,"isParserRule");QD="ReferenceType";o(ZD,"isReferenceType");$ne="ReturnType";o(JD,"isReturnType");eR="SimpleType";o(bT,"isSimpleType");tR="StringLiteral";o(LMe,"isStringLiteral");yT="TerminalRule";o(Uo,"isTerminalRule");rR="Type";o(Hv,"isType");Gne="TypeAttribute";o(DMe,"isTypeAttribute");nR="UnionType";o(iR,"isUnionType");aR="Action";o(Iu,"isAction");sR="Alternatives";o(wT,"isAlternatives");oR="Assignment";o(Nl,"isAssignment");lR="CharacterRange";o(cR,"isCharacterRange");uR="CrossReference";o(Kd,"isCrossReference");hR="EndOfFile";o(fR,"isEndOfFile");dR="Group";o(rf,"isGroup");pR="Keyword";o(Ho,"isKeyword");mR="NegatedToken";o(gR,"isNegatedToken");yR="RegexToken";o(vR,"isRegexToken");xR="RuleCall";o(Ml,"isRuleCall");bR="TerminalAlternatives";o(wR,"isTerminalAlternatives");TR="TerminalGroup";o(kR,"isTerminalGroup");ER="TerminalRuleCall";o(TT,"isTerminalRuleCall");CR="UnorderedGroup";o(kT,"isUnorderedGroup");SR="UntilToken";o(AR,"isUntilToken");_R="Wildcard";o(LR,"isWildcard");$m=class extends Yd{static{o(this,"LangiumGrammarAstReflection")}getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,r){switch(e){case aR:case sR:case oR:case lR:case uR:case hR:case dR:case pR:case mR:case yR:case xR:case bR:case TR:case ER:case CR:case SR:case _R:return this.isSubtype(RD,r);case ND:case WD:case tR:return this.isSubtype(gT,r);case MD:case QD:case eR:case nR:return this.isSubtype(DD,r);case OD:return this.isSubtype(mT,r)||this.isSubtype(gT,r);case BD:case zD:case HD:case XD:return this.isSubtype(mT,r);case VD:case UD:case rR:return this.isSubtype(Vv,r);case KD:return this.isSubtype(Gv,r)||this.isSubtype(Vv,r);case yT:return this.isSubtype(Gv,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Vv;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Gv;case"Grammar:usedGrammars":return GD;case"NamedArgument:parameter":case"ParameterReference:parameter":return qD;case"TerminalRuleCall:rule":return yT;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},Kt=new $m});var CT={};hr(CT,{assignMandatoryProperties:()=>NR,copyAstNode:()=>RR,findLocalReferences:()=>NMe,findRootNode:()=>Vne,getContainerOfType:()=>Qd,getDocument:()=>Oi,hasContainerOfType:()=>RMe,linkContentToContainer:()=>ET,streamAllContents:()=>Ac,streamAst:()=>Yo,streamContents:()=>Wv,streamReferences:()=>Gm});function ET(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{Xn(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):Xn(r)&&(r.$container=t,r.$containerProperty=e))}function Qd(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function RMe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Oi(t){let r=Vne(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Vne(t){for(;t.$container;)t=t.$container;return t}function Wv(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new uo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexWv(r,e))}function Yo(t,e){if(t){if(e?.range&&!DR(t,e.range))return new Cc(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Cc(t,r=>Wv(r,e),{includeRoot:!0})}function DR(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?AD(n,e):!1}function Gm(t){return new uo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{Gm(n).forEach(i=>{i.reference.ref===t&&r.push(i.reference)})}),Kr(r)}function NR(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Une(i.defaultValue))}function Une(t){return Array.isArray(t)?[...t.map(Une)]:t}function RR(t,e){let r={$type:t.$type};for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if(Xn(i))r[n]=RR(i,e);else if(xa(i))r[n]=e(r,n,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let s of i)Xn(s)?a.push(RR(s,e)):xa(s)?a.push(e(r,n,s.$refNode,s.$refText)):a.push(s);r[n]=a}else r[n]=i;return ET(r),r}var es=R(()=>{"use strict";Vo();Ds();Rl();o(ET,"linkContentToContainer");o(Qd,"getContainerOfType");o(RMe,"hasContainerOfType");o(Oi,"getDocument");o(Vne,"findRootNode");o(Wv,"streamContents");o(Ac,"streamAllContents");o(Yo,"streamAst");o(DR,"isAstNodeInRange");o(Gm,"streamReferences");o(NMe,"findLocalReferences");o(NR,"assignMandatoryProperties");o(Une,"copyDefaultValue");o(RR,"copyAstNode")});function qt(t){return t.charCodeAt(0)}function ST(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Vm(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function Zd(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function qv(){throw Error("Internal Error - Should never get here!")}function MR(t){return t.type==="Character"}var IR=R(()=>{"use strict";o(qt,"cc");o(ST,"insertToSet");o(Vm,"addFlag");o(Zd,"ASSERT_EXISTS");o(qv,"ASSERT_NEVER_REACH_HERE");o(MR,"isCharacter")});var Xv,jv,OR,Hne=R(()=>{"use strict";IR();Xv=[];for(let t=qt("0");t<=qt("9");t++)Xv.push(t);jv=[qt("_")].concat(Xv);for(let t=qt("a");t<=qt("z");t++)jv.push(t);for(let t=qt("A");t<=qt("Z");t++)jv.push(t);OR=[qt(" "),qt("\f"),qt(` +`),qt("\r"),qt(" "),qt("\v"),qt(" "),qt("\xA0"),qt("\u1680"),qt("\u2000"),qt("\u2001"),qt("\u2002"),qt("\u2003"),qt("\u2004"),qt("\u2005"),qt("\u2006"),qt("\u2007"),qt("\u2008"),qt("\u2009"),qt("\u200A"),qt("\u2028"),qt("\u2029"),qt("\u202F"),qt("\u205F"),qt("\u3000"),qt("\uFEFF")]});var MMe,AT,IMe,Jd,Yne=R(()=>{"use strict";IR();Hne();MMe=/[0-9a-fA-F]/,AT=/[0-9]/,IMe=/[1-9]/,Jd=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Vm(n,"global");break;case"i":Vm(n,"ignoreCase");break;case"m":Vm(n,"multiLine");break;case"u":Vm(n,"unicode");break;case"y":Vm(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}Zd(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return qv()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Zd(r);break}if(!(e===!0&&r===void 0)&&Zd(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Zd(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):qv()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[qt(` +`),qt("\r"),qt("\u2028"),qt("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Xv;break;case"D":e=Xv,r=!0;break;case"s":e=OR;break;case"S":e=OR,r=!0;break;case"w":e=jv;break;case"W":e=jv,r=!0;break}return Zd(e)?{type:"Set",value:e,complement:r}:qv()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=qt("\f");break;case"n":e=qt(` +`);break;case"r":e=qt("\r");break;case"t":e=qt(" ");break;case"v":e=qt("\v");break}return Zd(e)?{type:"Character",value:e}:qv()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:qt("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:qt(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:qt(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(MR(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(MR(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var yc,kre=_(()=>{"use strict";yc=class{static{s(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var Mv=_(()=>{"use strict";bre();kre()});var Jk={};ur(Jk,{NEWLINE_REGEXP:()=>YD,escapeRegExp:()=>Ud,getCaseInsensitivePattern:()=>jD,getTerminalParts:()=>dRe,isMultilineComment:()=>XD,isWhitespace:()=>Zk,partialMatches:()=>KD,partialRegExp:()=>Tre});function dRe(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=wre.pattern(t),r=[];for(let n of e.value.value)Vd.reset(t),Vd.visit(n),r.push({start:Vd.startRegexp,end:Vd.endRegex});return r}catch{return[]}}function XD(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Vd.reset(t),Vd.visit(wre.pattern(t)),Vd.multiline}catch{return!1}}function Zk(t){return(typeof t=="string"?new RegExp(t):t).test(" ")}function Ud(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function jD(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Ud(e)).join("")}function KD(t,e){let r=Tre(t),n=e.match(r);return!!n&&n[0].length>0}function Tre(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",o;function l(h){a+=r.substr(n,h),n+=h}s(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(s(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],u(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?l(o[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":o=n,n+=3,i(),a+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,i(),a+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return s(i,"process"),new RegExp(i(),t.flags)}var YD,wre,HD,Vd,_m=_(()=>{"use strict";Mv();YD=/\r?\n/gm,wre=new Gd,HD=class extends yc{static{s(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` -`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Ud(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` -`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Vd=new HD;s(dRe,"getTerminalParts");s(XD,"isMultilineComment");s(Zk,"isWhitespace");s(Ud,"escapeRegExp");s(jD,"getCaseInsensitivePattern");s(KD,"partialMatches");s(Tre,"partialRegExp")});var t6={};ur(t6,{findAssignment:()=>aR,findNameAssignment:()=>e6,findNodeForKeyword:()=>nR,findNodeForProperty:()=>Nv,findNodesForKeyword:()=>pRe,findNodesForKeywordInternal:()=>iR,findNodesForProperty:()=>tR,getActionAtElement:()=>Are,getActionType:()=>Dre,getAllReachableRules:()=>Iv,getCrossReferenceTerminal:()=>JD,getEntryRule:()=>Ere,getExplicitRuleType:()=>sR,getHiddenRules:()=>Cre,getRuleType:()=>oR,getTypeName:()=>qd,isArrayCardinality:()=>gRe,isArrayOperator:()=>yRe,isCommentTerminal:()=>eR,isDataType:()=>vRe,isDataTypeRule:()=>Ov,isOptionalCardinality:()=>mRe,terminalRegex:()=>Am});function Ere(t){return t.rules.find(e=>Sa(e)&&e.entry)}function Cre(t){return t.rules.filter(e=>Ro(e)&&e.hidden)}function Iv(t,e){let r=new Set,n=Ere(t);if(!n)return new Set(t.rules);let i=[n].concat(Cre(t));for(let o of i)Sre(o,r,e);let a=new Set;for(let o of t.rules)(r.has(o.name)||Ro(o)&&o.hidden)&&a.add(o);return a}function Sre(t,e,r){e.add(t.name),gc(t).forEach(n=>{if(vl(n)||r&&Hk(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Sre(i,e,r)}})}function JD(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=e6(t.type.ref);return e?.terminal}}function eR(t){return t.hidden&&!Am(t).test(" ")}function tR(t,e){return!t||!e?[]:rR(t,e,t.astNode,!0)}function Nv(t,e,r){if(!t||!e)return;let n=rR(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function rR(t,e,r,n){if(!n){let i=zd(t.grammarSource,yl);if(i&&i.feature===e)return[t]}return to(t)&&t.astNode===r?t.content.flatMap(i=>rR(i,e,r,!1)):[]}function pRe(t,e){return t?iR(t,e,t?.astNode):[]}function nR(t,e,r){if(!t)return;let n=iR(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function iR(t,e,r){if(t.astNode!==r)return[];if(Mo(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Od(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===r?Mo(o.grammarSource)&&o.grammarSource.value===e&&a.push(o):n.prune()}while(!i.done);return a}function aR(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=zd(t.grammarSource,yl);if(n)return n;t=t.container}}function e6(t){let e=t;return Vk(e)&&(Cu(e.$container)?e=e.$container.$container:Sa(e.$container)?e=e.$container:jh(e.$container)),_re(t,e,new Map)}function _re(t,e,r){var n;function i(a,o){let l;return zd(a,yl)||(l=_re(o,o,r)),r.set(t,l),l}if(s(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of gc(e)){if(yl(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if(vl(a)&&Sa(a.rule.ref))return i(a,a.rule.ref);if(qk(a)&&(!((n=a.typeRef)===null||n===void 0)&&n.ref))return i(a,a.typeRef.ref)}}function Are(t){let e=t.$container;if(Kh(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Cu(a))return a;{let o=gc(r[i]).find(Cu);if(o)return o}}}if(Cv(e))return Are(e)}function mRe(t,e){return t==="?"||t==="*"||Kh(e)&&!!e.guardCondition}function gRe(t){return t==="*"||t==="+"}function yRe(t){return t==="+="}function Ov(t){return Lre(t,new Set)}function Lre(t,e){if(e.has(t))return!0;e.add(t);for(let r of gc(t))if(vl(r)){if(!r.rule.ref||Sa(r.rule.ref)&&!Lre(r.rule.ref,e))return!1}else{if(yl(r))return!1;if(Cu(r))return!1}return!!t.definition}function vRe(t){return ZD(t.type,new Set)}function ZD(t,e){if(e.has(t))return!0;if(e.add(t),qL(t))return!1;if(lD(t))return!1;if(pD(t))return t.types.every(r=>ZD(r,e));if(qk(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Sv(r)?ZD(r.type,e):!1}else return!1}else return!1}function sR(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(Sa(e))return e.name;if(Uk(e)||Sv(e))return e.name}}}function qd(t){var e;if(Sa(t))return Ov(t)?t.name:(e=sR(t))!==null&&e!==void 0?e:t.name;if(Uk(t)||Sv(t)||cD(t))return t.name;if(Cu(t)){let r=Dre(t);if(r)return r}else if(Vk(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Dre(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return qd(t.type.ref)}function oR(t){var e,r,n;return Ro(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":Ov(t)?t.name:(n=sR(t))!==null&&n!==void 0?n:t.name}function Am(t){let e={s:!1,i:!1,u:!1},r=Lm(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function Lm(t,e){if(RD(t))return xRe(t);if(ID(t))return bRe(t);if(xD(t))return TRe(t);if(Hk(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Su(Lm(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(SD(t))return wRe(t);if(BD(t))return kRe(t);if(AD(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Su(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(zD(t))return Su(lR,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function xRe(t){return Su(t.elements.map(e=>Lm(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function bRe(t){return Su(t.elements.map(e=>Lm(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function kRe(t){return Su(`${lR}*?${Lm(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function wRe(t){return Su(`(?!${Lm(t.terminal)})${lR}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function TRe(t){return t.right?Su(`[${QD(t.left)}-${QD(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):Su(QD(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function QD(t){return Ud(t.value)}function Su(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var lR,xl=_(()=>{"use strict";Fk();mc();Do();Ha();gl();_m();s(Ere,"getEntryRule");s(Cre,"getHiddenRules");s(Iv,"getAllReachableRules");s(Sre,"ruleDfs");s(JD,"getCrossReferenceTerminal");s(eR,"isCommentTerminal");s(tR,"findNodesForProperty");s(Nv,"findNodeForProperty");s(rR,"findNodesForPropertyInternal");s(pRe,"findNodesForKeyword");s(nR,"findNodeForKeyword");s(iR,"findNodesForKeywordInternal");s(aR,"findAssignment");s(e6,"findNameAssignment");s(_re,"findNameAssignmentInternal");s(Are,"getActionAtElement");s(mRe,"isOptionalCardinality");s(gRe,"isArrayCardinality");s(yRe,"isArrayOperator");s(Ov,"isDataTypeRule");s(Lre,"isDataTypeRuleInternal");s(vRe,"isDataType");s(ZD,"isDataTypeInternal");s(sR,"getExplicitRuleType");s(qd,"getTypeName");s(Dre,"getActionType");s(oR,"getRuleType");s(Am,"terminalRegex");lR=/[\s\S]/.source;s(Lm,"abstractElementToRegex");s(xRe,"terminalAlternativesToRegex");s(bRe,"terminalGroupToRegex");s(kRe,"untilTokenToRegex");s(wRe,"negateTokenToRegex");s(TRe,"characterRangeToRegex");s(QD,"keywordToRegex");s(Su,"withCardinality")});function cR(t){let e=[],r=t.Grammar;for(let n of r.rules)Ro(n)&&eR(n)&&XD(Am(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:Pk}}var uR=_(()=>{"use strict";gl();xl();_m();mc();s(cR,"createGrammarConfig")});var hR=_(()=>{"use strict"});function Dm(t){console&&console.error&&console.error(`Error: ${t}`)}function Pv(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var Rre=_(()=>{"use strict";s(Dm,"PRINT_ERROR");s(Pv,"PRINT_WARNING")});function Bv(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var Mre=_(()=>{"use strict";s(Bv,"timer")});function Fv(t){function e(){}s(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return s(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var Ire=_(()=>{"use strict";s(Fv,"toFastProperties")});var Rm=_(()=>{"use strict";Rre();Mre();Ire()});function ERe(t){return CRe(t)?t.LABEL:t.name}function CRe(t){return si(t.LABEL)&&t.LABEL!==""}function r6(t){return Ge(t,Mm)}function Mm(t){function e(r){return Ge(r,Mm)}if(s(e,"convertDefinition"),t instanceof Yr){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return si(t.label)&&(r.label=t.label),r}else{if(t instanceof vn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Xr)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof xn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof bn)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Mm(new sr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ln)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Mm(new sr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof cn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof sr){let r={type:"Terminal",name:t.terminalType.name,label:ERe(t.terminalType),idx:t.idx};si(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=_o(n)?n.source:n),r}else{if(t instanceof Ya)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var no,Yr,Ya,vn,Xr,xn,bn,mr,ln,cn,sr,n6=_(()=>{"use strict";Tt();s(ERe,"tokenLabel");s(CRe,"hasTokenLabel");no=class{static{s(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),be(this.definition,r=>{r.accept(e)})}},Yr=class extends no{static{s(this,"NonTerminal")}constructor(e){super([]),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ya=class extends no{static{s(this,"Rule")}constructor(e){super(e.definition),this.orgText="",aa(this,Ts(e,r=>r!==void 0))}},vn=class extends no{static{s(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,aa(this,Ts(e,r=>r!==void 0))}},Xr=class extends no{static{s(this,"Option")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},xn=class extends no{static{s(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},bn=class extends no{static{s(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},mr=class extends no{static{s(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},ln=class extends no{static{s(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,aa(this,Ts(e,r=>r!==void 0))}},cn=class extends no{static{s(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,aa(this,Ts(e,r=>r!==void 0))}},sr=class{static{s(this,"Terminal")}constructor(e){this.idx=1,aa(this,Ts(e,r=>r!==void 0))}accept(e){e.visit(this)}};s(r6,"serializeGrammar");s(Mm,"serializeProduction")});var Xa,Nre=_(()=>{"use strict";n6();Xa=class{static{s(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Yr:return this.visitNonTerminal(r);case vn:return this.visitAlternative(r);case Xr:return this.visitOption(r);case xn:return this.visitRepetitionMandatory(r);case bn:return this.visitRepetitionMandatoryWithSeparator(r);case ln:return this.visitRepetitionWithSeparator(r);case mr:return this.visitRepetition(r);case cn:return this.visitAlternation(r);case sr:return this.visitTerminal(r);case Ya:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function fR(t){return t instanceof vn||t instanceof Xr||t instanceof mr||t instanceof xn||t instanceof bn||t instanceof ln||t instanceof sr||t instanceof Ya}function Wd(t,e=[]){return t instanceof Xr||t instanceof mr||t instanceof ln?!0:t instanceof cn?pv(t.definition,n=>Wd(n,e)):t instanceof Yr&&Rn(e,t)?!1:t instanceof no?(t instanceof Yr&&e.push(t),Ca(t.definition,n=>Wd(n,e))):!1}function dR(t){return t instanceof cn}function Cs(t){if(t instanceof Yr)return"SUBRULE";if(t instanceof Xr)return"OPTION";if(t instanceof cn)return"OR";if(t instanceof xn)return"AT_LEAST_ONE";if(t instanceof bn)return"AT_LEAST_ONE_SEP";if(t instanceof ln)return"MANY_SEP";if(t instanceof mr)return"MANY";if(t instanceof sr)return"CONSUME";throw Error("non exhaustive match")}var Ore=_(()=>{"use strict";Tt();n6();s(fR,"isSequenceProd");s(Wd,"isOptionalProd");s(dR,"isBranchingProd");s(Cs,"getProductionDslName")});var ja=_(()=>{"use strict";n6();Nre();Ore()});function Pre(t,e,r){return[new Xr({definition:[new sr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var _u,i6=_(()=>{"use strict";Tt();ja();_u=class{static{s(this,"RestWalker")}walk(e,r=[]){be(e.definition,(n,i)=>{let a=ai(e.definition,i+1);if(n instanceof Yr)this.walkProdRef(n,a,r);else if(n instanceof sr)this.walkTerminal(n,a,r);else if(n instanceof vn)this.walkFlat(n,a,r);else if(n instanceof Xr)this.walkOption(n,a,r);else if(n instanceof xn)this.walkAtLeastOne(n,a,r);else if(n instanceof bn)this.walkAtLeastOneSep(n,a,r);else if(n instanceof ln)this.walkManySep(n,a,r);else if(n instanceof mr)this.walkMany(n,a,r);else if(n instanceof cn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Xr({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=Pre(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Xr({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=Pre(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);be(e.definition,a=>{let o=new vn({definition:[a]});this.walk(o,i)})}};s(Pre,"restForRepetitionWithSeparator")});function Hd(t){if(t instanceof Yr)return Hd(t.referencedRule);if(t instanceof sr)return ARe(t);if(fR(t))return SRe(t);if(dR(t))return _Re(t);throw Error("non exhaustive match")}function SRe(t){let e=[],r=t.definition,n=0,i=r.length>n,a,o=!0;for(;i&&o;)a=r[n],o=Wd(a),e=e.concat(Hd(a)),n=n+1,i=r.length>n;return bm(e)}function _Re(t){let e=Ge(t.definition,r=>Hd(r));return bm(Ir(e))}function ARe(t){return[t.terminalType]}var pR=_(()=>{"use strict";Tt();ja();s(Hd,"first");s(SRe,"firstForSequence");s(_Re,"firstForBranching");s(ARe,"firstForTerminal")});var a6,mR=_(()=>{"use strict";a6="_~IN~_"});function Bre(t){let e={};return be(t,r=>{let n=new gR(r).startWalking();aa(e,n)}),e}function LRe(t,e){return t.name+e+a6}var gR,Fre=_(()=>{"use strict";i6();pR();Tt();mR();ja();gR=class extends _u{static{s(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=LRe(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),o=new vn({definition:a}),l=Hd(o);this.follows[i]=l}};s(Bre,"computeAllProdsFollows");s(LRe,"buildBetweenProdsFollowPrefix")});function Im(t){let e=t.toString();if(s6.hasOwnProperty(e))return s6[e];{let r=DRe.pattern(e);return s6[e]=r,r}}function zre(){s6={}}var s6,DRe,o6=_(()=>{"use strict";Mv();s6={},DRe=new Gd;s(Im,"getRegExpAst");s(zre,"clearRegExpParserCache")});function Vre(t,e=!1){try{let r=Im(t);return yR(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Gre)e&&Pv(`${zv} Unable to optimize: < ${t.toString()} > +`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var _c,Wne=R(()=>{"use strict";_c=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var Kv=R(()=>{"use strict";Yne();Wne()});var LT={};hr(LT,{NEWLINE_REGEXP:()=>BR,escapeRegExp:()=>t0,getCaseInsensitivePattern:()=>zR,getTerminalParts:()=>OMe,isMultilineComment:()=>FR,isWhitespace:()=>_T,partialMatches:()=>$R,partialRegExp:()=>Xne});function OMe(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=qne.pattern(t),r=[];for(let n of e.value.value)e0.reset(t),e0.visit(n),r.push({start:e0.startRegexp,end:e0.endRegex});return r}catch{return[]}}function FR(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),e0.reset(t),e0.visit(qne.pattern(t)),e0.multiline}catch{return!1}}function _T(t){return(typeof t=="string"?new RegExp(t):t).test(" ")}function t0(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zR(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:t0(e)).join("")}function $R(t,e){let r=Xne(t),n=e.match(r);return!!n&&n[0].length>0}function Xne(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var BR,qne,PR,e0,Um=R(()=>{"use strict";Kv();BR=/\r?\n/gm,qne=new Jd,PR=class extends _c{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=t0(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},e0=new PR;o(OMe,"getTerminalParts");o(FR,"isMultilineComment");o(_T,"isWhitespace");o(t0,"escapeRegExp");o(zR,"getCaseInsensitivePattern");o($R,"partialMatches");o(Xne,"partialRegExp")});var RT={};hr(RT,{findAssignment:()=>jR,findNameAssignment:()=>DT,findNodeForKeyword:()=>qR,findNodeForProperty:()=>Zv,findNodesForKeyword:()=>PMe,findNodesForKeywordInternal:()=>XR,findNodesForProperty:()=>YR,getActionAtElement:()=>Jne,getActionType:()=>tie,getAllReachableRules:()=>Qv,getCrossReferenceTerminal:()=>UR,getEntryRule:()=>jne,getExplicitRuleType:()=>KR,getHiddenRules:()=>Kne,getRuleType:()=>QR,getTypeName:()=>r0,isArrayCardinality:()=>FMe,isArrayOperator:()=>zMe,isCommentTerminal:()=>HR,isDataType:()=>$Me,isDataTypeRule:()=>Jv,isOptionalCardinality:()=>BMe,terminalRegex:()=>Hm});function jne(t){return t.rules.find(e=>Oa(e)&&e.entry)}function Kne(t){return t.rules.filter(e=>Uo(e)&&e.hidden)}function Qv(t,e){let r=new Set,n=jne(t);if(!n)return new Set(t.rules);let i=[n].concat(Kne(t));for(let s of i)Qne(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||Uo(s)&&s.hidden)&&a.add(s);return a}function Qne(t,e,r){e.add(t.name),Ac(t).forEach(n=>{if(Ml(n)||r&&TT(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Qne(i,e,r)}})}function UR(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=DT(t.type.ref);return e?.terminal}}function HR(t){return t.hidden&&!Hm(t).test(" ")}function YR(t,e){return!t||!e?[]:WR(t,e,t.astNode,!0)}function Zv(t,e,r){if(!t||!e)return;let n=WR(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function WR(t,e,r,n){if(!n){let i=Qd(t.grammarSource,Nl);if(i&&i.feature===e)return[t]}return co(t)&&t.astNode===r?t.content.flatMap(i=>WR(i,e,r,!1)):[]}function PMe(t,e){return t?XR(t,e,t?.astNode):[]}function qR(t,e,r){if(!t)return;let n=XR(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function XR(t,e,r){if(t.astNode!==r)return[];if(Ho(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=qd(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Ho(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function jR(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=Qd(t.grammarSource,Nl);if(n)return n;t=t.container}}function DT(t){let e=t;return vT(e)&&(Iu(e.$container)?e=e.$container.$container:Oa(e.$container)?e=e.$container:tf(e.$container)),Zne(t,e,new Map)}function Zne(t,e,r){var n;function i(a,s){let l;return Qd(a,Nl)||(l=Zne(s,s,r)),r.set(t,l),l}if(o(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of Ac(e)){if(Nl(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if(Ml(a)&&Oa(a.rule.ref))return i(a,a.rule.ref);if(bT(a)&&(!((n=a.typeRef)===null||n===void 0)&&n.ref))return i(a,a.typeRef.ref)}}function Jne(t){let e=t.$container;if(rf(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Iu(a))return a;{let s=Ac(r[i]).find(Iu);if(s)return s}}}if(Uv(e))return Jne(e)}function BMe(t,e){return t==="?"||t==="*"||rf(e)&&!!e.guardCondition}function FMe(t){return t==="*"||t==="+"}function zMe(t){return t==="+="}function Jv(t){return eie(t,new Set)}function eie(t,e){if(e.has(t))return!0;e.add(t);for(let r of Ac(t))if(Ml(r)){if(!r.rule.ref||Oa(r.rule.ref)&&!eie(r.rule.ref,e))return!1}else{if(Nl(r))return!1;if(Iu(r))return!1}return!!t.definition}function $Me(t){return VR(t.type,new Set)}function VR(t,e){if(e.has(t))return!0;if(e.add(t),ID(t))return!1;if(ZD(t))return!1;if(iR(t))return t.types.every(r=>VR(r,e));if(bT(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Hv(r)?VR(r.type,e):!1}else return!1}else return!1}function KR(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(Oa(e))return e.name;if(xT(e)||Hv(e))return e.name}}}function r0(t){var e;if(Oa(t))return Jv(t)?t.name:(e=KR(t))!==null&&e!==void 0?e:t.name;if(xT(t)||Hv(t)||JD(t))return t.name;if(Iu(t)){let r=tie(t);if(r)return r}else if(vT(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function tie(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return r0(t.type.ref)}function QR(t){var e,r,n;return Uo(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":Jv(t)?t.name:(n=KR(t))!==null&&n!==void 0?n:t.name}function Hm(t){let e={s:!1,i:!1,u:!1},r=Ym(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function Ym(t,e){if(wR(t))return GMe(t);if(kR(t))return VMe(t);if(cR(t))return YMe(t);if(TT(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Ou(Ym(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(gR(t))return HMe(t);if(AR(t))return UMe(t);if(vR(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Ou(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(LR(t))return Ou(ZR,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function GMe(t){return Ou(t.elements.map(e=>Ym(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function VMe(t){return Ou(t.elements.map(e=>Ym(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function UMe(t){return Ou(`${ZR}*?${Ym(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function HMe(t){return Ou(`(?!${Ym(t.terminal)})${ZR}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function YMe(t){return t.right?Ou(`[${GR(t.left)}-${GR(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):Ou(GR(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function GR(t){return t0(t.value)}function Ou(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var ZR,Il=R(()=>{"use strict";pT();Sc();Vo();es();Rl();Um();o(jne,"getEntryRule");o(Kne,"getHiddenRules");o(Qv,"getAllReachableRules");o(Qne,"ruleDfs");o(UR,"getCrossReferenceTerminal");o(HR,"isCommentTerminal");o(YR,"findNodesForProperty");o(Zv,"findNodeForProperty");o(WR,"findNodesForPropertyInternal");o(PMe,"findNodesForKeyword");o(qR,"findNodeForKeyword");o(XR,"findNodesForKeywordInternal");o(jR,"findAssignment");o(DT,"findNameAssignment");o(Zne,"findNameAssignmentInternal");o(Jne,"getActionAtElement");o(BMe,"isOptionalCardinality");o(FMe,"isArrayCardinality");o(zMe,"isArrayOperator");o(Jv,"isDataTypeRule");o(eie,"isDataTypeRuleInternal");o($Me,"isDataType");o(VR,"isDataTypeInternal");o(KR,"getExplicitRuleType");o(r0,"getTypeName");o(tie,"getActionType");o(QR,"getRuleType");o(Hm,"terminalRegex");ZR=/[\s\S]/.source;o(Ym,"abstractElementToRegex");o(GMe,"terminalAlternativesToRegex");o(VMe,"terminalGroupToRegex");o(UMe,"untilTokenToRegex");o(HMe,"negateTokenToRegex");o(YMe,"characterRangeToRegex");o(GR,"keywordToRegex");o(Ou,"withCardinality")});function JR(t){let e=[],r=t.Grammar;for(let n of r.rules)Uo(n)&&HR(n)&&FR(Hm(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:fT}}var eN=R(()=>{"use strict";Rl();Il();Um();Sc();o(JR,"createGrammarConfig")});var tN=R(()=>{"use strict"});function Wm(t){console&&console.error&&console.error(`Error: ${t}`)}function e2(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var rie=R(()=>{"use strict";o(Wm,"PRINT_ERROR");o(e2,"PRINT_WARNING")});function t2(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var nie=R(()=>{"use strict";o(t2,"timer")});function r2(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var iie=R(()=>{"use strict";o(r2,"toFastProperties")});var qm=R(()=>{"use strict";rie();nie();iie()});function WMe(t){return qMe(t)?t.LABEL:t.name}function qMe(t){return di(t.LABEL)&&t.LABEL!==""}function NT(t){return qe(t,Xm)}function Xm(t){function e(r){return qe(r,Xm)}if(o(e,"convertDefinition"),t instanceof Zr){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return di(t.label)&&(r.label=t.label),r}else{if(t instanceof Sn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Jr)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof An)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof _n)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Xm(new fr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof mn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Xm(new fr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof br)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof gn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof fr){let r={type:"Terminal",name:t.terminalType.name,label:WMe(t.terminalType),idx:t.idx};di(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=zo(n)?n.source:n),r}else{if(t instanceof ts)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var ho,Zr,ts,Sn,Jr,An,_n,br,mn,gn,fr,MT=R(()=>{"use strict";Pt();o(WMe,"tokenLabel");o(qMe,"hasTokenLabel");ho=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Ee(this.definition,r=>{r.accept(e)})}},Zr=class extends ho{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,pa(this,Ls(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},ts=class extends ho{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",pa(this,Ls(e,r=>r!==void 0))}},Sn=class extends ho{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,pa(this,Ls(e,r=>r!==void 0))}},Jr=class extends ho{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,pa(this,Ls(e,r=>r!==void 0))}},An=class extends ho{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,pa(this,Ls(e,r=>r!==void 0))}},_n=class extends ho{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,pa(this,Ls(e,r=>r!==void 0))}},br=class extends ho{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,pa(this,Ls(e,r=>r!==void 0))}},mn=class extends ho{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,pa(this,Ls(e,r=>r!==void 0))}},gn=class extends ho{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,pa(this,Ls(e,r=>r!==void 0))}},fr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,pa(this,Ls(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(NT,"serializeGrammar");o(Xm,"serializeProduction")});var rs,aie=R(()=>{"use strict";MT();rs=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case Zr:return this.visitNonTerminal(r);case Sn:return this.visitAlternative(r);case Jr:return this.visitOption(r);case An:return this.visitRepetitionMandatory(r);case _n:return this.visitRepetitionMandatoryWithSeparator(r);case mn:return this.visitRepetitionWithSeparator(r);case br:return this.visitRepetition(r);case gn:return this.visitAlternation(r);case fr:return this.visitTerminal(r);case ts:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function rN(t){return t instanceof Sn||t instanceof Jr||t instanceof br||t instanceof An||t instanceof _n||t instanceof mn||t instanceof fr||t instanceof ts}function n0(t,e=[]){return t instanceof Jr||t instanceof br||t instanceof mn?!0:t instanceof gn?Nv(t.definition,n=>n0(n,e)):t instanceof Zr&&Fn(e,t)?!1:t instanceof ho?(t instanceof Zr&&e.push(t),Ia(t.definition,n=>n0(n,e))):!1}function nN(t){return t instanceof gn}function Rs(t){if(t instanceof Zr)return"SUBRULE";if(t instanceof Jr)return"OPTION";if(t instanceof gn)return"OR";if(t instanceof An)return"AT_LEAST_ONE";if(t instanceof _n)return"AT_LEAST_ONE_SEP";if(t instanceof mn)return"MANY_SEP";if(t instanceof br)return"MANY";if(t instanceof fr)return"CONSUME";throw Error("non exhaustive match")}var sie=R(()=>{"use strict";Pt();MT();o(rN,"isSequenceProd");o(n0,"isOptionalProd");o(nN,"isBranchingProd");o(Rs,"getProductionDslName")});var ns=R(()=>{"use strict";MT();aie();sie()});function oie(t,e,r){return[new Jr({definition:[new fr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var Pu,IT=R(()=>{"use strict";Pt();ns();Pu=class{static{o(this,"RestWalker")}walk(e,r=[]){Ee(e.definition,(n,i)=>{let a=fi(e.definition,i+1);if(n instanceof Zr)this.walkProdRef(n,a,r);else if(n instanceof fr)this.walkTerminal(n,a,r);else if(n instanceof Sn)this.walkFlat(n,a,r);else if(n instanceof Jr)this.walkOption(n,a,r);else if(n instanceof An)this.walkAtLeastOne(n,a,r);else if(n instanceof _n)this.walkAtLeastOneSep(n,a,r);else if(n instanceof mn)this.walkManySep(n,a,r);else if(n instanceof br)this.walkMany(n,a,r);else if(n instanceof gn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Jr({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=oie(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Jr({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=oie(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Ee(e.definition,a=>{let s=new Sn({definition:[a]});this.walk(s,i)})}};o(oie,"restForRepetitionWithSeparator")});function i0(t){if(t instanceof Zr)return i0(t.referencedRule);if(t instanceof fr)return KMe(t);if(rN(t))return XMe(t);if(nN(t))return jMe(t);throw Error("non exhaustive match")}function XMe(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=n0(a),e=e.concat(i0(a)),n=n+1,i=r.length>n;return Pm(e)}function jMe(t){let e=qe(t.definition,r=>i0(r));return Pm($r(e))}function KMe(t){return[t.terminalType]}var iN=R(()=>{"use strict";Pt();ns();o(i0,"first");o(XMe,"firstForSequence");o(jMe,"firstForBranching");o(KMe,"firstForTerminal")});var OT,aN=R(()=>{"use strict";OT="_~IN~_"});function lie(t){let e={};return Ee(t,r=>{let n=new sN(r).startWalking();pa(e,n)}),e}function QMe(t,e){return t.name+e+OT}var sN,cie=R(()=>{"use strict";IT();iN();Pt();aN();ns();sN=class extends Pu{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=QMe(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Sn({definition:a}),l=i0(s);this.follows[i]=l}};o(lie,"computeAllProdsFollows");o(QMe,"buildBetweenProdsFollowPrefix")});function jm(t){let e=t.toString();if(PT.hasOwnProperty(e))return PT[e];{let r=ZMe.pattern(e);return PT[e]=r,r}}function uie(){PT={}}var PT,ZMe,BT=R(()=>{"use strict";Kv();PT={},ZMe=new Jd;o(jm,"getRegExpAst");o(uie,"clearRegExpParserCache")});function die(t,e=!1){try{let r=jm(t);return oN(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===fie)e&&e2(`${n2} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Dm(`${zv} + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Wm(`${n2} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library - Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function yR(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")l6(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)l6(f,e,r);else{for(let f=h.from;f<=h.to&&f=Nm){let f=h.from>=Nm?h.from:Nm,d=h.to,p=vc(f),m=vc(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":yR(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&vR(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return nr(e)}function l6(t,e,r){let n=vc(t);e[n]=n,r===!0&&RRe(t,e)}function RRe(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=vc(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=vc(i.charCodeAt(0));e[a]=a}}}function $re(t,e){return qa(t.value,r=>{if(typeof r=="number")return Rn(e,r);{let n=r;return qa(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function vR(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?ct(t.value)?Ca(t.value,vR):vR(t.value):!1}function c6(t,e){if(e instanceof RegExp){let r=Im(e),n=new xR(t);return n.visit(r),n.found}else return qa(e,r=>Rn(t,r.charCodeAt(0)))!==void 0}var Gre,zv,xR,Ure=_(()=>{"use strict";Mv();Tt();Rm();o6();bR();Gre="Complement Sets are not supported for first char optimization",zv=`Unable to use "first char" lexer optimizations: -`;s(Vre,"getOptimizedStartCodesIndices");s(yR,"firstCharOptimizedIndices");s(l6,"addOptimizedIdxToResult");s(RRe,"handleIgnoreCase");s($re,"findCode");s(vR,"isWholeOptional");xR=class extends yc{static{s(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){Rn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?$re(e,this.targetCharCodes)===void 0&&(this.found=!0):$re(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};s(c6,"canMatchCharCode")});function Hre(t,e){e=Vh(e,{useSticky:wR,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:s((b,k)=>k(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{jRe()});let n;r("Reject Lexer.NA",()=>{n=qh(t,b=>b[Yd]===jn.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=Ge(n,b=>{let k=b[Yd];if(_o(k)){let A=k.source;return A.length===1&&A!=="^"&&A!=="$"&&A!=="."&&!k.ignoreCase?A:A.length===2&&A[0]==="\\"&&!Rn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],A[1])?A[1]:e.useSticky?Wre(k):qre(k)}else{if(fi(k))return i=!0,{exec:k};if(typeof k=="object")return i=!0,k;if(typeof k=="string"){if(k.length===1)return k;{let A=k.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(A);return e.useSticky?Wre(w):qre(w)}}else throw Error("non exhaustive match")}})});let o,l,u,h,f;r("misc mapping",()=>{o=Ge(n,b=>b.tokenTypeIdx),l=Ge(n,b=>{let k=b.GROUP;if(k!==jn.SKIPPED){if(si(k))return k;if(jt(k))return!1;throw Error("non exhaustive match")}}),u=Ge(n,b=>{let k=b.LONGER_ALT;if(k)return ct(k)?Ge(k,w=>pk(n,w)):[pk(n,k)]}),h=Ge(n,b=>b.PUSH_MODE),f=Ge(n,b=>Ve(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=ene(e.lineTerminatorCharacters);d=Ge(n,k=>!1),e.positionTracking!=="onlyOffset"&&(d=Ge(n,k=>Ve(k,"LINE_BREAKS")?!!k.LINE_BREAKS:Jre(k,b)===!1&&c6(b,k.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=Ge(n,Qre),m=Ge(a,YRe),g=Or(n,(b,k)=>{let A=k.GROUP;return si(A)&&A!==jn.SKIPPED&&(b[A]=[]),b},{}),y=Ge(a,(b,k)=>({pattern:a[k],longerAlt:u[k],canLineTerminator:d[k],isCustom:p[k],short:m[k],group:l[k],push:h[k],pop:f[k],tokenTypeIdx:o[k],tokenType:n[k]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=Or(n,(b,k,A)=>{if(typeof k.PATTERN=="string"){let w=k.PATTERN.charCodeAt(0),T=vc(w);kR(b,T,y[A])}else if(ct(k.START_CHARS_HINT)){let w;be(k.START_CHARS_HINT,T=>{let C=typeof T=="string"?T.charCodeAt(0):T,E=vc(C);w!==E&&(w=E,kR(b,E,y[A]))})}else if(_o(k.PATTERN))if(k.PATTERN.unicode)v=!1,e.ensureOptimizations&&Dm(`${zv} Unable to analyze < ${k.PATTERN.toString()} > pattern. + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function oN(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")FT(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)FT(f,e,r);else{for(let f=h.from;f<=h.to&&f=Km){let f=h.from>=Km?h.from:Km,d=h.to,p=Lc(f),m=Lc(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":oN(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&lN(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return or(e)}function FT(t,e,r){let n=Lc(t);e[n]=n,r===!0&&JMe(t,e)}function JMe(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Lc(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Lc(i.charCodeAt(0));e[a]=a}}}function hie(t,e){return Za(t.value,r=>{if(typeof r=="number")return Fn(e,r);{let n=r;return Za(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function lN(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?wt(t.value)?Ia(t.value,lN):lN(t.value):!1}function zT(t,e){if(e instanceof RegExp){let r=jm(e),n=new cN(t);return n.visit(r),n.found}else return Za(e,r=>Fn(t,r.charCodeAt(0)))!==void 0}var fie,n2,cN,pie=R(()=>{"use strict";Kv();Pt();qm();BT();uN();fie="Complement Sets are not supported for first char optimization",n2=`Unable to use "first char" lexer optimizations: +`;o(die,"getOptimizedStartCodesIndices");o(oN,"firstCharOptimizedIndices");o(FT,"addOptimizedIdxToResult");o(JMe,"handleIgnoreCase");o(hie,"findCode");o(lN,"isWholeOptional");cN=class extends _c{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){Fn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?hie(e,this.targetCharCodes)===void 0&&(this.found=!0):hie(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(zT,"canMatchCharCode")});function yie(t,e){e=Xh(e,{useSticky:fN,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:o((b,w)=>w(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{yIe()});let n;r("Reject Lexer.NA",()=>{n=Kh(t,b=>b[a0]===ni.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=qe(n,b=>{let w=b[a0];if(zo(w)){let S=w.source;return S.length===1&&S!=="^"&&S!=="$"&&S!=="."&&!w.ignoreCase?S:S.length===2&&S[0]==="\\"&&!Fn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],S[1])?S[1]:e.useSticky?gie(w):mie(w)}else{if(wi(w))return i=!0,{exec:w};if(typeof w=="object")return i=!0,w;if(typeof w=="string"){if(w.length===1)return w;{let S=w.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),T=new RegExp(S);return e.useSticky?gie(T):mie(T)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=qe(n,b=>b.tokenTypeIdx),l=qe(n,b=>{let w=b.GROUP;if(w!==ni.SKIPPED){if(di(w))return w;if(er(w))return!1;throw Error("non exhaustive match")}}),u=qe(n,b=>{let w=b.LONGER_ALT;if(w)return wt(w)?qe(w,T=>Yw(n,T)):[Yw(n,w)]}),h=qe(n,b=>b.PUSH_MODE),f=qe(n,b=>Xe(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=Cie(e.lineTerminatorCharacters);d=qe(n,w=>!1),e.positionTracking!=="onlyOffset"&&(d=qe(n,w=>Xe(w,"LINE_BREAKS")?!!w.LINE_BREAKS:Eie(w,b)===!1&&zT(b,w.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=qe(n,Tie),m=qe(a,mIe),g=Vr(n,(b,w)=>{let S=w.GROUP;return di(S)&&S!==ni.SKIPPED&&(b[S]=[]),b},{}),y=qe(a,(b,w)=>({pattern:a[w],longerAlt:u[w],canLineTerminator:d[w],isCustom:p[w],short:m[w],group:l[w],push:h[w],pop:f[w],tokenTypeIdx:s[w],tokenType:n[w]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=Vr(n,(b,w,S)=>{if(typeof w.PATTERN=="string"){let T=w.PATTERN.charCodeAt(0),E=Lc(T);hN(b,E,y[S])}else if(wt(w.START_CHARS_HINT)){let T;Ee(w.START_CHARS_HINT,E=>{let _=typeof E=="string"?E.charCodeAt(0):E,A=Lc(_);T!==A&&(T=A,hN(b,A,y[S]))})}else if(zo(w.PATTERN))if(w.PATTERN.unicode)v=!1,e.ensureOptimizations&&Wm(`${n2} Unable to analyze < ${w.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=Vre(k.PATTERN,e.ensureOptimizations);Vt(w)&&(v=!1),be(w,T=>{kR(b,T,y[A])})}else e.ensureOptimizations&&Dm(`${zv} TokenType: <${k.name}> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let T=die(w.PATTERN,e.ensureOptimizations);Qt(T)&&(v=!1),Ee(T,E=>{hN(b,E,y[S])})}else e.ensureOptimizations&&Wm(`${n2} TokenType: <${w.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function Yre(t,e){let r=[],n=IRe(t);r=r.concat(n.errors);let i=NRe(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(MRe(a)),r=r.concat(VRe(a)),r=r.concat(URe(a,e)),r=r.concat(qRe(a)),r}function MRe(t){let e=[],r=Nr(t,n=>_o(n[Yd]));return e=e.concat(PRe(r)),e=e.concat(zRe(r)),e=e.concat($Re(r)),e=e.concat(GRe(r)),e=e.concat(BRe(r)),e}function IRe(t){let e=Nr(t,i=>!Ve(i,Yd)),r=Ge(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:In.MISSING_PATTERN,tokenTypes:[i]})),n=Uh(t,e);return{errors:r,valid:n}}function NRe(t){let e=Nr(t,i=>{let a=i[Yd];return!_o(a)&&!fi(a)&&!Ve(a,"exec")&&!si(a)}),r=Ge(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:In.INVALID_PATTERN,tokenTypes:[i]})),n=Uh(t,e);return{errors:r,valid:n}}function PRe(t){class e extends yc{static{s(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=Nr(t,i=>{let a=i.PATTERN;try{let o=Im(a),l=new e;return l.visit(o),l.found}catch{return ORe.test(a.source)}});return Ge(r,i=>({message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function vie(t,e){let r=[],n=tIe(t);r=r.concat(n.errors);let i=rIe(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(eIe(a)),r=r.concat(uIe(a)),r=r.concat(hIe(a,e)),r=r.concat(fIe(a)),r}function eIe(t){let e=[],r=Gr(t,n=>zo(n[a0]));return e=e.concat(iIe(r)),e=e.concat(oIe(r)),e=e.concat(lIe(r)),e=e.concat(cIe(r)),e=e.concat(aIe(r)),e}function tIe(t){let e=Gr(t,i=>!Xe(i,a0)),r=qe(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:$n.MISSING_PATTERN,tokenTypes:[i]})),n=jh(t,e);return{errors:r,valid:n}}function rIe(t){let e=Gr(t,i=>{let a=i[a0];return!zo(a)&&!wi(a)&&!Xe(a,"exec")&&!di(a)}),r=qe(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:$n.INVALID_PATTERN,tokenTypes:[i]})),n=jh(t,e);return{errors:r,valid:n}}function iIe(t){class e extends _c{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=Gr(t,i=>{let a=i.PATTERN;try{let s=jm(a),l=new e;return l.visit(s),l.found}catch{return nIe.test(a.source)}});return qe(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:In.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function BRe(t){let e=Nr(t,n=>n.PATTERN.test(""));return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:In.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function zRe(t){class e extends yc{static{s(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=Nr(t,i=>{let a=i.PATTERN;try{let o=Im(a),l=new e;return l.visit(o),l.found}catch{return FRe.test(a.source)}});return Ge(r,i=>({message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:$n.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function aIe(t){let e=Gr(t,n=>n.PATTERN.test(""));return qe(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:$n.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function oIe(t){class e extends _c{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=Gr(t,i=>{let a=i.PATTERN;try{let s=jm(a),l=new e;return l.visit(s),l.found}catch{return sIe.test(a.source)}});return qe(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:In.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function $Re(t){let e=Nr(t,n=>{let i=n[Yd];return i instanceof RegExp&&(i.multiline||i.global)});return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:In.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function GRe(t){let e=[],r=Ge(t,a=>Or(t,(o,l)=>(a.PATTERN.source===l.PATTERN.source&&!Rn(e,l)&&l.PATTERN!==jn.NA&&(e.push(l),o.push(l)),o),[]));r=uc(r);let n=Nr(r,a=>a.length>1);return Ge(n,a=>{let o=Ge(a,u=>u.name);return{message:`The same RegExp pattern ->${Yi(a).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:In.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function VRe(t){let e=Nr(t,n=>{if(!Ve(n,"GROUP"))return!1;let i=n.GROUP;return i!==jn.SKIPPED&&i!==jn.NA&&!si(i)});return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:In.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function URe(t,e){let r=Nr(t,i=>i.PUSH_MODE!==void 0&&!Rn(e,i.PUSH_MODE));return Ge(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:In.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function qRe(t){let e=[],r=Or(t,(n,i,a)=>{let o=i.PATTERN;return o===jn.NA||(si(o)?n.push({str:o,idx:a,tokenType:i}):_o(o)&&HRe(o)&&n.push({str:o.source,idx:a,tokenType:i})),n},[]);return be(t,(n,i)=>{be(r,({str:a,idx:o,tokenType:l})=>{if(i${l.name}<- can never be matched. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:$n.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function lIe(t){let e=Gr(t,n=>{let i=n[a0];return i instanceof RegExp&&(i.multiline||i.global)});return qe(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:$n.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function cIe(t){let e=[],r=qe(t,a=>Vr(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!Fn(e,l)&&l.PATTERN!==ni.NA&&(e.push(l),s.push(l)),s),[]));r=wc(r);let n=Gr(r,a=>a.length>1);return qe(n,a=>{let s=qe(a,u=>u.name);return{message:`The same RegExp pattern ->${na(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:$n.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function uIe(t){let e=Gr(t,n=>{if(!Xe(n,"GROUP"))return!1;let i=n.GROUP;return i!==ni.SKIPPED&&i!==ni.NA&&!di(i)});return qe(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:$n.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function hIe(t,e){let r=Gr(t,i=>i.PUSH_MODE!==void 0&&!Fn(e,i.PUSH_MODE));return qe(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:$n.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function fIe(t){let e=[],r=Vr(t,(n,i,a)=>{let s=i.PATTERN;return s===ni.NA||(di(s)?n.push({str:s,idx:a,tokenType:i}):zo(s)&&pIe(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Ee(t,(n,i)=>{Ee(r,({str:a,idx:s,tokenType:l})=>{if(i${l.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:In.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function WRe(t,e){if(_o(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(fi(e))return e(t,0,[],{});if(Ve(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function HRe(t){return qa([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function qre(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Wre(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function Xre(t,e,r){let n=[];return Ve(t,Om)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Om+`> property in its definition -`,type:In.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Ve(t,u6)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+u6+`> property in its definition -`,type:In.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Ve(t,u6)&&Ve(t,Om)&&!Ve(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Om}: <${t.defaultMode}>which does not exist -`,type:In.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Ve(t,u6)&&be(t.modes,(i,a)=>{be(i,(o,l)=>{if(jt(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> -`,type:In.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Ve(o,"LONGER_ALT")){let u=ct(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];be(u,h=>{!jt(h)&&!Rn(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${o.name}> outside of mode <${a}> -`,type:In.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function jre(t,e,r){let n=[],i=!1,a=uc(Ir(nr(t.modes))),o=qh(a,u=>u[Yd]===jn.NA),l=ene(r);return e&&be(o,u=>{let h=Jre(u,l);if(h!==!1){let d={message:XRe(u,h),type:h.issue,tokenType:u};n.push(d)}else Ve(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):c6(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:$n.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function dIe(t,e){if(zo(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(wi(e))return e(t,0,[],{});if(Xe(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function pIe(t){return Za([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function mie(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function gie(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function xie(t,e,r){let n=[];return Xe(t,Qm)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Qm+`> property in its definition +`,type:$n.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Xe(t,$T)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+$T+`> property in its definition +`,type:$n.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Xe(t,$T)&&Xe(t,Qm)&&!Xe(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Qm}: <${t.defaultMode}>which does not exist +`,type:$n.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Xe(t,$T)&&Ee(t.modes,(i,a)=>{Ee(i,(s,l)=>{if(er(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`,type:$n.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Xe(s,"LONGER_ALT")){let u=wt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Ee(u,h=>{!er(h)&&!Fn(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> +`,type:$n.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function bie(t,e,r){let n=[],i=!1,a=wc($r(or(t.modes))),s=Kh(a,u=>u[a0]===ni.NA),l=Cie(r);return e&&Ee(s,u=>{let h=Eie(u,l);if(h!==!1){let d={message:gIe(u,h),type:h.issue,tokenType:u};n.push(d)}else Xe(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):zT(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:In.NO_LINE_BREAKS_FLAGS}),n}function Kre(t){let e={},r=kr(t);return be(r,n=>{let i=t[n];if(ct(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Qre(t){let e=t.PATTERN;if(_o(e))return!1;if(fi(e))return!0;if(Ve(e,"exec"))return!0;if(si(e))return!1;throw Error("non exhaustive match")}function YRe(t){return si(t)&&t.length===1?t.charCodeAt(0):!1}function Jre(t,e){if(Ve(t,"LINE_BREAKS"))return!1;if(_o(t.PATTERN)){try{c6(e,t.PATTERN)}catch(r){return{issue:In.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(si(t.PATTERN))return!1;if(Qre(t))return{issue:In.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function XRe(t,e){if(e.issue===In.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + for details.`,type:$n.NO_LINE_BREAKS_FLAGS}),n}function wie(t){let e={},r=Dr(t);return Ee(r,n=>{let i=t[n];if(wt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Tie(t){let e=t.PATTERN;if(zo(e))return!1;if(wi(e))return!0;if(Xe(e,"exec"))return!0;if(di(e))return!1;throw Error("non exhaustive match")}function mIe(t){return di(t)&&t.length===1?t.charCodeAt(0):!1}function Eie(t,e){if(Xe(t,"LINE_BREAKS"))return!1;if(zo(t.PATTERN)){try{zT(e,t.PATTERN)}catch(r){return{issue:$n.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(di(t.PATTERN))return!1;if(Tie(t))return{issue:$n.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function gIe(t,e){if(e.issue===$n.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. The problem is in the <${t.name}> Token Type Root cause: ${e.errMsg}. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===In.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===$n.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function ene(t){return Ge(t,r=>si(r)?r.charCodeAt(0):r)}function kR(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function vc(t){return t255?255+~~(t/255):t}}var Yd,Om,u6,wR,ORe,FRe,Zre,Nm,h6,bR=_(()=>{"use strict";Mv();$v();Tt();Rm();Ure();o6();Yd="PATTERN",Om="defaultMode",u6="modes",wR=typeof new RegExp("(?:)").sticky=="boolean";s(Hre,"analyzeTokenTypes");s(Yre,"validatePatterns");s(MRe,"validateRegExpPattern");s(IRe,"findMissingPatterns");s(NRe,"findInvalidPatterns");ORe=/[^\\][$]/;s(PRe,"findEndOfInputAnchor");s(BRe,"findEmptyMatchRegExps");FRe=/[^\\[][\^]|^\^/;s(zRe,"findStartOfInputAnchor");s($Re,"findUnsupportedFlags");s(GRe,"findDuplicatePatterns");s(VRe,"findInvalidGroupType");s(URe,"findModesThatDoNotExist");s(qRe,"findUnreachablePatterns");s(WRe,"testTokenType");s(HRe,"noMetaChar");s(qre,"addStartOfInput");s(Wre,"addStickyFlag");s(Xre,"performRuntimeChecks");s(jre,"performWarningRuntimeChecks");s(Kre,"cloneEmptyGroups");s(Qre,"isCustomPattern");s(YRe,"isShortPattern");Zre={test:s(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function KRe(t){let e=Hr(t),r=t,n=!0;for(;n;){r=uc(Ir(Ge(r,a=>a.CATEGORIES)));let i=Uh(r,e);e=e.concat(i),Vt(i)?n=!1:r=i}return e}function QRe(t){be(t,e=>{TR(e)||(nne[tne]=e,e.tokenTypeIdx=tne++),rne(e)&&!ct(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),rne(e)||(e.CATEGORIES=[]),eMe(e)||(e.categoryMatches=[]),tMe(e)||(e.categoryMatchesMap={})})}function ZRe(t){be(t,e=>{e.categoryMatches=[],be(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(nne[n].tokenTypeIdx)})})}function JRe(t){be(t,e=>{ine([],e)})}function ine(t,e){be(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),be(e.CATEGORIES,r=>{let n=t.concat(e);Rn(n,r)||ine(n,r)})}function TR(t){return Ve(t,"tokenTypeIdx")}function rne(t){return Ve(t,"CATEGORIES")}function eMe(t){return Ve(t,"categoryMatches")}function tMe(t){return Ve(t,"categoryMatchesMap")}function ane(t){return Ve(t,"tokenTypeIdx")}var tne,nne,Xd=_(()=>{"use strict";Tt();s(Au,"tokenStructuredMatcher");s(Pm,"tokenStructuredMatcherNoCategories");tne=1,nne={};s(Lu,"augmentTokenTypes");s(KRe,"expandCategories");s(QRe,"assignTokenDefaultProps");s(ZRe,"assignCategoriesTokensProp");s(JRe,"assignCategoriesMapProp");s(ine,"singleAssignCategoriesToksMap");s(TR,"hasShortKeyProperty");s(rne,"hasCategoriesProperty");s(eMe,"hasExtendingTokensTypesProperty");s(tMe,"hasExtendingTokensTypesMapProperty");s(ane,"isTokenType")});var ER,CR=_(()=>{"use strict";ER={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var In,Gv,jn,$v=_(()=>{"use strict";bR();Tt();Rm();Xd();CR();o6();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(In||(In={}));Gv={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ER,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Gv);jn=class{static{s(this,"Lexer")}constructor(e,r=Gv){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=Bv(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=aa({},Gv,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Gv.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Zre;else if(this.config.lineTerminatorCharacters===Gv.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),ct(e)?i={modes:{defaultMode:Hr(e)},defaultMode:Om}:(a=!1,i=Hr(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Xre(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(jre(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},be(i.modes,(l,u)=>{i.modes[u]=qh(l,h=>jt(h))});let o=kr(i.modes);if(be(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Yre(l,o))}),Vt(this.lexerDefinitionErrors)){Lu(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=Hre(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=aa({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Vt(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=Ge(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Cie(t){return qe(t,r=>di(r)?r.charCodeAt(0):r)}function hN(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Lc(t){return t255?255+~~(t/255):t}}var a0,Qm,$T,fN,nIe,sIe,kie,Km,GT,uN=R(()=>{"use strict";Kv();i2();Pt();qm();pie();BT();a0="PATTERN",Qm="defaultMode",$T="modes",fN=typeof new RegExp("(?:)").sticky=="boolean";o(yie,"analyzeTokenTypes");o(vie,"validatePatterns");o(eIe,"validateRegExpPattern");o(tIe,"findMissingPatterns");o(rIe,"findInvalidPatterns");nIe=/[^\\][$]/;o(iIe,"findEndOfInputAnchor");o(aIe,"findEmptyMatchRegExps");sIe=/[^\\[][\^]|^\^/;o(oIe,"findStartOfInputAnchor");o(lIe,"findUnsupportedFlags");o(cIe,"findDuplicatePatterns");o(uIe,"findInvalidGroupType");o(hIe,"findModesThatDoNotExist");o(fIe,"findUnreachablePatterns");o(dIe,"testTokenType");o(pIe,"noMetaChar");o(mie,"addStartOfInput");o(gie,"addStickyFlag");o(xie,"performRuntimeChecks");o(bie,"performWarningRuntimeChecks");o(wie,"cloneEmptyGroups");o(Tie,"isCustomPattern");o(mIe,"isShortPattern");kie={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function vIe(t){let e=Qr(t),r=t,n=!0;for(;n;){r=wc($r(qe(r,a=>a.CATEGORIES)));let i=jh(r,e);e=e.concat(i),Qt(i)?n=!1:r=i}return e}function xIe(t){Ee(t,e=>{dN(e)||(_ie[Sie]=e,e.tokenTypeIdx=Sie++),Aie(e)&&!wt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Aie(e)||(e.CATEGORIES=[]),TIe(e)||(e.categoryMatches=[]),kIe(e)||(e.categoryMatchesMap={})})}function bIe(t){Ee(t,e=>{e.categoryMatches=[],Ee(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(_ie[n].tokenTypeIdx)})})}function wIe(t){Ee(t,e=>{Lie([],e)})}function Lie(t,e){Ee(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Ee(e.CATEGORIES,r=>{let n=t.concat(e);Fn(n,r)||Lie(n,r)})}function dN(t){return Xe(t,"tokenTypeIdx")}function Aie(t){return Xe(t,"CATEGORIES")}function TIe(t){return Xe(t,"categoryMatches")}function kIe(t){return Xe(t,"categoryMatchesMap")}function Die(t){return Xe(t,"tokenTypeIdx")}var Sie,_ie,s0=R(()=>{"use strict";Pt();o(Bu,"tokenStructuredMatcher");o(Zm,"tokenStructuredMatcherNoCategories");Sie=1,_ie={};o(Fu,"augmentTokenTypes");o(vIe,"expandCategories");o(xIe,"assignTokenDefaultProps");o(bIe,"assignCategoriesTokensProp");o(wIe,"assignCategoriesMapProp");o(Lie,"singleAssignCategoriesToksMap");o(dN,"hasShortKeyProperty");o(Aie,"hasCategoriesProperty");o(TIe,"hasExtendingTokensTypesProperty");o(kIe,"hasExtendingTokensTypesMapProperty");o(Die,"isTokenType")});var pN,mN=R(()=>{"use strict";pN={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var $n,a2,ni,i2=R(()=>{"use strict";uN();Pt();qm();s0();mN();BT();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})($n||($n={}));a2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:pN,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(a2);ni=class{static{o(this,"Lexer")}constructor(e,r=a2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=t2(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=pa({},a2,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===a2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=kie;else if(this.config.lineTerminatorCharacters===a2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),wt(e)?i={modes:{defaultMode:Qr(e)},defaultMode:Qm}:(a=!1,i=Qr(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(xie(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(bie(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Ee(i.modes,(l,u)=>{i.modes[u]=Kh(l,h=>er(h))});let s=Dr(i.modes);if(Ee(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(vie(l,s))}),Qt(this.lexerDefinitionErrors)){Fu(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=yie(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=pa({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Qt(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=qe(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: -`+u)}be(this.lexerDefinitionWarning,l=>{Pv(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(wR?(this.chopInput=Wi,this.match=this.matchWithTest):(this.updateLastIndex=zn,this.match=this.matchWithExec),a&&(this.handleModes=zn),this.trackStartLines===!1&&(this.computeNewColumn=Wi),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=zn),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=Or(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Vt(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. +`+u)}Ee(this.lexerDefinitionWarning,l=>{e2(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(fN?(this.chopInput=ea,this.match=this.matchWithTest):(this.updateLastIndex=qn,this.match=this.matchWithExec),a&&(this.handleModes=qn),this.trackStartLines===!1&&(this.computeNewColumn=ea),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=qn),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=Vr(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Qt(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{zre()}),this.TRACE_INIT("toFastProperties",()=>{Fv(this)})})}tokenize(e,r=this.defaultMode){if(!Vt(this.lexerDefinitionErrors)){let i=Ge(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{uie()}),this.TRACE_INIT("toFastProperties",()=>{r2(this)})})}tokenize(e,r=this.defaultMode){if(!Qt(this.lexerDefinitionErrors)){let i=qe(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,o,l,u,h,f,d,p,m,g,y,v,x,b,k=e,A=k.length,w=0,T=0,C=this.hasCustom?0:Math.floor(e.length/10),E=new Array(C),S=[],R=this.trackStartLines?1:void 0,D=this.trackStartLines?1:void 0,L=Kre(this.emptyGroups),P=this.trackStartLines,M=this.config.lineTerminatorsPattern,F=0,I=[],O=[],z=[],N=[];Object.freeze(N);let U;function $(){return I}s($,"getPossiblePatternsSlow");function W(fe){let ne=vc(fe),H=O[ne];return H===void 0?N:H}s(W,"getPossiblePatternsOptimized");let ee=s(fe=>{if(z.length===1&&fe.tokenType.PUSH_MODE===void 0){let ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(fe);S.push({offset:fe.startOffset,line:fe.startLine,column:fe.startColumn,length:fe.image.length,message:ne})}else{z.pop();let ne=sa(z);I=this.patternIdxToConfig[ne],O=this.charCodeToPatternIdxToConfig[ne],F=I.length;let H=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;O&&H?U=W:U=$}},"pop_mode");function te(fe){z.push(fe),O=this.charCodeToPatternIdxToConfig[fe],I=this.patternIdxToConfig[fe],F=I.length,F=I.length;let ne=this.canModeBeOptimized[fe]&&this.config.safeMode===!1;O&&ne?U=W:U=$}s(te,"push_mode"),te.call(this,r);let ce,Z=this.config.recoveryEnabled;for(;wu.length){u=o,h=f,ce=ie;break}}}break}}if(u!==null){if(d=u.length,p=ce.group,p!==void 0&&(m=ce.tokenTypeIdx,g=this.createTokenInstance(u,w,m,ce.tokenType,R,D,d),this.handlePayload(g,h),p===!1?T=this.addToken(E,T,g):L[p].push(g)),e=this.chopInput(e,d),w=w+d,D=this.computeNewColumn(D,d),P===!0&&ce.canLineTerminator===!0){let Q=0,K,re;M.lastIndex=0;do K=M.test(u),K===!0&&(re=M.lastIndex-1,Q++);while(K===!0);Q!==0&&(R=R+Q,D=d-re,this.updateTokenEndLineColumnLocation(g,p,re,Q,R,D,d))}this.handleModes(ce,ee,te,g)}else{let Q=w,K=R,re=D,ie=Z===!1;for(;ie===!1&&w{"use strict";Tt();$v();Xd();s(Du,"tokenLabel");s(SR,"hasTokenLabel");rMe="parent",sne="categories",one="label",lne="group",cne="push_mode",une="pop_mode",hne="longer_alt",fne="line_breaks",dne="start_chars_hint";s(f6,"createToken");s(nMe,"createTokenInternal");io=f6({name:"EOF",pattern:jn.NA});Lu([io]);s(jd,"createTokenInstance");s(Vv,"tokenMatcher")});var Ru,pne,bl,Bm=_(()=>{"use strict";Kd();Tt();ja();Ru={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${SR(t)?`--> ${Du(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` -but found: '`+Yi(e).image+"'";if(n)return a+n+l;{let u=Or(t,(p,m)=>p.concat(m),[]),h=Ge(u,p=>`[${Ge(p,m=>Du(m)).join(", ")}]`),d=`one of these possible Token sequences: -${Ge(h,(p,m)=>` ${m+1}. ${p}`).join(` -`)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",o=` -but found: '`+Yi(e).image+"'";if(r)return i+r+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: - <${Ge(t,h=>`[${Ge(h,f=>Du(f)).join(",")}]`).join(" ,")}>`;return i+u+o}}};Object.freeze(Ru);pne={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+t.name+"<-"}},bl={buildDuplicateFoundError(t,e){function r(f){return f instanceof sr?f.terminalType.name:f instanceof Yr?f.nonTerminalName:""}s(r,"getExtraProductionArgument");let n=t.name,i=Yi(e),a=i.idx,o=Cs(i),l=r(i),u=a>0,h=`->${o}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,l,u,h,f,d,p,m,g,y,v,x,b,w=e,S=w.length,T=0,E=0,_=this.hasCustom?0:Math.floor(e.length/10),A=new Array(_),L=[],M=this.trackStartLines?1:void 0,N=this.trackStartLines?1:void 0,k=wie(this.emptyGroups),I=this.trackStartLines,C=this.config.lineTerminatorsPattern,O=0,D=[],P=[],F=[],B=[];Object.freeze(B);let G;function z(){return D}o(z,"getPossiblePatternsSlow");function Y(J){let Z=Lc(J),H=P[Z];return H===void 0?B:H}o(Y,"getPossiblePatternsOptimized");let Q=o(J=>{if(F.length===1&&J.tokenType.PUSH_MODE===void 0){let Z=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(J);L.push({offset:J.startOffset,line:J.startLine,column:J.startColumn,length:J.image.length,message:Z})}else{F.pop();let Z=ma(F);D=this.patternIdxToConfig[Z],P=this.charCodeToPatternIdxToConfig[Z],O=D.length;let H=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;P&&H?G=Y:G=z}},"pop_mode");function X(J){F.push(J),P=this.charCodeToPatternIdxToConfig[J],D=this.patternIdxToConfig[J],O=D.length,O=D.length;let Z=this.canModeBeOptimized[J]&&this.config.safeMode===!1;P&&Z?G=Y:G=z}o(X,"push_mode"),X.call(this,r);let ie,j=this.config.recoveryEnabled;for(;Tu.length){u=s,h=f,ie=ce;break}}}break}}if(u!==null){if(d=u.length,p=ie.group,p!==void 0&&(m=ie.tokenTypeIdx,g=this.createTokenInstance(u,T,m,ie.tokenType,M,N,d),this.handlePayload(g,h),p===!1?E=this.addToken(A,E,g):k[p].push(g)),e=this.chopInput(e,d),T=T+d,N=this.computeNewColumn(N,d),I===!0&&ie.canLineTerminator===!0){let q=0,K,se;C.lastIndex=0;do K=C.test(u),K===!0&&(se=C.lastIndex-1,q++);while(K===!0);q!==0&&(M=M+q,N=d-se,this.updateTokenEndLineColumnLocation(g,p,se,q,M,N,d))}this.handleModes(ie,Q,X,g)}else{let q=T,K=M,se=N,ce=j===!1;for(;ce===!1&&T{"use strict";Pt();i2();s0();o(zu,"tokenLabel");o(gN,"hasTokenLabel");EIe="parent",Rie="categories",Nie="label",Mie="group",Iie="push_mode",Oie="pop_mode",Pie="longer_alt",Bie="line_breaks",Fie="start_chars_hint";o(VT,"createToken");o(CIe,"createTokenInternal");fo=VT({name:"EOF",pattern:ni.NA});Fu([fo]);o(o0,"createTokenInstance");o(s2,"tokenMatcher")});var $u,zie,Ol,Jm=R(()=>{"use strict";l0();Pt();ns();$u={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${gN(t)?`--> ${zu(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` +but found: '`+na(e).image+"'";if(n)return a+n+l;{let u=Vr(t,(p,m)=>p.concat(m),[]),h=qe(u,p=>`[${qe(p,m=>zu(m)).join(", ")}]`),d=`one of these possible Token sequences: +${qe(h,(p,m)=>` ${m+1}. ${p}`).join(` +`)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=` +but found: '`+na(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${qe(t,h=>`[${qe(h,f=>zu(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze($u);zie={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Ol={buildDuplicateFoundError(t,e){function r(f){return f instanceof fr?f.terminalType.name:f instanceof Zr?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=na(e),a=i.idx,s=Rs(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` @@ -650,77 +650,77 @@ inside top level rule: ->`+t.name+"<-"}},bl={buildDuplicateFoundError(t,e){funct The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=Ge(t.prefixPath,i=>Du(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=qe(t.prefixPath,i=>zu(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`},buildAlternationAmbiguityError(t){let e=Ge(t.prefixPath,i=>Du(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, +For Further details.`},buildAlternationAmbiguityError(t){let e=qe(t.prefixPath,i=>zu(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n},buildEmptyRepetitionError(t){let e=Cs(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +For Further details.`,n},buildEmptyRepetitionError(t){let e=Rs(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. - has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=Ge(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. + has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=qe(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ya?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function mne(t,e){let r=new _R(t,e);return r.resolveRefs(),r.errors}var _R,gne=_(()=>{"use strict";Ss();Tt();ja();s(mne,"resolveGrammar");_R=class extends Xa{static{s(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){be(nr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Li.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function g6(t,e,r=[]){r=Hr(r);let n=[],i=0;function a(l){return l.concat(ai(t,i+1))}s(a,"remainingPathWith");function o(l){let u=g6(a(l),e,r);return n.concat(u)}for(s(o,"getAlternativesForProd");r.length{Vt(u.definition)===!1&&(n=o(u.definition))}),n;if(l instanceof sr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:ai(t,i)}),n}function y6(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Vt(d);){let p=d.pop();if(p===o){l&&sa(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Vt(m))continue;let x=m[0];if(x===i){let b={idx:g,def:ai(m),ruleStack:wu(y),occurrenceStack:wu(v)};d.push(b)}else if(x instanceof sr)if(g=0;b--){let k=x.definition[b],A={idx:g,def:k.definition.concat(ai(m)),ruleStack:y,occurrenceStack:v};d.push(A),d.push(o)}else if(x instanceof vn)d.push({idx:g,def:x.definition.concat(ai(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof Ya)d.push(iMe(x,g,y,v));else throw Error("non exhaustive match")}return f}function iMe(t,e,r,n){let i=Hr(r);i.push(t.name);let a=Hr(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var AR,d6,Fm,p6,Uv,m6,qv,Wv=_(()=>{"use strict";Tt();pR();i6();ja();AR=class extends _u{static{s(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Hr(this.path.ruleStack).reverse(),this.occurrenceStack=Hr(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Vt(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},d6=class extends AR{static{s(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new vn({definition:i});this.possibleTokTypes=Hd(a),this.found=!0}}},Fm=class extends _u{static{s(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},p6=class extends Fm{static{s(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Uv=class extends Fm{static{s(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},m6=class extends Fm{static{s(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},qv=class extends Fm{static{s(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=Yi(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof sr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};s(g6,"possiblePathsFrom");s(y6,"nextPossibleTokensAfter");s(iMe,"expandTopLevelRule")});function Hv(t){if(t instanceof Xr||t==="Option")return Nn.OPTION;if(t instanceof mr||t==="Repetition")return Nn.REPETITION;if(t instanceof xn||t==="RepetitionMandatory")return Nn.REPETITION_MANDATORY;if(t instanceof bn||t==="RepetitionMandatoryWithSeparator")return Nn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ln||t==="RepetitionWithSeparator")return Nn.REPETITION_WITH_SEPARATOR;if(t instanceof cn||t==="Alternation")return Nn.ALTERNATION;throw Error("non exhaustive match")}function x6(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=Hv(n);return a===Nn.ALTERNATION?zm(e,r,i):$m(e,r,a,i)}function vne(t,e,r,n,i,a){let o=zm(t,e,r),l=Ene(o)?Pm:Au;return a(o,n,l,i)}function xne(t,e,r,n,i,a){let o=$m(t,e,i,r),l=Ene(o)?Pm:Au;return a(o[0],l,n)}function bne(t,e,r,n){let i=t.length,a=Ca(t,o=>Ca(o,l=>l.length===1));if(e)return function(o){let l=Ge(o,u=>u.GATE);for(let u=0;uIr(u)),l=Or(o,(u,h,f)=>(be(h,d=>{Ve(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),be(d.categoryMatches,p=>{Ve(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let o=0;oa.length===1),i=t.length;if(n&&!r){let a=Ir(t);if(a.length===1&&Vt(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let o=Or(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,be(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;ag6([o],1)),n=yne(r.length),i=Ge(r,o=>{let l={};return be(o,u=>{let h=LR(u.partialPath);be(h,f=>{l[f]=!0})}),l}),a=r;for(let o=1;o<=e;o++){let l=a;a=yne(l.length);for(let u=0;u{let x=LR(v.partialPath);be(x,b=>{i[u][b]=!0})})}}}}return n}function zm(t,e,r,n){let i=new v6(t,Nn.ALTERNATION,n);return e.accept(i),wne(i.result,r)}function $m(t,e,r,n){let i=new v6(t,r);e.accept(i);let a=i.result,l=new DR(e,t,r).startWalking(),u=new vn({definition:a}),h=new vn({definition:l});return wne([u,h],n)}function b6(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Ene(t){return Ca(t,e=>Ca(e,r=>Ca(r,n=>Vt(n.categoryMatches))))}var Nn,DR,v6,Gm=_(()=>{"use strict";Tt();Wv();i6();Xd();ja();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Nn||(Nn={}));s(Hv,"getProdType");s(x6,"getLookaheadPaths");s(vne,"buildLookaheadFuncForOr");s(xne,"buildLookaheadFuncForOptionalProd");s(bne,"buildAlternativesLookAheadFunc");s(kne,"buildSingleAlternativeLookaheadFunction");DR=class extends _u{static{s(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Nn.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Nn.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Nn.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Nn.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Nn.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},v6=class extends Xa{static{s(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Nn.OPTION)}visitRepetition(e){this.checkIsTarget(e,Nn.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Nn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Nn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Nn.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Nn.ALTERNATION)}};s(yne,"initializeArrayOfArrays");s(LR,"pathToHashKeys");s(aMe,"isUniquePrefixHash");s(wne,"lookAheadSequenceFromAlternatives");s(zm,"getLookaheadPathsForOr");s($m,"getLookaheadPathsForOptionalProd");s(b6,"containsPath");s(Tne,"isStrictPrefixOfPath");s(Ene,"areTokenCategoriesNotUsed")});function Cne(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return Ge(e,r=>Object.assign({type:Li.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Sne(t,e,r,n){let i=oa(t,u=>sMe(u,r)),a=fMe(t,e,r),o=oa(t,u=>cMe(u,r)),l=oa(t,u=>lMe(u,t,n,r));return i.concat(a,o,l)}function sMe(t,e){let r=new RR;t.accept(r);let n=r.allProductions,i=q9(n,oMe),a=Ts(i,l=>l.length>1);return Ge(nr(a),l=>{let u=Yi(l),h=e.buildDuplicateFoundError(t,l),f=Cs(u),d={message:h,type:Li.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=_ne(u);return p&&(d.parameter=p),d})}function oMe(t){return`${Cs(t)}_#_${t.idx}_#_${_ne(t)}`}function _ne(t){return t instanceof sr?t.terminalType.name:t instanceof Yr?t.nonTerminalName:""}function lMe(t,e,r,n){let i=[];if(Or(e,(o,l)=>l.name===t.name?o+1:o,0)>1){let o=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:o,type:Li.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Ane(t,e,r){let n=[],i;return Rn(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:Li.INVALID_RULE_OVERRIDE,ruleName:t})),n}function IR(t,e,r,n=[]){let i=[],a=k6(e.definition);if(Vt(a))return[];{let o=t.name;Rn(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:Li.LEFT_RECURSION,ruleName:o});let u=Uh(a,n.concat([t])),h=oa(u,f=>{let d=Hr(n);return d.push(f),IR(t,f,r,d)});return i.concat(h)}}function k6(t){let e=[];if(Vt(t))return e;let r=Yi(t);if(r instanceof Yr)e.push(r.referencedRule);else if(r instanceof vn||r instanceof Xr||r instanceof xn||r instanceof bn||r instanceof ln||r instanceof mr)e=e.concat(k6(r.definition));else if(r instanceof cn)e=Ir(Ge(r.definition,a=>k6(a.definition)));else if(!(r instanceof sr))throw Error("non exhaustive match");let n=Wd(r),i=t.length>1;if(n&&i){let a=ai(t);return e.concat(k6(a))}else return e}function Lne(t,e){let r=new Yv;t.accept(r);let n=r.alternations;return oa(n,a=>{let o=wu(a.definition);return oa(o,(l,u)=>{let h=y6([l],[],Au,1);return Vt(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:Li.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function Dne(t,e,r){let n=new Yv;t.accept(n);let i=n.alternations;return i=qh(i,o=>o.ignoreAmbiguities===!0),oa(i,o=>{let l=o.idx,u=o.maxLookahead||e,h=zm(l,t,u,o),f=uMe(h,o,t,r),d=hMe(h,o,t,r);return f.concat(d)})}function cMe(t,e){let r=new Yv;t.accept(r);let n=r.alternations;return oa(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:Li.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Rne(t,e,r){let n=[];return be(t,i=>{let a=new MR;i.accept(a);let o=a.allProductions;be(o,l=>{let u=Hv(l),h=l.maxLookahead||e,f=l.idx,p=$m(f,i,u,h)[0];if(Vt(Ir(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:Li.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function uMe(t,e,r,n){let i=[],a=Or(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||be(u,f=>{let d=[h];be(t,(p,m)=>{h!==m&&b6(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!b6(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return Ge(a,l=>{let u=Ge(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:Li.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function hMe(t,e,r,n){let i=Or(t,(o,l,u)=>{let h=Ge(l,f=>({idx:u,path:f}));return o.concat(h)},[]);return uc(oa(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];let u=o.idx,h=o.path,f=Nr(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:Li.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function fMe(t,e,r){let n=[],i=Ge(e,a=>a.name);return be(t,a=>{let o=a.name;if(Rn(i,o)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:Li.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}var RR,Yv,MR,Xv=_(()=>{"use strict";Tt();Ss();ja();Gm();Wv();Xd();s(Cne,"validateLookahead");s(Sne,"validateGrammar");s(sMe,"validateDuplicateProductions");s(oMe,"identifyProductionForDuplicates");s(_ne,"getExtraProductionArgument");RR=class extends Xa{static{s(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};s(lMe,"validateRuleDoesNotAlreadyExist");s(Ane,"validateRuleIsOverridden");s(IR,"validateNoLeftRecursion");s(k6,"getFirstNoneTerminal");Yv=class extends Xa{static{s(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};s(Lne,"validateEmptyOrAlternative");s(Dne,"validateAmbiguousAlternationAlternatives");MR=class extends Xa{static{s(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};s(cMe,"validateTooManyAlts");s(Rne,"validateSomeNonEmptyLookaheadPath");s(uMe,"checkAlternativesAmbiguities");s(hMe,"checkPrefixAlternativesAmbiguities");s(fMe,"checkTerminalAndNoneTerminalsNameSpace")});function Mne(t){let e=Vh(t,{errMsgProvider:pne}),r={};return be(t.rules,n=>{r[n.name]=n}),mne(r,e.errMsgProvider)}function Ine(t){return t=Vh(t,{errMsgProvider:bl}),Sne(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var Nne=_(()=>{"use strict";Tt();gne();Xv();Bm();s(Mne,"resolveGrammar");s(Ine,"validateGrammar")});function Qh(t){return Rn(zne,t.name)}var One,Pne,Bne,Fne,zne,Vm,Qd,jv,Kv,Qv,Um=_(()=>{"use strict";Tt();One="MismatchedTokenException",Pne="NoViableAltException",Bne="EarlyExitException",Fne="NotAllInputParsedException",zne=[One,Pne,Bne,Fne];Object.freeze(zne);s(Qh,"isRecognitionException");Vm=class extends Error{static{s(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Qd=class extends Vm{static{s(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=One}},jv=class extends Vm{static{s(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Pne}},Kv=class extends Vm{static{s(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=Fne}},Qv=class extends Vm{static{s(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Bne}}});function dMe(t,e,r,n,i,a,o){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=io,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,o)&&this.tryInRepetitionRecovery(t,e,r,h)}var NR,PR,OR,w6,BR=_(()=>{"use strict";Kd();Tt();Um();mR();Ss();NR={},PR="InRuleRecoveryException",OR=class extends Error{static{s(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=PR}},w6=class{static{s(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Ve(e,"recoveryEnabled")?e.recoveryEnabled:Ka.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=dMe)}getTokenToInsert(e){let r=jd(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),o=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=s(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new Qd(m,h,this.LA(0));g.resyncedTokens=wu(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(o)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new OR("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Vt(r))return!1;let n=this.LA(1);return qa(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Rn(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=qa(e,a=>Vv(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return NR;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return Ge(e,(n,i)=>i===0?NR:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=Ge(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Ir(e)}getFollowSetFromFollowKey(e){if(e===NR)return[io];let r=e.ruleName+e.idxInCallingRule+a6+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,io)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return wu(r)}attemptInRepetitionRecovery(e,r,n,i,a,o,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Hr(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return Ge(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};s(dMe,"attemptInRepetitionRecovery")});function T6(t,e,r){return r|e|t}var E6=_(()=>{"use strict";s(T6,"getKeyForAutomaticLookahead")});var Mu,FR=_(()=>{"use strict";Tt();Bm();Ss();Xv();Gm();Mu=class{static{s(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Ka.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(Vt(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return oa(e,r=>IR(r,r,bl))}validateEmptyOrAlternatives(e){return oa(e,r=>Lne(r,bl))}validateAmbiguousAlternationAlternatives(e,r){return oa(e,n=>Dne(n,r,bl))}validateSomeNonEmptyLookaheadPath(e,r){return Rne(e,r,bl)}buildLookaheadForAlternation(e){return vne(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,bne)}buildLookaheadForOptional(e){return xne(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Hv(e.prodType),kne)}}});function pMe(t){C6.reset(),t.accept(C6);let e=C6.dslMethods;return C6.reset(),e}var S6,zR,C6,$ne=_(()=>{"use strict";Tt();Ss();E6();ja();FR();S6=class{static{s(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Ve(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Ka.dynamicTokensEnabled,this.maxLookahead=Ve(e,"maxLookahead")?e.maxLookahead:Ka.maxLookahead,this.lookaheadStrategy=Ve(e,"lookaheadStrategy")?e.lookaheadStrategy:new Mu({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){be(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:o,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=pMe(r);be(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${Cs(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=T6(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),be(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,Cs(h))}),be(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,Cs(h))}),be(o,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,Cs(h))}),be(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,Cs(h))}),be(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,Cs(h))})})})}computeLookaheadFunc(e,r,n,i,a,o){this.TRACE_INIT(`${o}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=T6(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return T6(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},zR=class extends Xa{static{s(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},C6=new zR;s(pMe,"collectMethods")});function VR(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";s(VR,"setNodeLocationOnlyOffset");s(UR,"setNodeLocationFull");s(Gne,"addTerminalToCst");s(Vne,"addNoneTerminalToCst")});function qR(t,e){Object.defineProperty(t,mMe,{enumerable:!1,configurable:!0,writable:!1,value:e})}var mMe,qne=_(()=>{"use strict";mMe="name";s(qR,"defineNameProp")});function gMe(t,e){let r=kr(t),n=r.length;for(let i=0;io.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ts?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function $ie(t,e){let r=new yN(t,e);return r.resolveRefs(),r.errors}var yN,Gie=R(()=>{"use strict";Ns();Pt();ns();o($ie,"resolveGrammar");yN=class extends rs{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Ee(or(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Pi.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function WT(t,e,r=[]){r=Qr(r);let n=[],i=0;function a(l){return l.concat(fi(t,i+1))}o(a,"remainingPathWith");function s(l){let u=WT(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{Qt(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof fr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:fi(t,i)}),n}function qT(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Qt(d);){let p=d.pop();if(p===s){l&&ma(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Qt(m))continue;let x=m[0];if(x===i){let b={idx:g,def:fi(m),ruleStack:Ru(y),occurrenceStack:Ru(v)};d.push(b)}else if(x instanceof fr)if(g=0;b--){let w=x.definition[b],S={idx:g,def:w.definition.concat(fi(m)),ruleStack:y,occurrenceStack:v};d.push(S),d.push(s)}else if(x instanceof Sn)d.push({idx:g,def:x.definition.concat(fi(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof ts)d.push(SIe(x,g,y,v));else throw Error("non exhaustive match")}return f}function SIe(t,e,r,n){let i=Qr(r);i.push(t.name);let a=Qr(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var vN,UT,eg,HT,o2,YT,l2,c2=R(()=>{"use strict";Pt();iN();IT();ns();vN=class extends Pu{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Qr(this.path.ruleStack).reverse(),this.occurrenceStack=Qr(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Qt(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},UT=class extends vN{static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new Sn({definition:i});this.possibleTokTypes=i0(a),this.found=!0}}},eg=class extends Pu{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},HT=class extends eg{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=na(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof fr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},o2=class extends eg{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=na(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof fr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},YT=class extends eg{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=na(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof fr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},l2=class extends eg{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=na(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof fr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(WT,"possiblePathsFrom");o(qT,"nextPossibleTokensAfter");o(SIe,"expandTopLevelRule")});function u2(t){if(t instanceof Jr||t==="Option")return Gn.OPTION;if(t instanceof br||t==="Repetition")return Gn.REPETITION;if(t instanceof An||t==="RepetitionMandatory")return Gn.REPETITION_MANDATORY;if(t instanceof _n||t==="RepetitionMandatoryWithSeparator")return Gn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof mn||t==="RepetitionWithSeparator")return Gn.REPETITION_WITH_SEPARATOR;if(t instanceof gn||t==="Alternation")return Gn.ALTERNATION;throw Error("non exhaustive match")}function jT(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=u2(n);return a===Gn.ALTERNATION?tg(e,r,i):rg(e,r,a,i)}function Uie(t,e,r,n,i,a){let s=tg(t,e,r),l=jie(s)?Zm:Bu;return a(s,n,l,i)}function Hie(t,e,r,n,i,a){let s=rg(t,e,i,r),l=jie(s)?Zm:Bu;return a(s[0],l,n)}function Yie(t,e,r,n){let i=t.length,a=Ia(t,s=>Ia(s,l=>l.length===1));if(e)return function(s){let l=qe(s,u=>u.GATE);for(let u=0;u$r(u)),l=Vr(s,(u,h,f)=>(Ee(h,d=>{Xe(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Ee(d.categoryMatches,p=>{Xe(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=$r(t);if(a.length===1&&Qt(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=Vr(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Ee(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aWT([s],1)),n=Vie(r.length),i=qe(r,s=>{let l={};return Ee(s,u=>{let h=xN(u.partialPath);Ee(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=Vie(l.length);for(let u=0;u{let x=xN(v.partialPath);Ee(x,b=>{i[u][b]=!0})})}}}}return n}function tg(t,e,r,n){let i=new XT(t,Gn.ALTERNATION,n);return e.accept(i),qie(i.result,r)}function rg(t,e,r,n){let i=new XT(t,r);e.accept(i);let a=i.result,l=new bN(e,t,r).startWalking(),u=new Sn({definition:a}),h=new Sn({definition:l});return qie([u,h],n)}function KT(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function jie(t){return Ia(t,e=>Ia(e,r=>Ia(r,n=>Qt(n.categoryMatches))))}var Gn,bN,XT,ng=R(()=>{"use strict";Pt();c2();IT();s0();ns();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Gn||(Gn={}));o(u2,"getProdType");o(jT,"getLookaheadPaths");o(Uie,"buildLookaheadFuncForOr");o(Hie,"buildLookaheadFuncForOptionalProd");o(Yie,"buildAlternativesLookAheadFunc");o(Wie,"buildSingleAlternativeLookaheadFunction");bN=class extends Pu{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Gn.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Gn.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Gn.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Gn.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Gn.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},XT=class extends rs{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Gn.OPTION)}visitRepetition(e){this.checkIsTarget(e,Gn.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Gn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Gn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Gn.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Gn.ALTERNATION)}};o(Vie,"initializeArrayOfArrays");o(xN,"pathToHashKeys");o(AIe,"isUniquePrefixHash");o(qie,"lookAheadSequenceFromAlternatives");o(tg,"getLookaheadPathsForOr");o(rg,"getLookaheadPathsForOptionalProd");o(KT,"containsPath");o(Xie,"isStrictPrefixOfPath");o(jie,"areTokenCategoriesNotUsed")});function Kie(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return qe(e,r=>Object.assign({type:Pi.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Qie(t,e,r,n){let i=ga(t,u=>_Ie(u,r)),a=IIe(t,e,r),s=ga(t,u=>RIe(u,r)),l=ga(t,u=>DIe(u,t,n,r));return i.concat(a,s,l)}function _Ie(t,e){let r=new wN;t.accept(r);let n=r.allProductions,i=IL(n,LIe),a=Ls(i,l=>l.length>1);return qe(or(a),l=>{let u=na(l),h=e.buildDuplicateFoundError(t,l),f=Rs(u),d={message:h,type:Pi.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=Zie(u);return p&&(d.parameter=p),d})}function LIe(t){return`${Rs(t)}_#_${t.idx}_#_${Zie(t)}`}function Zie(t){return t instanceof fr?t.terminalType.name:t instanceof Zr?t.nonTerminalName:""}function DIe(t,e,r,n){let i=[];if(Vr(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:Pi.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Jie(t,e,r){let n=[],i;return Fn(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:Pi.INVALID_RULE_OVERRIDE,ruleName:t})),n}function kN(t,e,r,n=[]){let i=[],a=QT(e.definition);if(Qt(a))return[];{let s=t.name;Fn(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:Pi.LEFT_RECURSION,ruleName:s});let u=jh(a,n.concat([t])),h=ga(u,f=>{let d=Qr(n);return d.push(f),kN(t,f,r,d)});return i.concat(h)}}function QT(t){let e=[];if(Qt(t))return e;let r=na(t);if(r instanceof Zr)e.push(r.referencedRule);else if(r instanceof Sn||r instanceof Jr||r instanceof An||r instanceof _n||r instanceof mn||r instanceof br)e=e.concat(QT(r.definition));else if(r instanceof gn)e=$r(qe(r.definition,a=>QT(a.definition)));else if(!(r instanceof fr))throw Error("non exhaustive match");let n=n0(r),i=t.length>1;if(n&&i){let a=fi(t);return e.concat(QT(a))}else return e}function eae(t,e){let r=new h2;t.accept(r);let n=r.alternations;return ga(n,a=>{let s=Ru(a.definition);return ga(s,(l,u)=>{let h=qT([l],[],Bu,1);return Qt(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:Pi.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function tae(t,e,r){let n=new h2;t.accept(n);let i=n.alternations;return i=Kh(i,s=>s.ignoreAmbiguities===!0),ga(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=tg(l,t,u,s),f=NIe(h,s,t,r),d=MIe(h,s,t,r);return f.concat(d)})}function RIe(t,e){let r=new h2;t.accept(r);let n=r.alternations;return ga(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:Pi.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function rae(t,e,r){let n=[];return Ee(t,i=>{let a=new TN;i.accept(a);let s=a.allProductions;Ee(s,l=>{let u=u2(l),h=l.maxLookahead||e,f=l.idx,p=rg(f,i,u,h)[0];if(Qt($r(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:Pi.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function NIe(t,e,r,n){let i=[],a=Vr(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Ee(u,f=>{let d=[h];Ee(t,(p,m)=>{h!==m&&KT(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!KT(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return qe(a,l=>{let u=qe(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:Pi.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function MIe(t,e,r,n){let i=Vr(t,(s,l,u)=>{let h=qe(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return wc(ga(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=Gr(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:Pi.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function IIe(t,e,r){let n=[],i=qe(e,a=>a.name);return Ee(t,a=>{let s=a.name;if(Fn(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:Pi.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var wN,h2,TN,f2=R(()=>{"use strict";Pt();Ns();ns();ng();c2();s0();o(Kie,"validateLookahead");o(Qie,"validateGrammar");o(_Ie,"validateDuplicateProductions");o(LIe,"identifyProductionForDuplicates");o(Zie,"getExtraProductionArgument");wN=class extends rs{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(DIe,"validateRuleDoesNotAlreadyExist");o(Jie,"validateRuleIsOverridden");o(kN,"validateNoLeftRecursion");o(QT,"getFirstNoneTerminal");h2=class extends rs{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(eae,"validateEmptyOrAlternative");o(tae,"validateAmbiguousAlternationAlternatives");TN=class extends rs{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o(RIe,"validateTooManyAlts");o(rae,"validateSomeNonEmptyLookaheadPath");o(NIe,"checkAlternativesAmbiguities");o(MIe,"checkPrefixAlternativesAmbiguities");o(IIe,"checkTerminalAndNoneTerminalsNameSpace")});function nae(t){let e=Xh(t,{errMsgProvider:zie}),r={};return Ee(t.rules,n=>{r[n.name]=n}),$ie(r,e.errMsgProvider)}function iae(t){return t=Xh(t,{errMsgProvider:Ol}),Qie(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var aae=R(()=>{"use strict";Pt();Gie();f2();Jm();o(nae,"resolveGrammar");o(iae,"validateGrammar")});function nf(t){return Fn(uae,t.name)}var sae,oae,lae,cae,uae,ig,c0,d2,p2,m2,ag=R(()=>{"use strict";Pt();sae="MismatchedTokenException",oae="NoViableAltException",lae="EarlyExitException",cae="NotAllInputParsedException",uae=[sae,oae,lae,cae];Object.freeze(uae);o(nf,"isRecognitionException");ig=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},c0=class extends ig{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=sae}},d2=class extends ig{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=oae}},p2=class extends ig{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=cae}},m2=class extends ig{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=lae}}});function OIe(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=fo,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var EN,SN,CN,ZT,AN=R(()=>{"use strict";l0();Pt();ag();aN();Ns();EN={},SN="InRuleRecoveryException",CN=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=SN}},ZT=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Xe(e,"recoveryEnabled")?e.recoveryEnabled:is.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=OIe)}getTokenToInsert(e){let r=o0(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new c0(m,h,this.LA(0));g.resyncedTokens=Ru(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new CN("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Qt(r))return!1;let n=this.LA(1);return Za(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Fn(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Za(e,a=>s2(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return EN;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return qe(e,(n,i)=>i===0?EN:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=qe(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return $r(e)}getFollowSetFromFollowKey(e){if(e===EN)return[fo];let r=e.ruleName+e.idxInCallingRule+OT+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,fo)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Ru(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=Qr(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return qe(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(OIe,"attemptInRepetitionRecovery")});function JT(t,e,r){return r|e|t}var ek=R(()=>{"use strict";o(JT,"getKeyForAutomaticLookahead")});var Gu,_N=R(()=>{"use strict";Pt();Jm();Ns();f2();ng();Gu=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:is.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(Qt(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return ga(e,r=>kN(r,r,Ol))}validateEmptyOrAlternatives(e){return ga(e,r=>eae(r,Ol))}validateAmbiguousAlternationAlternatives(e,r){return ga(e,n=>tae(n,r,Ol))}validateSomeNonEmptyLookaheadPath(e,r){return rae(e,r,Ol)}buildLookaheadForAlternation(e){return Uie(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Yie)}buildLookaheadForOptional(e){return Hie(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,u2(e.prodType),Wie)}}});function PIe(t){tk.reset(),t.accept(tk);let e=tk.dslMethods;return tk.reset(),e}var rk,LN,tk,hae=R(()=>{"use strict";Pt();Ns();ek();ns();_N();rk=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Xe(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:is.dynamicTokensEnabled,this.maxLookahead=Xe(e,"maxLookahead")?e.maxLookahead:is.maxLookahead,this.lookaheadStrategy=Xe(e,"lookaheadStrategy")?e.lookaheadStrategy:new Gu({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Ee(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=PIe(r);Ee(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${Rs(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=JT(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Ee(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,Rs(h))}),Ee(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,Rs(h))}),Ee(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,Rs(h))}),Ee(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,Rs(h))}),Ee(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,Rs(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=JT(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return JT(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},LN=class extends rs{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},tk=new LN;o(PIe,"collectMethods")});function NN(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(NN,"setNodeLocationOnlyOffset");o(MN,"setNodeLocationFull");o(fae,"addTerminalToCst");o(dae,"addNoneTerminalToCst")});function IN(t,e){Object.defineProperty(t,BIe,{enumerable:!1,configurable:!0,writable:!1,value:e})}var BIe,mae=R(()=>{"use strict";BIe="name";o(IN,"defineNameProp")});function FIe(t,e){let r=Dr(t),n=r.length;for(let i=0;is.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` - `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Hne(t,e,r){let n=s(function(){},"derivedConstructor");qR(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return be(e,a=>{i[a]=gMe}),n.prototype=i,n.prototype.constructor=n,n}function yMe(t,e){return vMe(t,e)}function vMe(t,e){let r=Nr(e,i=>fi(t[i])===!1),n=Ge(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:WR.MISSING_METHOD,methodName:i}));return uc(n)}var WR,Yne=_(()=>{"use strict";Tt();qne();s(gMe,"defaultVisit");s(Wne,"createBaseSemanticVisitorConstructor");s(Hne,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(WR||(WR={}));s(yMe,"validateVisitor");s(vMe,"validateMissingCstMethods")});var D6,Xne=_(()=>{"use strict";Une();Tt();Yne();Ss();D6=class{static{s(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Ve(e,"nodeLocationTracking")?e.nodeLocationTracking:Ka.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=zn,this.cstFinallyStateUpdate=zn,this.cstPostTerminal=zn,this.cstPostNonTerminal=zn,this.cstPostRule=zn;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=UR,this.setNodeLocationFromNode=UR,this.cstPostRule=zn,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=VR,this.setNodeLocationFromNode=VR,this.cstPostRule=zn,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=zn,this.setInitialNodeLocation=zn;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Gne(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Vne(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(jt(this.baseCstVisitorConstructor)){let e=Wne(this.className,kr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(jt(this.baseCstVisitorWithDefaultsConstructor)){let e=Hne(this.className,kr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var R6,jne=_(()=>{"use strict";Ss();R6=class{static{s(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):qm}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?qm:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var M6,Kne=_(()=>{"use strict";Tt();Um();Ss();Bm();Xv();ja();M6=class{static{s(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Wm){if(Rn(this.definedRulesNames,e)){let o={message:bl.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Li.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(o)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Wm){let i=Ane(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(Qh(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return r6(nr(this.gastProductionsCache))}}});var I6,Qne=_(()=>{"use strict";Tt();E6();Um();Gm();Wv();Ss();BR();Kd();Xd();I6=class{static{s(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Pm,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Ve(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function yae(t,e,r){let n=o(function(){},"derivedConstructor");IN(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Ee(e,a=>{i[a]=FIe}),n.prototype=i,n.prototype.constructor=n,n}function zIe(t,e){return $Ie(t,e)}function $Ie(t,e){let r=Gr(e,i=>wi(t[i])===!1),n=qe(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:ON.MISSING_METHOD,methodName:i}));return wc(n)}var ON,vae=R(()=>{"use strict";Pt();mae();o(FIe,"defaultVisit");o(gae,"createBaseSemanticVisitorConstructor");o(yae,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(ON||(ON={}));o(zIe,"validateVisitor");o($Ie,"validateMissingCstMethods")});var sk,xae=R(()=>{"use strict";pae();Pt();vae();Ns();sk=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Xe(e,"nodeLocationTracking")?e.nodeLocationTracking:is.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=qn,this.cstFinallyStateUpdate=qn,this.cstPostTerminal=qn,this.cstPostNonTerminal=qn,this.cstPostRule=qn;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=MN,this.setNodeLocationFromNode=MN,this.cstPostRule=qn,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=qn,this.setNodeLocationFromNode=qn,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=NN,this.setNodeLocationFromNode=NN,this.cstPostRule=qn,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=qn,this.setNodeLocationFromNode=qn,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=qn,this.setNodeLocationFromNode=qn,this.cstPostRule=qn,this.setInitialNodeLocation=qn;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];fae(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];dae(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(er(this.baseCstVisitorConstructor)){let e=gae(this.className,Dr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(er(this.baseCstVisitorWithDefaultsConstructor)){let e=yae(this.className,Dr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var ok,bae=R(()=>{"use strict";Ns();ok=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):sg}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?sg:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var lk,wae=R(()=>{"use strict";Pt();ag();Ns();Jm();f2();ns();lk=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=og){if(Fn(this.definedRulesNames,e)){let s={message:Ol.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Pi.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=og){let i=Jie(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(nf(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return NT(or(this.gastProductionsCache))}}});var ck,Tae=R(()=>{"use strict";Pt();ek();ag();ng();c2();Ns();AN();l0();s0();ck=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Zm,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Xe(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 - For Further details.`);if(ct(e)){if(Vt(e))throw Error(`A Token Vocabulary cannot be empty. + For Further details.`);if(wt(e)){if(Qt(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if(ct(e))this.tokensMap=Or(e,(a,o)=>(a[o.name]=o,a),{});else if(Ve(e,"modes")&&Ca(Ir(nr(e.modes)),ane)){let a=Ir(nr(e.modes)),o=bm(a);this.tokensMap=Or(o,(l,u)=>(l[u.name]=u,l),{})}else if(on(e))this.tokensMap=Hr(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=io;let n=Ve(e,"modes")?Ir(nr(e.modes)):nr(e),i=Ca(n,a=>Vt(a.categoryMatches));this.tokenMatcher=i?Pm:Au,Lu(nr(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Ve(n,"resyncEnabled")?n.resyncEnabled:Wm.resyncEnabled,a=Ve(n,"recoveryValueFunc")?n.recoveryValueFunc:Wm.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=s(function(...f){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=s(function(...f){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Qh(e)){let o=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let o=r.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let o=this.doSingleRepetition(a);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Nn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,m6)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,qv],l,1536,e,qv)}else throw this.raiseEarlyExitException(e,Nn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=s(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,p6,o)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,Uv],l,1280,e,Uv)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=ct(e)?e:e.DEF,o=this.getLaFuncFromCache(n).call(this,i);if(o!==void 0)return i[o].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Kv(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw Qh(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Qd(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===PR?n:a}}else throw n}saveRecogState(){let e=this.errors,r=Hr(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),io)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var N6,Zne=_(()=>{"use strict";Um();Tt();Gm();Ss();N6=class{static{s(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Ve(e,"errorMessageProvider")?e.errorMessageProvider:Ka.errorMessageProvider}SAVE_ERROR(e){if(Qh(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Hr(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Hr(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=$m(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new Qv(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=zm(e,i,this.maxLookahead),o=[];for(let h=1;h<=this.maxLookahead;h++)o.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new jv(u,this.LA(1),l))}}});var O6,Jne=_(()=>{"use strict";Wv();Tt();O6=class{static{s(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(jt(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return y6([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=Yi(e.ruleStack),i=this.getGAstProductions()[r];return new d6(i,e).startWalking()}}});function Jv(t,e,r,n=!1){B6(r);let i=sa(this.recordingProdStack),a=fi(e)?e:e.DEF,o=new t({definition:[],idx:r});return n&&(o.separator=e.SEP),Ve(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),F6}function kMe(t,e){B6(e);let r=sa(this.recordingProdStack),n=ct(t)===!1,i=n===!1?t:t.DEF,a=new cn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Ve(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let o=pv(i,l=>fi(l.GATE));return a.hasPredicates=o,r.definition.push(a),be(i,l=>{let u=new vn({definition:[]});a.definition.push(u),Ve(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Ve(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),F6}function rie(t){return t===0?"":`${t}`}function B6(t){if(t<0||t>tie){let e=new Error(`Invalid DSL Method idx value: <${t}> - Idx value must be a none negative value smaller than ${tie+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var F6,eie,tie,nie,iie,bMe,P6,aie=_(()=>{"use strict";Tt();ja();$v();Xd();Kd();Ss();E6();F6={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(F6);eie=!0,tie=Math.pow(2,8)-1,nie=f6({name:"RECORDING_PHASE_TOKEN",pattern:jn.NA});Lu([nie]);iie=jd(nie,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(iie);bMe={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},P6=class{static{s(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return qm}topLevelRuleRecord(e,r){try{let n=new Ya({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if(wt(e))this.tokensMap=Vr(e,(a,s)=>(a[s.name]=s,a),{});else if(Xe(e,"modes")&&Ia($r(or(e.modes)),Die)){let a=$r(or(e.modes)),s=Pm(a);this.tokensMap=Vr(s,(l,u)=>(l[u.name]=u,l),{})}else if(pn(e))this.tokensMap=Qr(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=fo;let n=Xe(e,"modes")?$r(or(e.modes)):or(e),i=Ia(n,a=>Qt(a.categoryMatches));this.tokenMatcher=i?Zm:Bu,Fu(or(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Xe(n,"resyncEnabled")?n.resyncEnabled:og.resyncEnabled,a=Xe(n,"recoveryValueFunc")?n.recoveryValueFunc:og.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(nf(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Gn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,YT)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,l2],l,1536,e,l2)}else throw this.raiseEarlyExitException(e,Gn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,HT,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,o2],l,1280,e,o2)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=wt(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new p2(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw nf(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new c0(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===SN?n:a}}else throw n}saveRecogState(){let e=this.errors,r=Qr(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),fo)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var uk,kae=R(()=>{"use strict";ag();Pt();ng();Ns();uk=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Xe(e,"errorMessageProvider")?e.errorMessageProvider:is.errorMessageProvider}SAVE_ERROR(e){if(nf(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Qr(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Qr(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=rg(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new m2(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=tg(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new d2(u,this.LA(1),l))}}});var hk,Eae=R(()=>{"use strict";c2();Pt();hk=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(er(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return qT([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=na(e.ruleStack),i=this.getGAstProductions()[r];return new UT(i,e).startWalking()}}});function y2(t,e,r,n=!1){dk(r);let i=ma(this.recordingProdStack),a=wi(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Xe(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),pk}function UIe(t,e){dk(e);let r=ma(this.recordingProdStack),n=wt(t)===!1,i=n===!1?t:t.DEF,a=new gn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Xe(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=Nv(i,l=>wi(l.GATE));return a.hasPredicates=s,r.definition.push(a),Ee(i,l=>{let u=new Sn({definition:[]});a.definition.push(u),Xe(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Xe(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),pk}function Aae(t){return t===0?"":`${t}`}function dk(t){if(t<0||t>Sae){let e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${Sae+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var pk,Cae,Sae,_ae,Lae,VIe,fk,Dae=R(()=>{"use strict";Pt();ns();i2();s0();l0();Ns();ek();pk={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(pk);Cae=!0,Sae=Math.pow(2,8)-1,_ae=VT({name:"RECORDING_PHASE_TOKEN",pattern:ni.NA});Fu([_ae]);Lae=o0(_ae,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Lae);VIe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},fk=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return sg}topLevelRuleRecord(e,r){try{let n=new ts({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Jv.call(this,Xr,e,r)}atLeastOneInternalRecord(e,r){Jv.call(this,xn,r,e)}atLeastOneSepFirstInternalRecord(e,r){Jv.call(this,bn,r,e,eie)}manyInternalRecord(e,r){Jv.call(this,mr,r,e)}manySepFirstInternalRecord(e,r){Jv.call(this,ln,r,e,eie)}orInternalRecord(e,r){return kMe.call(this,e,r)}subruleInternalRecord(e,r,n){if(B6(r),!e||Ve(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=sa(this.recordingProdStack),a=e.ruleName,o=new Yr({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?bMe:F6}consumeInternalRecord(e,r,n){if(B6(r),!TR(e)){let o=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> - inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=sa(this.recordingProdStack),a=new sr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),iie}};s(Jv,"recordProd");s(kMe,"recordOrProd");s(rie,"getIdxSuffix");s(B6,"assertMethodIdxIsValid")});var z6,sie=_(()=>{"use strict";Tt();Rm();Ss();z6=class{static{s(this,"PerformanceTracer")}initPerformanceTracer(e){if(Ve(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Ka.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=Bv(r),o=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function oie(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var lie=_(()=>{"use strict";s(oie,"applyMixins")});function $6(t=void 0){return function(){return t}}var qm,Ka,Wm,Li,e2,t2,Ss=_(()=>{"use strict";Tt();Rm();Fre();Kd();Bm();Nne();BR();$ne();Xne();jne();Kne();Qne();Zne();Jne();aie();sie();lie();Xv();qm=jd(io,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(qm);Ka=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ru,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Wm=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Li||(Li={}));s($6,"EMPTY_ALT");e2=class t{static{s(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{Fv(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),be(this.definedRulesNames,i=>{let o=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Mne({rules:nr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Vt(n)&&this.skipValidations===!1){let i=Ine({rules:nr(this.gastProductionsCache),tokenTypes:nr(this.tokensMap),errMsgProvider:bl,grammarName:r}),a=Cne({lookaheadStrategy:this.lookaheadStrategy,rules:nr(this.gastProductionsCache),tokenTypes:nr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Vt(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=Bre(nr(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:nr(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(nr(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!Vt(this.definitionErrors))throw e=Ge(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return y2.call(this,Jr,e,r)}atLeastOneInternalRecord(e,r){y2.call(this,An,r,e)}atLeastOneSepFirstInternalRecord(e,r){y2.call(this,_n,r,e,Cae)}manyInternalRecord(e,r){y2.call(this,br,r,e)}manySepFirstInternalRecord(e,r){y2.call(this,mn,r,e,Cae)}orInternalRecord(e,r){return UIe.call(this,e,r)}subruleInternalRecord(e,r,n){if(dk(r),!e||Xe(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=ma(this.recordingProdStack),a=e.ruleName,s=new Zr({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?VIe:pk}consumeInternalRecord(e,r,n){if(dk(r),!dN(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=ma(this.recordingProdStack),a=new fr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),Lae}};o(y2,"recordProd");o(UIe,"recordOrProd");o(Aae,"getIdxSuffix");o(dk,"assertMethodIdxIsValid")});var mk,Rae=R(()=>{"use strict";Pt();qm();Ns();mk=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Xe(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=is.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=t2(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function Nae(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var Mae=R(()=>{"use strict";o(Nae,"applyMixins")});function gk(t=void 0){return function(){return t}}var sg,is,og,Pi,v2,x2,Ns=R(()=>{"use strict";Pt();qm();cie();l0();Jm();aae();AN();hae();xae();bae();wae();Tae();kae();Eae();Dae();Rae();Mae();f2();sg=o0(fo,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(sg);is=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:$u,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),og=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Pi||(Pi={}));o(gk,"EMPTY_ALT");v2=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{r2(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Ee(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=nae({rules:or(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Qt(n)&&this.skipValidations===!1){let i=iae({rules:or(this.gastProductionsCache),tokenTypes:or(this.tokensMap),errMsgProvider:Ol,grammarName:r}),a=Kie({lookaheadStrategy:this.lookaheadStrategy,rules:or(this.gastProductionsCache),tokenTypes:or(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Qt(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=lie(or(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:or(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(or(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!Qt(this.definitionErrors))throw e=qe(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- -`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Ve(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. +`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Xe(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=Ve(r,"skipValidations")?r.skipValidations:Ka.skipValidations}};e2.DEFER_DEFINITION_ERRORS_HANDLING=!1;oie(e2,[w6,S6,D6,R6,I6,M6,N6,O6,P6,z6]);t2=class extends e2{static{s(this,"EmbeddedActionsParser")}constructor(e,r=Ka){let n=Hr(r);n.outputCst=!1,super(e,n)}}});var cie=_(()=>{"use strict";ja()});var uie=_(()=>{"use strict"});var hie=_(()=>{"use strict";cie();uie()});var fie=_(()=>{"use strict";hR()});var Zd=_(()=>{"use strict";hR();Ss();$v();Kd();Gm();FR();Bm();Um();CR();ja();ja();hie();fie()});function Jd(t,e,r){return`${t.name}_${e}_${r}`}function gie(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};AMe(e,t);let r=t.length;for(let n=0;nyie(t,e,o));return jm(t,e,n,r,...i)}function NMe(t,e,r){let n=Xi(t,e,r,{type:Zh});Jh(t,n);let i=jm(t,e,n,r,e0(t,e,r));return OMe(t,e,r,i)}function e0(t,e,r){let n=Nr(Ge(r.definition,i=>yie(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:BMe(t,n)}function vie(t,e,r,n,i){let a=n.left,o=n.right,l=Xi(t,e,r,{type:_Me});Jh(t,l);let u=Xi(t,e,r,{type:mie});return a.loopback=l,u.loopback=l,t.decisionMap[Jd(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,mi(o,l),i===void 0?(mi(l,a),mi(l,u)):(mi(l,u),mi(l,i.left),mi(i.right,a)),{left:a,right:u}}function xie(t,e,r,n,i){let a=n.left,o=n.right,l=Xi(t,e,r,{type:SMe});Jh(t,l);let u=Xi(t,e,r,{type:mie}),h=Xi(t,e,r,{type:CMe});return l.loopback=h,u.loopback=h,mi(l,a),mi(l,u),mi(o,h),i!==void 0?(mi(h,u),mi(h,i.left),mi(i.right,a)):mi(h,l),t.decisionMap[Jd(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function OMe(t,e,r,n){let i=n.left,a=n.right;return mi(i,a),t.decisionMap[Jd(e,"Option",r.idx)]=i,n}function Jh(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function jm(t,e,r,n,...i){let a=Xi(t,e,n,{type:EMe,start:r});r.end=a;for(let l of i)l!==void 0?(mi(r,l.left),mi(l.right,a)):mi(r,a);let o={left:r,right:a};return t.decisionMap[Jd(e,PMe(n),n.idx)]=r,o}function PMe(t){if(t instanceof cn)return"Alternation";if(t instanceof Xr)return"Option";if(t instanceof mr)return"Repetition";if(t instanceof ln)return"RepetitionWithSeparator";if(t instanceof xn)return"RepetitionMandatory";if(t instanceof bn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function BMe(t,e){let r=e.length;for(let a=0;a{"use strict";ym();z9();Zd();s(Jd,"buildATNKey");Zh=1,TMe=2,die=4,pie=5,Xm=7,EMe=8,CMe=9,SMe=10,_Me=11,mie=12,r2=class{static{s(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Hm=class extends r2{static{s(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},n2=class extends r2{static{s(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},Ym=class extends r2{static{s(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};s(gie,"createATN");s(AMe,"createRuleStartAndStopATNStates");s(yie,"atom");s(LMe,"repetition");s(DMe,"repetitionSep");s(RMe,"repetitionMandatory");s(MMe,"repetitionMandatorySep");s(IMe,"alternation");s(NMe,"option");s(e0,"block");s(vie,"plus");s(xie,"star");s(OMe,"optional");s(Jh,"defineDecisionState");s(jm,"makeAlts");s(PMe,"getProdType");s(BMe,"makeBlock");s(YR,"tokenRef");s(FMe,"ruleRef");s(zMe,"buildRuleHandle");s(mi,"epsilon");s(Xi,"newState");s(XR,"addTransition");s($Me,"removeState")});function jR(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var i2,Km,kie=_(()=>{"use strict";ym();i2={},Km=class{static{s(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=jR(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Ge(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};s(jR,"getATNConfigKey")});function GMe(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function Tie(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let o=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of o)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function VMe(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nDu(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${YMe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, + For further details.`);this.skipValidations=Xe(r,"skipValidations")?r.skipValidations:is.skipValidations}};v2.DEFER_DEFINITION_ERRORS_HANDLING=!1;Nae(v2,[ZT,rk,sk,ok,ck,lk,uk,hk,fk,mk]);x2=class extends v2{static{o(this,"EmbeddedActionsParser")}constructor(e,r=is){let n=Qr(r);n.outputCst=!1,super(e,n)}}});var Iae=R(()=>{"use strict";ns()});var Oae=R(()=>{"use strict"});var Pae=R(()=>{"use strict";Iae();Oae()});var Bae=R(()=>{"use strict";tN()});var u0=R(()=>{"use strict";tN();Ns();i2();l0();ng();_N();Jm();ag();mN();ns();ns();Pae();Bae()});function h0(t,e,r){return`${t.name}_${e}_${r}`}function Gae(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};KIe(e,t);let r=t.length;for(let n=0;nVae(t,e,s));return hg(t,e,n,r,...i)}function rOe(t,e,r){let n=ia(t,e,r,{type:af});sf(t,n);let i=hg(t,e,n,r,f0(t,e,r));return nOe(t,e,r,i)}function f0(t,e,r){let n=Gr(qe(r.definition,i=>Vae(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:aOe(t,n)}function Uae(t,e,r,n,i){let a=n.left,s=n.right,l=ia(t,e,r,{type:jIe});sf(t,l);let u=ia(t,e,r,{type:$ae});return a.loopback=l,u.loopback=l,t.decisionMap[h0(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,Ei(s,l),i===void 0?(Ei(l,a),Ei(l,u)):(Ei(l,u),Ei(l,i.left),Ei(i.right,a)),{left:a,right:u}}function Hae(t,e,r,n,i){let a=n.left,s=n.right,l=ia(t,e,r,{type:XIe});sf(t,l);let u=ia(t,e,r,{type:$ae}),h=ia(t,e,r,{type:qIe});return l.loopback=h,u.loopback=h,Ei(l,a),Ei(l,u),Ei(s,h),i!==void 0?(Ei(h,u),Ei(h,i.left),Ei(i.right,a)):Ei(h,l),t.decisionMap[h0(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function nOe(t,e,r,n){let i=n.left,a=n.right;return Ei(i,a),t.decisionMap[h0(e,"Option",r.idx)]=i,n}function sf(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function hg(t,e,r,n,...i){let a=ia(t,e,n,{type:WIe,start:r});r.end=a;for(let l of i)l!==void 0?(Ei(r,l.left),Ei(l.right,a)):Ei(r,a);let s={left:r,right:a};return t.decisionMap[h0(e,iOe(n),n.idx)]=r,s}function iOe(t){if(t instanceof gn)return"Alternation";if(t instanceof Jr)return"Option";if(t instanceof br)return"Repetition";if(t instanceof mn)return"RepetitionWithSeparator";if(t instanceof An)return"RepetitionMandatory";if(t instanceof _n)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function aOe(t,e){let r=e.length;for(let a=0;a{"use strict";Mm();LL();u0();o(h0,"buildATNKey");af=1,YIe=2,Fae=4,zae=5,ug=7,WIe=8,qIe=9,XIe=10,jIe=11,$ae=12,b2=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},lg=class extends b2{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},w2=class extends b2{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},cg=class extends b2{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(Gae,"createATN");o(KIe,"createRuleStartAndStopATNStates");o(Vae,"atom");o(QIe,"repetition");o(ZIe,"repetitionSep");o(JIe,"repetitionMandatory");o(eOe,"repetitionMandatorySep");o(tOe,"alternation");o(rOe,"option");o(f0,"block");o(Uae,"plus");o(Hae,"star");o(nOe,"optional");o(sf,"defineDecisionState");o(hg,"makeAlts");o(iOe,"getProdType");o(aOe,"makeBlock");o(BN,"tokenRef");o(sOe,"ruleRef");o(oOe,"buildRuleHandle");o(Ei,"epsilon");o(ia,"newState");o(FN,"addTransition");o(lOe,"removeState")});function zN(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var T2,fg,Wae=R(()=>{"use strict";Mm();T2={},fg=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=zN(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return qe(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(zN,"getATNConfigKey")});function cOe(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function Xae(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function uOe(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nzu(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${mOe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,n}function YMe(t){if(t instanceof Yr)return"SUBRULE";if(t instanceof Xr)return"OPTION";if(t instanceof cn)return"OR";if(t instanceof xn)return"AT_LEAST_ONE";if(t instanceof bn)return"AT_LEAST_ONE_SEP";if(t instanceof ln)return"MANY_SEP";if(t instanceof mr)return"MANY";if(t instanceof sr)return"CONSUME";throw Error("non exhaustive match")}function XMe(t,e,r){let n=oa(e.configs.elements,a=>a.state.transitions),i=IJ(n.filter(a=>a instanceof Hm).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function jMe(t,e){return t.edges[e.tokenTypeIdx]}function KMe(t,e,r){let n=new Km,i=[];for(let o of t.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===Xm){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u0&&!tIe(a))for(let o of i)a.add(o);return a}function QMe(t,e){if(t instanceof Hm&&Vv(e,t.tokenType))return t.target}function ZMe(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Cie(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Eie(t,e,r,n){return n=Sie(t,n),e.edges[r.tokenTypeIdx]=n,n}function Sie(t,e){if(e===i2)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function JMe(t){let e=new Km,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};V6(o,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function sIe(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var G6,wie,a2,_ie=_(()=>{"use strict";Zd();bie();kie();Y9();G9();NJ();ym();O5();uk();mk();Q9();s(GMe,"createDFACache");G6=class{static{s(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n)}initialize(e){this.atn=gie(e.rules),this.dfas=VMe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,o=this.dfas,l=this.logging,u=Jd(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=Ge(x6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>Ge(p,m=>m[0]));if(Tie(d,!1)&&!a){let p=Or(d,(m,g,y)=>(be(g,v=>{v&&(m[v.tokenTypeIdx]=y,be(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new G6,g=p===void 0?0:p.length;for(let v=0;vGe(p,m=>m[0]));if(Tie(d)&&d[0][0]&&!a){let p=d[0],m=Ir(p);if(m.length===1&&Vt(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=Or(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,be(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=KR.call(this,o,f,wie,l);return typeof p=="object"?!1:p===0}}};s(Tie,"isLL1Sequence");s(VMe,"initATNSimulator");s(KR,"adaptivePredict");s(UMe,"performLookahead");s(qMe,"computeLookaheadTarget");s(WMe,"reportLookaheadAmbiguity");s(HMe,"buildAmbiguityError");s(YMe,"getProductionDslName");s(XMe,"buildAdaptivePredictError");s(jMe,"getExistingTargetState");s(KMe,"computeReachSet");s(QMe,"getReachableTarget");s(ZMe,"getUniqueAlt");s(Cie,"newDFAState");s(Eie,"addDFAEdge");s(Sie,"addDFAState");s(JMe,"computeStartState");s(V6,"closure");s(eIe,"getEpsilonTarget");s(tIe,"hasConfigInRuleStopState");s(rIe,"allConfigsInRuleStopStates");s(nIe,"hasConflictTerminatingPrediction");s(iIe,"getConflictingAltSets");s(aIe,"hasConflictingAltSet");s(sIe,"hasStateAssociatedWithOneAlt")});var Aie=_(()=>{"use strict";_ie()});var Lie,QR,Die,U6,Pr,gr,q6,Rie,ZR,Mie,Iie,Nie,Oie,JR,Pie,Bie,Fie,W6,Qm,Zm,eM,Jm,zie,tM,rM,nM,iM,aM,$ie,Gie,sM,Vie,oM,s2,Uie,qie,Wie,Hie,Yie,Xie,jie,Kie,H6,Qie,Zie,Jie,eae,tae,rae,nae,iae,aae,sae,oae,Y6,lae,cae,uae,hae,fae,dae,pae,mae,gae,yae,vae,xae,bae,lM,cM,kae,wae,Tae,Eae,Cae,Sae,_ae,Aae,Lae,uM,Le,hM=_(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}s(e,"is"),t.is=e})(Lie||(Lie={}));(function(t){function e(r){return typeof r=="string"}s(e,"is"),t.is=e})(QR||(QR={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}s(e,"is"),t.is=e})(Die||(Die={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}s(e,"is"),t.is=e})(U6||(U6={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=U6.MAX_VALUE),i===Number.MAX_VALUE&&(i=U6.MAX_VALUE),{line:n,character:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.uinteger(i.line)&&Le.uinteger(i.character)}s(r,"is"),t.is=r})(Pr||(Pr={}));(function(t){function e(n,i,a,o){if(Le.uinteger(n)&&Le.uinteger(i)&&Le.uinteger(a)&&Le.uinteger(o))return{start:Pr.create(n,i),end:Pr.create(a,o)};if(Pr.is(n)&&Pr.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${o}]`)}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Pr.is(i.start)&&Pr.is(i.end)}s(r,"is"),t.is=r})(gr||(gr={}));(function(t){function e(n,i){return{uri:n,range:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.range)&&(Le.string(i.uri)||Le.undefined(i.uri))}s(r,"is"),t.is=r})(q6||(q6={}));(function(t){function e(n,i,a,o){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:o}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.targetRange)&&Le.string(i.targetUri)&&gr.is(i.targetSelectionRange)&&(gr.is(i.originSelectionRange)||Le.undefined(i.originSelectionRange))}s(r,"is"),t.is=r})(Rie||(Rie={}));(function(t){function e(n,i,a,o){return{red:n,green:i,blue:a,alpha:o}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.numberRange(i.red,0,1)&&Le.numberRange(i.green,0,1)&&Le.numberRange(i.blue,0,1)&&Le.numberRange(i.alpha,0,1)}s(r,"is"),t.is=r})(ZR||(ZR={}));(function(t){function e(n,i){return{range:n,color:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.range)&&ZR.is(i.color)}s(r,"is"),t.is=r})(Mie||(Mie={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.string(i.label)&&(Le.undefined(i.textEdit)||Zm.is(i))&&(Le.undefined(i.additionalTextEdits)||Le.typedArray(i.additionalTextEdits,Zm.is))}s(r,"is"),t.is=r})(Iie||(Iie={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Nie||(Nie={}));(function(t){function e(n,i,a,o,l,u){let h={startLine:n,endLine:i};return Le.defined(a)&&(h.startCharacter=a),Le.defined(o)&&(h.endCharacter=o),Le.defined(l)&&(h.kind=l),Le.defined(u)&&(h.collapsedText=u),h}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.uinteger(i.startLine)&&Le.uinteger(i.startLine)&&(Le.undefined(i.startCharacter)||Le.uinteger(i.startCharacter))&&(Le.undefined(i.endCharacter)||Le.uinteger(i.endCharacter))&&(Le.undefined(i.kind)||Le.string(i.kind))}s(r,"is"),t.is=r})(Oie||(Oie={}));(function(t){function e(n,i){return{location:n,message:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&q6.is(i.location)&&Le.string(i.message)}s(r,"is"),t.is=r})(JR||(JR={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Pie||(Pie={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(Bie||(Bie={}));(function(t){function e(r){let n=r;return Le.objectLiteral(n)&&Le.string(n.href)}s(e,"is"),t.is=e})(Fie||(Fie={}));(function(t){function e(n,i,a,o,l,u){let h={range:n,message:i};return Le.defined(a)&&(h.severity=a),Le.defined(o)&&(h.code=o),Le.defined(l)&&(h.source=l),Le.defined(u)&&(h.relatedInformation=u),h}s(e,"create"),t.create=e;function r(n){var i;let a=n;return Le.defined(a)&&gr.is(a.range)&&Le.string(a.message)&&(Le.number(a.severity)||Le.undefined(a.severity))&&(Le.integer(a.code)||Le.string(a.code)||Le.undefined(a.code))&&(Le.undefined(a.codeDescription)||Le.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(Le.string(a.source)||Le.undefined(a.source))&&(Le.undefined(a.relatedInformation)||Le.typedArray(a.relatedInformation,JR.is))}s(r,"is"),t.is=r})(W6||(W6={}));(function(t){function e(n,i,...a){let o={title:n,command:i};return Le.defined(a)&&a.length>0&&(o.arguments=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.title)&&Le.string(i.command)}s(r,"is"),t.is=r})(Qm||(Qm={}));(function(t){function e(a,o){return{range:a,newText:o}}s(e,"replace"),t.replace=e;function r(a,o){return{range:{start:a,end:a},newText:o}}s(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}s(n,"del"),t.del=n;function i(a){let o=a;return Le.objectLiteral(o)&&Le.string(o.newText)&&gr.is(o.range)}s(i,"is"),t.is=i})(Zm||(Zm={}));(function(t){function e(n,i,a){let o={label:n};return i!==void 0&&(o.needsConfirmation=i),a!==void 0&&(o.description=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Le.string(i.label)&&(Le.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Le.string(i.description)||i.description===void 0)}s(r,"is"),t.is=r})(eM||(eM={}));(function(t){function e(r){let n=r;return Le.string(n)}s(e,"is"),t.is=e})(Jm||(Jm={}));(function(t){function e(a,o,l){return{range:a,newText:o,annotationId:l}}s(e,"replace"),t.replace=e;function r(a,o,l){return{range:{start:a,end:a},newText:o,annotationId:l}}s(r,"insert"),t.insert=r;function n(a,o){return{range:a,newText:"",annotationId:o}}s(n,"del"),t.del=n;function i(a){let o=a;return Zm.is(o)&&(eM.is(o.annotationId)||Jm.is(o.annotationId))}s(i,"is"),t.is=i})(zie||(zie={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&sM.is(i.textDocument)&&Array.isArray(i.edits)}s(r,"is"),t.is=r})(tM||(tM={}));(function(t){function e(n,i,a){let o={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&Le.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Le.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Le.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Jm.is(i.annotationId))}s(r,"is"),t.is=r})(rM||(rM={}));(function(t){function e(n,i,a,o){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),o!==void 0&&(l.annotationId=o),l}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&Le.string(i.oldUri)&&Le.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Le.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Le.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Jm.is(i.annotationId))}s(r,"is"),t.is=r})(nM||(nM={}));(function(t){function e(n,i,a){let o={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),a!==void 0&&(o.annotationId=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&Le.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Le.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Le.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Jm.is(i.annotationId))}s(r,"is"),t.is=r})(iM||(iM={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>Le.string(i.kind)?rM.is(i)||nM.is(i)||iM.is(i):tM.is(i)))}s(e,"is"),t.is=e})(aM||(aM={}));(function(t){function e(n){return{uri:n}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)}s(r,"is"),t.is=r})($ie||($ie={}));(function(t){function e(n,i){return{uri:n,version:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)&&Le.integer(i.version)}s(r,"is"),t.is=r})(Gie||(Gie={}));(function(t){function e(n,i){return{uri:n,version:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)&&(i.version===null||Le.integer(i.version))}s(r,"is"),t.is=r})(sM||(sM={}));(function(t){function e(n,i,a,o){return{uri:n,languageId:i,version:a,text:o}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.string(i.uri)&&Le.string(i.languageId)&&Le.integer(i.version)&&Le.string(i.text)}s(r,"is"),t.is=r})(Vie||(Vie={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}s(e,"is"),t.is=e})(oM||(oM={}));(function(t){function e(r){let n=r;return Le.objectLiteral(r)&&oM.is(n.kind)&&Le.string(n.value)}s(e,"is"),t.is=e})(s2||(s2={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Uie||(Uie={}));(function(t){t.PlainText=1,t.Snippet=2})(qie||(qie={}));(function(t){t.Deprecated=1})(Wie||(Wie={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}s(e,"create"),t.create=e;function r(n){let i=n;return i&&Le.string(i.newText)&&gr.is(i.insert)&&gr.is(i.replace)}s(r,"is"),t.is=r})(Hie||(Hie={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Yie||(Yie={}));(function(t){function e(r){let n=r;return n&&(Le.string(n.detail)||n.detail===void 0)&&(Le.string(n.description)||n.description===void 0)}s(e,"is"),t.is=e})(Xie||(Xie={}));(function(t){function e(r){return{label:r}}s(e,"create"),t.create=e})(jie||(jie={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}s(e,"create"),t.create=e})(Kie||(Kie={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}s(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return Le.string(i)||Le.objectLiteral(i)&&Le.string(i.language)&&Le.string(i.value)}s(r,"is"),t.is=r})(H6||(H6={}));(function(t){function e(r){let n=r;return!!n&&Le.objectLiteral(n)&&(s2.is(n.contents)||H6.is(n.contents)||Le.typedArray(n.contents,H6.is))&&(r.range===void 0||gr.is(r.range))}s(e,"is"),t.is=e})(Qie||(Qie={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}s(e,"create"),t.create=e})(Zie||(Zie={}));(function(t){function e(r,n,...i){let a={label:r};return Le.defined(n)&&(a.documentation=n),Le.defined(i)?a.parameters=i:a.parameters=[],a}s(e,"create"),t.create=e})(Jie||(Jie={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(eae||(eae={}));(function(t){function e(r,n){let i={range:r};return Le.number(n)&&(i.kind=n),i}s(e,"create"),t.create=e})(tae||(tae={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(rae||(rae={}));(function(t){t.Deprecated=1})(nae||(nae={}));(function(t){function e(r,n,i,a,o){let l={name:r,kind:n,location:{uri:a,range:i}};return o&&(l.containerName=o),l}s(e,"create"),t.create=e})(iae||(iae={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}s(e,"create"),t.create=e})(aae||(aae={}));(function(t){function e(n,i,a,o,l,u){let h={name:n,detail:i,kind:a,range:o,selectionRange:l};return u!==void 0&&(h.children=u),h}s(e,"create"),t.create=e;function r(n){let i=n;return i&&Le.string(i.name)&&Le.number(i.kind)&&gr.is(i.range)&&gr.is(i.selectionRange)&&(i.detail===void 0||Le.string(i.detail))&&(i.deprecated===void 0||Le.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}s(r,"is"),t.is=r})(sae||(sae={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(oae||(oae={}));(function(t){t.Invoked=1,t.Automatic=2})(Y6||(Y6={}));(function(t){function e(n,i,a){let o={diagnostics:n};return i!=null&&(o.only=i),a!=null&&(o.triggerKind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.typedArray(i.diagnostics,W6.is)&&(i.only===void 0||Le.typedArray(i.only,Le.string))&&(i.triggerKind===void 0||i.triggerKind===Y6.Invoked||i.triggerKind===Y6.Automatic)}s(r,"is"),t.is=r})(lae||(lae={}));(function(t){function e(n,i,a){let o={title:n},l=!0;return typeof i=="string"?(l=!1,o.kind=i):Qm.is(i)?o.command=i:o.edit=i,l&&a!==void 0&&(o.kind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return i&&Le.string(i.title)&&(i.diagnostics===void 0||Le.typedArray(i.diagnostics,W6.is))&&(i.kind===void 0||Le.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Qm.is(i.command))&&(i.isPreferred===void 0||Le.boolean(i.isPreferred))&&(i.edit===void 0||aM.is(i.edit))}s(r,"is"),t.is=r})(cae||(cae={}));(function(t){function e(n,i){let a={range:n};return Le.defined(i)&&(a.data=i),a}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&gr.is(i.range)&&(Le.undefined(i.command)||Qm.is(i.command))}s(r,"is"),t.is=r})(uae||(uae={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&Le.uinteger(i.tabSize)&&Le.boolean(i.insertSpaces)}s(r,"is"),t.is=r})(hae||(hae={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&gr.is(i.range)&&(Le.undefined(i.target)||Le.string(i.target))}s(r,"is"),t.is=r})(fae||(fae={}));(function(t){function e(n,i){return{range:n,parent:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&gr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}s(r,"is"),t.is=r})(dae||(dae={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(pae||(pae={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(mae||(mae={}));(function(t){function e(r){let n=r;return Le.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}s(e,"is"),t.is=e})(gae||(gae={}));(function(t){function e(n,i){return{range:n,text:i}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&gr.is(i.range)&&Le.string(i.text)}s(r,"is"),t.is=r})(yae||(yae={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&gr.is(i.range)&&Le.boolean(i.caseSensitiveLookup)&&(Le.string(i.variableName)||i.variableName===void 0)}s(r,"is"),t.is=r})(vae||(vae={}));(function(t){function e(n,i){return{range:n,expression:i}}s(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&gr.is(i.range)&&(Le.string(i.expression)||i.expression===void 0)}s(r,"is"),t.is=r})(xae||(xae={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.defined(i)&&gr.is(n.stoppedLocation)}s(r,"is"),t.is=r})(bae||(bae={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}s(e,"is"),t.is=e})(lM||(lM={}));(function(t){function e(n){return{value:n}}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&(i.tooltip===void 0||Le.string(i.tooltip)||s2.is(i.tooltip))&&(i.location===void 0||q6.is(i.location))&&(i.command===void 0||Qm.is(i.command))}s(r,"is"),t.is=r})(cM||(cM={}));(function(t){function e(n,i,a){let o={position:n,label:i};return a!==void 0&&(o.kind=a),o}s(e,"create"),t.create=e;function r(n){let i=n;return Le.objectLiteral(i)&&Pr.is(i.position)&&(Le.string(i.label)||Le.typedArray(i.label,cM.is))&&(i.kind===void 0||lM.is(i.kind))&&i.textEdits===void 0||Le.typedArray(i.textEdits,Zm.is)&&(i.tooltip===void 0||Le.string(i.tooltip)||s2.is(i.tooltip))&&(i.paddingLeft===void 0||Le.boolean(i.paddingLeft))&&(i.paddingRight===void 0||Le.boolean(i.paddingRight))}s(r,"is"),t.is=r})(kae||(kae={}));(function(t){function e(r){return{kind:"snippet",value:r}}s(e,"createSnippet"),t.createSnippet=e})(wae||(wae={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}s(e,"create"),t.create=e})(Tae||(Tae={}));(function(t){function e(r){return{items:r}}s(e,"create"),t.create=e})(Eae||(Eae={}));(function(t){t.Invoked=0,t.Automatic=1})(Cae||(Cae={}));(function(t){function e(r,n){return{range:r,text:n}}s(e,"create"),t.create=e})(Sae||(Sae={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}s(e,"create"),t.create=e})(_ae||(_ae={}));(function(t){function e(r){let n=r;return Le.objectLiteral(n)&&QR.is(n.uri)&&Le.string(n.name)}s(e,"is"),t.is=e})(Aae||(Aae={}));(function(t){function e(a,o,l,u){return new uM(a,o,l,u)}s(e,"create"),t.create=e;function r(a){let o=a;return!!(Le.defined(o)&&Le.string(o.uri)&&(Le.undefined(o.languageId)||Le.string(o.languageId))&&Le.uinteger(o.lineCount)&&Le.func(o.getText)&&Le.func(o.positionAt)&&Le.func(o.offsetAt))}s(r,"is"),t.is=r;function n(a,o){let l=a.getText(),u=i(o,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}s(n,"applyEdits"),t.applyEdits=n;function i(a,o){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,o),i(h,o);let f=0,d=0,p=0;for(;fa.state.transitions),i=nte(n.filter(a=>a instanceof lg).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function yOe(t,e){return t.edges[e.tokenTypeIdx]}function vOe(t,e,r){let n=new fg,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===ug){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!kOe(a))for(let s of i)a.add(s);return a}function xOe(t,e){if(t instanceof lg&&s2(e,t.tokenType))return t.target}function bOe(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Kae(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function jae(t,e,r,n){return n=Qae(t,n),e.edges[r.tokenTypeIdx]=n,n}function Qae(t,e){if(e===T2)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function wOe(t){let e=new fg,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};vk(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function _Oe(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var yk,qae,k2,Zae=R(()=>{"use strict";u0();Yae();Wae();BL();RL();ite();Mm();fw();Gw();Ww();GL();o(cOe,"createDFACache");yk=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n)}initialize(e){this.atn=Gae(e.rules),this.dfas=uOe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=h0(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=qe(jT({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>qe(p,m=>m[0]));if(Xae(d,!1)&&!a){let p=Vr(d,(m,g,y)=>(Ee(g,v=>{v&&(m[v.tokenTypeIdx]=y,Ee(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new yk,g=p===void 0?0:p.length;for(let v=0;vqe(p,m=>m[0]));if(Xae(d)&&d[0][0]&&!a){let p=d[0],m=$r(p);if(m.length===1&&Qt(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=Vr(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Ee(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=$N.call(this,s,f,qae,l);return typeof p=="object"?!1:p===0}}};o(Xae,"isLL1Sequence");o(uOe,"initATNSimulator");o($N,"adaptivePredict");o(hOe,"performLookahead");o(fOe,"computeLookaheadTarget");o(dOe,"reportLookaheadAmbiguity");o(pOe,"buildAmbiguityError");o(mOe,"getProductionDslName");o(gOe,"buildAdaptivePredictError");o(yOe,"getExistingTargetState");o(vOe,"computeReachSet");o(xOe,"getReachableTarget");o(bOe,"getUniqueAlt");o(Kae,"newDFAState");o(jae,"addDFAEdge");o(Qae,"addDFAState");o(wOe,"computeStartState");o(vk,"closure");o(TOe,"getEpsilonTarget");o(kOe,"hasConfigInRuleStopState");o(EOe,"allConfigsInRuleStopStates");o(COe,"hasConflictTerminatingPrediction");o(SOe,"getConflictingAltSets");o(AOe,"hasConflictingAltSet");o(_Oe,"hasStateAssociatedWithOneAlt")});var Jae=R(()=>{"use strict";Zae()});var ese,GN,tse,xk,Ur,wr,bk,rse,VN,nse,ise,ase,sse,UN,ose,lse,cse,wk,dg,pg,HN,mg,use,YN,WN,qN,XN,jN,hse,fse,KN,dse,QN,E2,pse,mse,gse,yse,vse,xse,bse,wse,Tk,Tse,kse,Ese,Cse,Sse,Ase,_se,Lse,Dse,Rse,Nse,kk,Mse,Ise,Ose,Pse,Bse,Fse,zse,$se,Gse,Vse,Use,Hse,Yse,ZN,JN,Wse,qse,Xse,jse,Kse,Qse,Zse,Jse,eoe,eM,Fe,tM=R(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(ese||(ese={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(GN||(GN={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(tse||(tse={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(xk||(xk={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=xk.MAX_VALUE),i===Number.MAX_VALUE&&(i=xk.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&Fe.uinteger(i.line)&&Fe.uinteger(i.character)}o(r,"is"),t.is=r})(Ur||(Ur={}));(function(t){function e(n,i,a,s){if(Fe.uinteger(n)&&Fe.uinteger(i)&&Fe.uinteger(a)&&Fe.uinteger(s))return{start:Ur.create(n,i),end:Ur.create(a,s)};if(Ur.is(n)&&Ur.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&Ur.is(i.start)&&Ur.is(i.end)}o(r,"is"),t.is=r})(wr||(wr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&wr.is(i.range)&&(Fe.string(i.uri)||Fe.undefined(i.uri))}o(r,"is"),t.is=r})(bk||(bk={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&wr.is(i.targetRange)&&Fe.string(i.targetUri)&&wr.is(i.targetSelectionRange)&&(wr.is(i.originSelectionRange)||Fe.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(rse||(rse={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&Fe.numberRange(i.red,0,1)&&Fe.numberRange(i.green,0,1)&&Fe.numberRange(i.blue,0,1)&&Fe.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(VN||(VN={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&wr.is(i.range)&&VN.is(i.color)}o(r,"is"),t.is=r})(nse||(nse={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&Fe.string(i.label)&&(Fe.undefined(i.textEdit)||pg.is(i))&&(Fe.undefined(i.additionalTextEdits)||Fe.typedArray(i.additionalTextEdits,pg.is))}o(r,"is"),t.is=r})(ise||(ise={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(ase||(ase={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return Fe.defined(a)&&(h.startCharacter=a),Fe.defined(s)&&(h.endCharacter=s),Fe.defined(l)&&(h.kind=l),Fe.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&Fe.uinteger(i.startLine)&&Fe.uinteger(i.startLine)&&(Fe.undefined(i.startCharacter)||Fe.uinteger(i.startCharacter))&&(Fe.undefined(i.endCharacter)||Fe.uinteger(i.endCharacter))&&(Fe.undefined(i.kind)||Fe.string(i.kind))}o(r,"is"),t.is=r})(sse||(sse={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&bk.is(i.location)&&Fe.string(i.message)}o(r,"is"),t.is=r})(UN||(UN={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(ose||(ose={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(lse||(lse={}));(function(t){function e(r){let n=r;return Fe.objectLiteral(n)&&Fe.string(n.href)}o(e,"is"),t.is=e})(cse||(cse={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return Fe.defined(a)&&(h.severity=a),Fe.defined(s)&&(h.code=s),Fe.defined(l)&&(h.source=l),Fe.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return Fe.defined(a)&&wr.is(a.range)&&Fe.string(a.message)&&(Fe.number(a.severity)||Fe.undefined(a.severity))&&(Fe.integer(a.code)||Fe.string(a.code)||Fe.undefined(a.code))&&(Fe.undefined(a.codeDescription)||Fe.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(Fe.string(a.source)||Fe.undefined(a.source))&&(Fe.undefined(a.relatedInformation)||Fe.typedArray(a.relatedInformation,UN.is))}o(r,"is"),t.is=r})(wk||(wk={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return Fe.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&Fe.string(i.title)&&Fe.string(i.command)}o(r,"is"),t.is=r})(dg||(dg={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return Fe.objectLiteral(s)&&Fe.string(s.newText)&&wr.is(s.range)}o(i,"is"),t.is=i})(pg||(pg={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&Fe.string(i.label)&&(Fe.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Fe.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(HN||(HN={}));(function(t){function e(r){let n=r;return Fe.string(n)}o(e,"is"),t.is=e})(mg||(mg={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return pg.is(s)&&(HN.is(s.annotationId)||mg.is(s.annotationId))}o(i,"is"),t.is=i})(use||(use={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&KN.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})(YN||(YN={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&Fe.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Fe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Fe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||mg.is(i.annotationId))}o(r,"is"),t.is=r})(WN||(WN={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&Fe.string(i.oldUri)&&Fe.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Fe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Fe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||mg.is(i.annotationId))}o(r,"is"),t.is=r})(qN||(qN={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&Fe.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Fe.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Fe.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||mg.is(i.annotationId))}o(r,"is"),t.is=r})(XN||(XN={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>Fe.string(i.kind)?WN.is(i)||qN.is(i)||XN.is(i):YN.is(i)))}o(e,"is"),t.is=e})(jN||(jN={}));(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&Fe.string(i.uri)}o(r,"is"),t.is=r})(hse||(hse={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&Fe.string(i.uri)&&Fe.integer(i.version)}o(r,"is"),t.is=r})(fse||(fse={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&Fe.string(i.uri)&&(i.version===null||Fe.integer(i.version))}o(r,"is"),t.is=r})(KN||(KN={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&Fe.string(i.uri)&&Fe.string(i.languageId)&&Fe.integer(i.version)&&Fe.string(i.text)}o(r,"is"),t.is=r})(dse||(dse={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(QN||(QN={}));(function(t){function e(r){let n=r;return Fe.objectLiteral(r)&&QN.is(n.kind)&&Fe.string(n.value)}o(e,"is"),t.is=e})(E2||(E2={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(pse||(pse={}));(function(t){t.PlainText=1,t.Snippet=2})(mse||(mse={}));(function(t){t.Deprecated=1})(gse||(gse={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Fe.string(i.newText)&&wr.is(i.insert)&&wr.is(i.replace)}o(r,"is"),t.is=r})(yse||(yse={}));(function(t){t.asIs=1,t.adjustIndentation=2})(vse||(vse={}));(function(t){function e(r){let n=r;return n&&(Fe.string(n.detail)||n.detail===void 0)&&(Fe.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(xse||(xse={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(bse||(bse={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(wse||(wse={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return Fe.string(i)||Fe.objectLiteral(i)&&Fe.string(i.language)&&Fe.string(i.value)}o(r,"is"),t.is=r})(Tk||(Tk={}));(function(t){function e(r){let n=r;return!!n&&Fe.objectLiteral(n)&&(E2.is(n.contents)||Tk.is(n.contents)||Fe.typedArray(n.contents,Tk.is))&&(r.range===void 0||wr.is(r.range))}o(e,"is"),t.is=e})(Tse||(Tse={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(kse||(kse={}));(function(t){function e(r,n,...i){let a={label:r};return Fe.defined(n)&&(a.documentation=n),Fe.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(Ese||(Ese={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Cse||(Cse={}));(function(t){function e(r,n){let i={range:r};return Fe.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(Sse||(Sse={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Ase||(Ase={}));(function(t){t.Deprecated=1})(_se||(_se={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(Lse||(Lse={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(Dse||(Dse={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Fe.string(i.name)&&Fe.number(i.kind)&&wr.is(i.range)&&wr.is(i.selectionRange)&&(i.detail===void 0||Fe.string(i.detail))&&(i.deprecated===void 0||Fe.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(Rse||(Rse={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Nse||(Nse={}));(function(t){t.Invoked=1,t.Automatic=2})(kk||(kk={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&Fe.typedArray(i.diagnostics,wk.is)&&(i.only===void 0||Fe.typedArray(i.only,Fe.string))&&(i.triggerKind===void 0||i.triggerKind===kk.Invoked||i.triggerKind===kk.Automatic)}o(r,"is"),t.is=r})(Mse||(Mse={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):dg.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Fe.string(i.title)&&(i.diagnostics===void 0||Fe.typedArray(i.diagnostics,wk.is))&&(i.kind===void 0||Fe.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||dg.is(i.command))&&(i.isPreferred===void 0||Fe.boolean(i.isPreferred))&&(i.edit===void 0||jN.is(i.edit))}o(r,"is"),t.is=r})(Ise||(Ise={}));(function(t){function e(n,i){let a={range:n};return Fe.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&wr.is(i.range)&&(Fe.undefined(i.command)||dg.is(i.command))}o(r,"is"),t.is=r})(Ose||(Ose={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&Fe.uinteger(i.tabSize)&&Fe.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(Pse||(Pse={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&wr.is(i.range)&&(Fe.undefined(i.target)||Fe.string(i.target))}o(r,"is"),t.is=r})(Bse||(Bse={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&wr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(Fse||(Fse={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(zse||(zse={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})($se||($se={}));(function(t){function e(r){let n=r;return Fe.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})(Gse||(Gse={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&wr.is(i.range)&&Fe.string(i.text)}o(r,"is"),t.is=r})(Vse||(Vse={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&wr.is(i.range)&&Fe.boolean(i.caseSensitiveLookup)&&(Fe.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(Use||(Use={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&wr.is(i.range)&&(Fe.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})(Hse||(Hse={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.defined(i)&&wr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(Yse||(Yse={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(ZN||(ZN={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&(i.tooltip===void 0||Fe.string(i.tooltip)||E2.is(i.tooltip))&&(i.location===void 0||bk.is(i.location))&&(i.command===void 0||dg.is(i.command))}o(r,"is"),t.is=r})(JN||(JN={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Fe.objectLiteral(i)&&Ur.is(i.position)&&(Fe.string(i.label)||Fe.typedArray(i.label,JN.is))&&(i.kind===void 0||ZN.is(i.kind))&&i.textEdits===void 0||Fe.typedArray(i.textEdits,pg.is)&&(i.tooltip===void 0||Fe.string(i.tooltip)||E2.is(i.tooltip))&&(i.paddingLeft===void 0||Fe.boolean(i.paddingLeft))&&(i.paddingRight===void 0||Fe.boolean(i.paddingRight))}o(r,"is"),t.is=r})(Wse||(Wse={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(qse||(qse={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(Xse||(Xse={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(jse||(jse={}));(function(t){t.Invoked=0,t.Automatic=1})(Kse||(Kse={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(Qse||(Qse={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})(Zse||(Zse={}));(function(t){function e(r){let n=r;return Fe.objectLiteral(n)&&GN.is(n.uri)&&Fe.string(n.name)}o(e,"is"),t.is=e})(Jse||(Jse={}));(function(t){function e(a,s,l,u){return new eM(a,s,l,u)}o(e,"create"),t.create=e;function r(a){let s=a;return!!(Fe.defined(s)&&Fe.string(s.uri)&&(Fe.undefined(s.languageId)||Fe.string(s.languageId))&&Fe.uinteger(s.lineCount)&&Fe.func(s.getText)&&Fe.func(s.positionAt)&&Fe.func(s.offsetAt))}o(r,"is"),t.is=r;function n(a,s){let l=a.getText(),u=i(s,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Pr.create(0,e);for(;ne?i=o:n=o+1}let a=n-1;return Pr.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}s(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}s(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}s(a,"string"),t.string=a;function o(m){return e.call(m)==="[object Number]"}s(o,"number"),t.number=o;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}s(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}s(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}s(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}s(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}s(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}s(p,"typedArray"),t.typedArray=p})(Le||(Le={}))});var o2,l2,t0,r0,fM,eg,X6=_(()=>{"use strict";hM();Do();gl();o2=class{static{s(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new eg(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new r0;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new t0(e.startOffset,e.image.length,Tm(e),e.tokenType,!1);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}addHiddenTokens(e){for(let r of e){let n=new t0(r.startOffset,r.image.length,Tm(r),r.tokenType,!0);n.root=this.rootNode,this.addHiddenToken(this.rootNode,n)}}addHiddenToken(e,r){let{offset:n,end:i}=r;for(let a=0;al&&i=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},fM=class t extends Array{static{s(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},eg=class extends r0{static{s(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function dM(t){return t.$type===j6}var j6,Dae,Rae,c2,u2,K6,tg,h2,oIe,pM,f2=_(()=>{"use strict";Zd();Aie();mc();xl();Ha();X6();j6=Symbol("Datatype");s(dM,"isDataTypeNode");Dae="\u200B",Rae=s(t=>t.endsWith(Dae)?t:t+Dae,"withRuleSuffix"),c2=class{static{s(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition;this.wrapper=new pM(r,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},u2=class extends c2{static{s(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new o2,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=e.fragment?void 0:Ov(e)?j6:qd(e),i=this.wrapper.DEFINE_RULE(Rae(e.name),this.startImplementation(n,r).bind(this));return e.entry&&(this.mainRule=i),i}parse(e){this.nodeBuilder.buildRootNode(e);let r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:n,lexerErrors:r.errors,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{if(!this.isRecording()){let a={$type:e};this.stack.push(a),e===j6&&(a.value="")}let i;try{i=r(n)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,isCrossRef:l}=this.getAssignment(n),u=this.current;if(o){let h=Mo(n)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,h,a,l)}else if(dM(u)){let h=i.image;Mo(n)||(h=this.converter.convert(h,a).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i){let a;this.isRecording()||(a=this.nodeBuilder.buildCompositeNode(n));let o=this.wrapper.wrapSubrule(e,r,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,n,a)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let o=this.current;if(dM(o))o.value+=e.toString();else if(typeof e=="object"&&e){let l=e.$type,u=this.assignWithoutOverride(e,o);l&&(u.$type=l);let h=u;this.stack.pop(),this.stack.push(h)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(!n.$cstNode&&r.feature&&r.operator){n=this.construct(!1);let a=n.$cstNode.feature;this.nodeBuilder.buildCompositeNode(a)}let i={$type:e};this.stack.pop(),this.stack.push(i),r.feature&&r.operator&&this.assign(r.operator,r.feature,n,n.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;let r=this.current;return Xk(r),this.nodeBuilder.construct(r),e&&this.stack.pop(),dM(r)?this.converter.convert(r.value,r.$cstNode):(VD(this.astReflection,r),r)}getAssignment(e){if(!this.assignmentMap.has(e)){let r=zd(e,yl);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Fd(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let o=this.current,l;switch(a&&typeof n=="string"?l=this.linker.buildReference(o,r,i,n):l=n,e){case"=":{o[r]=l;break}case"?=":{o[r]=!0;break}case"+=":Array.isArray(o[r])||(o[r]=[]),o[r].push(l)}}assignWithoutOverride(e,r){for(let[n,i]of Object.entries(r)){let a=e[n];a===void 0?e[n]=i:Array.isArray(a)&&Array.isArray(i)&&(i.push(...a),e[n]=i)}return e}get definitionErrors(){return this.wrapper.definitionErrors}},K6=class{static{s(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Ru.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Ru.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Ru.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Ru.buildEarlyExitMessage(e)}},tg=class extends K6{static{s(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},h2=class extends c2{static{s(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e);return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Rae(e.name),this.startImplementation(r).bind(this));return e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,r,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},oIe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new tg},pM=class extends t2{static{s(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},oIe),{lookaheadStrategy:n?new Mu({maxLookahead:r.maxLookahead}):new a2}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}}});function Z6(t,e,r){return lIe({parser:e,tokens:r,rules:new Map,ruleNames:new Map},t),e}function lIe(t,e){let r=Iv(e,!1),n=Wr(e.rules).filter(Sa).filter(i=>r.has(i));for(let i of n){let a=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});a.rules.set(i.name,t.parser.rule(i,n0(a,i.definition)))}}function n0(t,e,r=!1){let n;if(Mo(e))n=mIe(t,e);else if(Cu(e))n=cIe(t,e);else if(yl(e))n=n0(t,e.terminal);else if(Fd(e))n=Mae(t,e);else if(vl(e))n=uIe(t,e);else if(Wk(e))n=fIe(t,e);else if(Yk(e))n=dIe(t,e);else if(Kh(e))n=pIe(t,e);else if(wD(e)){let i=t.consume++;n=s(()=>t.parser.consume(i,io,e),"method")}else throw new Bd(e.$cstNode,`Unexpected element type: ${e.$type}`);return Iae(t,r?void 0:Q6(e),n,e.cardinality)}function cIe(t,e){let r=qd(e);return()=>t.parser.action(r,e)}function uIe(t,e){let r=e.rule.ref;if(Sa(r)){let n=t.subrule++,i=e.arguments.length>0?hIe(r,e.arguments):()=>({});return a=>t.parser.subrule(n,Nae(t,r),e,i(a))}else if(Ro(r)){let n=t.consume++,i=mM(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)jh(r);else throw new Bd(e.$cstNode,`Undefined rule type: ${e.$type}`)}function hIe(t,e){let r=e.map(n=>Iu(n.value));return n=>{let i={};for(let a=0;ae(n)||r(n)}else if(XL(t)){let e=Iu(t.left),r=Iu(t.right);return n=>e(n)&&r(n)}else if(tD(t)){let e=Iu(t.value);return r=>!e(r)}else if(aD(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(HL(t)){let e=!!t.true;return()=>e}jh(t)}function fIe(t,e){if(e.elements.length===1)return n0(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:n0(t,i,!0)},o=Q6(i);o&&(a.GATE=Iu(o)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let o={ALT:s(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(o.GATE=()=>l(i)),o}))}}function dIe(t,e){if(e.elements.length===1)return n0(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:n0(t,l,!0)},h=Q6(l);h&&(u.GATE=Iu(h)),r.push(u)}let n=t.or++,i=s((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=s(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:s(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>{let m=d.unorderedGroups.get(i(n,d));return!m?.[h]},f})),"alternatives"),o=Iae(t,Q6(e),a,"*");return l=>{o(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function pIe(t,e){let r=e.elements.map(n=>n0(t,n));return n=>r.forEach(i=>i(n))}function Q6(t){if(Kh(t))return t.guardCondition}function Mae(t,e,r=e.terminal){if(r)if(vl(r)&&Sa(r.rule.ref)){let n=t.subrule++;return i=>t.parser.subrule(n,Nae(t,r.rule.ref),e,i)}else if(vl(r)&&Ro(r.rule.ref)){let n=t.consume++,i=mM(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Mo(r)){let n=t.consume++,i=mM(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=e6(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+qd(e.type.ref));return Mae(t,e,i)}}function mIe(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Iae(t,e,r,n){let i=e&&Iu(e);if(!n)if(i){let a=t.or++;return o=>t.parser.alternatives(a,[{ALT:s(()=>r(o),"ALT"),GATE:s(()=>i(o),"GATE")},{ALT:$6(),GATE:s(()=>!i(o),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return o=>t.parser.many(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(n==="+"){let a=t.many++;if(i){let o=t.or++;return l=>t.parser.alternatives(o,[{ALT:s(()=>t.parser.atLeastOne(a,{DEF:s(()=>r(l),"DEF")}),"ALT"),GATE:s(()=>i(l),"GATE")},{ALT:$6(),GATE:s(()=>!i(l),"GATE")}])}else return o=>t.parser.atLeastOne(a,{DEF:s(()=>r(o),"DEF")})}else if(n==="?"){let a=t.optional++;return o=>t.parser.optional(a,{DEF:s(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else jh(n)}function Nae(t,e){let r=gIe(t,e),n=t.rules.get(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function gIe(t,e){if(Sa(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Sa(n);)(Kh(n)||Wk(n)||Yk(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function mM(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var gM=_(()=>{"use strict";Zd();mc();Fk();Es();xl();s(Z6,"createParser");s(lIe,"buildRules");s(n0,"buildElement");s(cIe,"buildAction");s(uIe,"buildRuleCall");s(hIe,"buildRuleCallPredicate");s(Iu,"buildPredicate");s(fIe,"buildAlternatives");s(dIe,"buildUnorderedGroup");s(pIe,"buildGroup");s(Q6,"getGuardCondition");s(Mae,"buildCrossReference");s(mIe,"buildKeyword");s(Iae,"wrap");s(Nae,"getRule");s(gIe,"getRuleName");s(mM,"getToken")});function yM(t){let e=t.Grammar,r=t.parser.Lexer,n=new h2(t);return Z6(e,n,r.definition),n.finalize(),n}var vM=_(()=>{"use strict";f2();gM();s(yM,"createCompletionParser")});function xM(t){let e=Oae(t);return e.finalize(),e}function Oae(t){let e=t.Grammar,r=t.parser.Lexer,n=new u2(t);return Z6(e,n,r.definition)}var bM=_(()=>{"use strict";f2();gM();s(xM,"createLangiumParser");s(Oae,"prepareLangiumParser")});var i0,kM=_(()=>{"use strict";Zd();mc();Ha();xl();_m();Es();i0=class{static{s(this,"DefaultTokenBuilder")}buildTokens(e,r){let n=Wr(Iv(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return i.forEach(o=>{let l=o.PATTERN;typeof l=="object"&&l&&"test"in l&&Zk(l)?a.unshift(o):a.push(o)}),a}buildTerminalTokens(e){return e.filter(Ro).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Am(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=Zk(r)?jn.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")?!0:!!(e.source.includes("?<=")||e.source.includes("?(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Sa).flatMap(i=>gc(i).filter(Mo)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){return{name:e.value,PATTERN:this.buildKeywordPattern(e,n),LONGER_ALT:this.findLongerAlt(e,r)}}buildKeywordPattern(e,r){return r?new RegExp(jD(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&KD("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var a0,xc,wM=_(()=>{"use strict";mc();xl();a0=class{static{s(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(Fd(n)&&(n=JD(n)),vl(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return xc.convertInt(r);case"STRING":return xc.convertString(r);case"ID":return xc.convertID(r)}switch((i=oR(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return xc.convertNumber(r);case"boolean":return xc.convertBoolean(r);case"bigint":return xc.convertBigint(r);case"date":return xc.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(CM,"__esModule",{value:!0});var TM;function EM(){if(TM===void 0)throw new Error("No runtime abstraction layer installed");return TM}s(EM,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");TM=r}s(e,"install"),t.install=e})(EM||(EM={}));CM.default=EM});var Fae=is(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.stringArray=_a.array=_a.func=_a.error=_a.number=_a.string=_a.boolean=void 0;function yIe(t){return t===!0||t===!1}s(yIe,"boolean");_a.boolean=yIe;function Pae(t){return typeof t=="string"||t instanceof String}s(Pae,"string");_a.string=Pae;function vIe(t){return typeof t=="number"||t instanceof Number}s(vIe,"number");_a.number=vIe;function xIe(t){return t instanceof Error}s(xIe,"error");_a.error=xIe;function bIe(t){return typeof t=="function"}s(bIe,"func");_a.func=bIe;function Bae(t){return Array.isArray(t)}s(Bae,"array");_a.array=Bae;function kIe(t){return Bae(t)&&t.every(e=>Pae(e))}s(kIe,"stringArray");_a.stringArray=kIe});var AM=is(rg=>{"use strict";Object.defineProperty(rg,"__esModule",{value:!0});rg.Emitter=rg.Event=void 0;var wIe=SM(),zae;(function(t){let e={dispose(){}};t.None=function(){return e}})(zae||(rg.Event=zae={}));var _M=class{static{s(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:s(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new _M),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};rg.Emitter=J6;J6._noop=function(){}});var $ae=is(ng=>{"use strict";Object.defineProperty(ng,"__esModule",{value:!0});ng.CancellationTokenSource=ng.CancellationToken=void 0;var TIe=SM(),EIe=Fae(),LM=AM(),ew;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:LM.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:LM.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||EIe.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}s(e,"is"),t.is=e})(ew||(ng.CancellationToken=ew={}));var CIe=Object.freeze(function(t,e){let r=(0,TIe.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),tw=class{static{s(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?CIe:(this._emitter||(this._emitter=new LM.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},DM=class{static{s(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new tw),this._token}cancel(){this._token?this._token.cancel():this._token=ew.Cancelled}dispose(){this._token?this._token instanceof tw&&this._token.dispose():this._token=ew.None}};ng.CancellationTokenSource=DM});var cr={};var No=_(()=>{"use strict";lr(cr,ka($ae(),1))});function MM(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function Vae(){return RM=Date.now(),new cr.CancellationTokenSource}function Uae(t){Gae=t}function ef(t){return t===bc}async function Di(t){if(t===cr.CancellationToken.None)return;let e=Date.now();if(e-RM>=Gae&&(RM=e,await MM()),t.isCancellationRequested)throw bc}var RM,Gae,bc,Qa,Oo=_(()=>{"use strict";No();s(MM,"delayNextTick");RM=0,Gae=10;s(Vae,"startCancelableOperation");s(Uae,"setInterruptionPeriod");bc=Symbol("OperationCancelled");s(ef,"isOperationCancelled");s(Di,"interruptAndCheck");Qa=class{static{s(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function IM(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);IM(n,e),IM(i,e);let a=0,o=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function SIe(t){let e=Hae(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var rw,ig,Yae=_(()=>{"use strict";rw=class t{static{s(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Hae(n.range),a=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(o,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=qae(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=o:n=o+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&Wae(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,o,l){return new rw(i,a,o,l)}s(e,"create"),t.create=e;function r(i,a,o){if(i instanceof rw)return i.update(a,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}s(r,"update"),t.update=r;function n(i,a){let o=i.getText(),l=IM(a.map(SIe),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(o.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(o.substr(u)),h.join("")}s(n,"applyEdits"),t.applyEdits=n})(ig||(ig={}));s(IM,"mergeSort");s(qae,"computeLineOffsets");s(Wae,"isEOL");s(Hae,"getWellformedRange");s(SIe,"getWellformedEdit")});var Xae,_s,ag,NM=_(()=>{"use strict";(()=>{"use strict";var t={470:i=>{function a(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}s(a,"e");function o(u,h){for(var f,d="",p=0,m=-1,g=0,y=0;y<=u.length;++y){if(y2){var v=d.lastIndexOf("/");if(v!==d.length-1){v===-1?(d="",p=0):p=(d=d.slice(0,v)).length-1-d.lastIndexOf("/"),m=y,g=0;continue}}else if(d.length===2||d.length===1){d="",p=0,m=y,g=0;continue}}h&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(m+1,y):d=u.slice(m+1,y),p=y-m-1;m=y,g=0}else f===46&&g!==-1?++g:g=-1}return d}s(o,"r");var l={resolve:s(function(){for(var u,h="",f=!1,d=arguments.length-1;d>=-1&&!f;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),a(p),p.length!==0&&(h=p+"/"+h,f=p.charCodeAt(0)===47)}return h=o(h,!f),f?h.length>0?"/"+h:"/":h.length>0?h:"."},"resolve"),normalize:s(function(u){if(a(u),u.length===0)return".";var h=u.charCodeAt(0)===47,f=u.charCodeAt(u.length-1)===47;return(u=o(u,!h)).length!==0||h||(u="."),u.length>0&&f&&(u+="/"),h?"/"+u:u},"normalize"),isAbsolute:s(function(u){return a(u),u.length>0&&u.charCodeAt(0)===47},"isAbsolute"),join:s(function(){if(arguments.length===0)return".";for(var u,h=0;h0&&(u===void 0?u=f:u+="/"+f)}return u===void 0?".":l.normalize(u)},"join"),relative:s(function(u,h){if(a(u),a(h),u===h||(u=l.resolve(u))===(h=l.resolve(h)))return"";for(var f=1;fy){if(h.charCodeAt(m+x)===47)return h.slice(m+x+1);if(x===0)return h.slice(m+x)}else p>y&&(u.charCodeAt(f+x)===47?v=x:x===0&&(v=0));break}var b=u.charCodeAt(f+x);if(b!==h.charCodeAt(m+x))break;b===47&&(v=x)}var k="";for(x=f+v+1;x<=d;++x)x!==d&&u.charCodeAt(x)!==47||(k.length===0?k+="..":k+="/..");return k.length>0?k+h.slice(m+v):(m+=v,h.charCodeAt(m)===47&&++m,h.slice(m))},"relative"),_makeLong:s(function(u){return u},"_makeLong"),dirname:s(function(u){if(a(u),u.length===0)return".";for(var h=u.charCodeAt(0),f=h===47,d=-1,p=!0,m=u.length-1;m>=1;--m)if((h=u.charCodeAt(m))===47){if(!p){d=m;break}}else p=!1;return d===-1?f?"/":".":f&&d===1?"//":u.slice(0,d)},"dirname"),basename:s(function(u,h){if(h!==void 0&&typeof h!="string")throw new TypeError('"ext" argument must be a string');a(u);var f,d=0,p=-1,m=!0;if(h!==void 0&&h.length>0&&h.length<=u.length){if(h.length===u.length&&h===u)return"";var g=h.length-1,y=-1;for(f=u.length-1;f>=0;--f){var v=u.charCodeAt(f);if(v===47){if(!m){d=f+1;break}}else y===-1&&(m=!1,y=f+1),g>=0&&(v===h.charCodeAt(g)?--g==-1&&(p=f):(g=-1,p=y))}return d===p?p=y:p===-1&&(p=u.length),u.slice(d,p)}for(f=u.length-1;f>=0;--f)if(u.charCodeAt(f)===47){if(!m){d=f+1;break}}else p===-1&&(m=!1,p=f+1);return p===-1?"":u.slice(d,p)},"basename"),extname:s(function(u){a(u);for(var h=-1,f=0,d=-1,p=!0,m=0,g=u.length-1;g>=0;--g){var y=u.charCodeAt(g);if(y!==47)d===-1&&(p=!1,d=g+1),y===46?h===-1?h=g:m!==1&&(m=1):h!==-1&&(m=-1);else if(!p){f=g+1;break}}return h===-1||d===-1||m===0||m===1&&h===d-1&&h===f+1?"":u.slice(h,d)},"extname"),format:s(function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return function(h,f){var d=f.dir||f.root,p=f.base||(f.name||"")+(f.ext||"");return d?d===f.root?d+p:d+"/"+p:p}(0,u)},"format"),parse:s(function(u){a(u);var h={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return h;var f,d=u.charCodeAt(0),p=d===47;p?(h.root="/",f=1):f=0;for(var m=-1,g=0,y=-1,v=!0,x=u.length-1,b=0;x>=f;--x)if((d=u.charCodeAt(x))!==47)y===-1&&(v=!1,y=x+1),d===46?m===-1?m=x:b!==1&&(b=1):m!==-1&&(b=-1);else if(!v){g=x+1;break}return m===-1||y===-1||b===0||b===1&&m===y-1&&m===g+1?y!==-1&&(h.base=h.name=g===0&&p?u.slice(1,y):u.slice(g,y)):(g===0&&p?(h.name=u.slice(1,m),h.base=u.slice(1,y)):(h.name=u.slice(g,m),h.base=u.slice(g,y)),h.ext=u.slice(m,y)),g>0?h.dir=u.slice(0,g-1):p&&(h.dir="/"),h},"parse"),sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function r(i){var a=e[i];if(a!==void 0)return a.exports;var o=e[i]={exports:{}};return t[i](o,o.exports,r),o.exports}s(r,"r"),r.d=(i,a)=>{for(var o in a)r.o(a,o)&&!r.o(i,o)&&Object.defineProperty(i,o,{enumerable:!0,get:a[o]})},r.o=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:s(()=>p,"URI"),Utils:s(()=>R,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function u(D,L){if(!D.scheme&&L)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${D.authority}", path: "${D.path}", query: "${D.query}", fragment: "${D.fragment}"}`);if(D.scheme&&!a.test(D.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(D.path){if(D.authority){if(!o.test(D.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(D.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}s(u,"s");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{s(this,"f")}static isUri(L){return L instanceof p||!!L&&typeof L.authority=="string"&&typeof L.fragment=="string"&&typeof L.path=="string"&&typeof L.query=="string"&&typeof L.scheme=="string"&&typeof L.fsPath=="string"&&typeof L.with=="function"&&typeof L.toString=="function"}scheme;authority;path;query;fragment;constructor(L,P,M,F,I,O=!1){typeof L=="object"?(this.scheme=L.scheme||h,this.authority=L.authority||h,this.path=L.path||h,this.query=L.query||h,this.fragment=L.fragment||h):(this.scheme=function(z,N){return z||N?z:"file"}(L,O),this.authority=P||h,this.path=function(z,N){switch(z){case"https":case"http":case"file":N?N[0]!==f&&(N=f+N):N=f}return N}(this.scheme,M||h),this.query=F||h,this.fragment=I||h,u(this,O))}get fsPath(){return b(this,!1)}with(L){if(!L)return this;let{scheme:P,authority:M,path:F,query:I,fragment:O}=L;return P===void 0?P=this.scheme:P===null&&(P=h),M===void 0?M=this.authority:M===null&&(M=h),F===void 0?F=this.path:F===null&&(F=h),I===void 0?I=this.query:I===null&&(I=h),O===void 0?O=this.fragment:O===null&&(O=h),P===this.scheme&&M===this.authority&&F===this.path&&I===this.query&&O===this.fragment?this:new g(P,M,F,I,O)}static parse(L,P=!1){let M=d.exec(L);return M?new g(M[2]||h,T(M[4]||h),T(M[5]||h),T(M[7]||h),T(M[9]||h),P):new g(h,h,h,h,h)}static file(L){let P=h;if(i&&(L=L.replace(/\\/g,f)),L[0]===f&&L[1]===f){let M=L.indexOf(f,2);M===-1?(P=L.substring(2),L=f):(P=L.substring(2,M),L=L.substring(M)||f)}return new g("file",P,L,h,h)}static from(L){let P=new g(L.scheme,L.authority,L.path,L.query,L.fragment);return u(P,!0),P}toString(L=!1){return k(this,L)}toJSON(){return this}static revive(L){if(L){if(L instanceof p)return L;{let P=new g(L);return P._formatted=L.external,P._fsPath=L._sep===m?L.fsPath:null,P}}return L}}let m=i?1:void 0;class g extends p{static{s(this,"l")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(L=!1){return L?k(this,!0):(this._formatted||(this._formatted=k(this,!1)),this._formatted)}toJSON(){let L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=m),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(D,L,P){let M,F=-1;for(let I=0;I=97&&O<=122||O>=65&&O<=90||O>=48&&O<=57||O===45||O===46||O===95||O===126||L&&O===47||P&&O===91||P&&O===93||P&&O===58)F!==-1&&(M+=encodeURIComponent(D.substring(F,I)),F=-1),M!==void 0&&(M+=D.charAt(I));else{M===void 0&&(M=D.substr(0,I));let z=y[O];z!==void 0?(F!==-1&&(M+=encodeURIComponent(D.substring(F,I)),F=-1),M+=z):F===-1&&(F=I)}}return F!==-1&&(M+=encodeURIComponent(D.substring(F))),M!==void 0?M:D}s(v,"d");function x(D){let L;for(let P=0;P1&&D.scheme==="file"?`//${D.authority}${D.path}`:D.path.charCodeAt(0)===47&&(D.path.charCodeAt(1)>=65&&D.path.charCodeAt(1)<=90||D.path.charCodeAt(1)>=97&&D.path.charCodeAt(1)<=122)&&D.path.charCodeAt(2)===58?L?D.path.substr(1):D.path[1].toLowerCase()+D.path.substr(2):D.path,i&&(P=P.replace(/\//g,"\\")),P}s(b,"m");function k(D,L){let P=L?x:v,M="",{scheme:F,authority:I,path:O,query:z,fragment:N}=D;if(F&&(M+=F,M+=":"),(I||F==="file")&&(M+=f,M+=f),I){let U=I.indexOf("@");if(U!==-1){let $=I.substr(0,U);I=I.substr(U+1),U=$.lastIndexOf(":"),U===-1?M+=P($,!1,!1):(M+=P($.substr(0,U),!1,!1),M+=":",M+=P($.substr(U+1),!1,!0)),M+="@"}I=I.toLowerCase(),U=I.lastIndexOf(":"),U===-1?M+=P(I,!1,!0):(M+=P(I.substr(0,U),!1,!0),M+=I.substr(U))}if(O){if(O.length>=3&&O.charCodeAt(0)===47&&O.charCodeAt(2)===58){let U=O.charCodeAt(1);U>=65&&U<=90&&(O=`/${String.fromCharCode(U+32)}:${O.substr(3)}`)}else if(O.length>=2&&O.charCodeAt(1)===58){let U=O.charCodeAt(0);U>=65&&U<=90&&(O=`${String.fromCharCode(U+32)}:${O.substr(2)}`)}M+=P(O,!0,!1)}return z&&(M+="?",M+=P(z,!1,!1)),N&&(M+="#",M+=L?N:v(N,!1,!1)),M}s(k,"y");function A(D){try{return decodeURIComponent(D)}catch{return D.length>3?D.substr(0,3)+A(D.substr(3)):D}}s(A,"v");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function T(D){return D.match(w)?D.replace(w,L=>A(L)):D}s(T,"C");var C=r(470);let E=C.posix||C,S="/";var R;(function(D){D.joinPath=function(L,...P){return L.with({path:E.join(L.path,...P)})},D.resolvePath=function(L,...P){let M=L.path,F=!1;M[0]!==S&&(M=S+M,F=!0);let I=E.resolve(M,...P);return F&&I[0]===S&&!L.authority&&(I=I.substring(1)),L.with({path:I})},D.dirname=function(L){if(L.path.length===0||L.path===S)return L;let P=E.dirname(L.path);return P.length===1&&P.charCodeAt(0)===46&&(P=""),L.with({path:P})},D.basename=function(L){return E.basename(L.path)},D.extname=function(L){return E.extname(L.path)}})(R||(R={}))})(),Xae=n})();({URI:_s,Utils:ag}=Xae)});var Za,kc=_(()=>{"use strict";NM();(function(t){t.basename=ag.basename,t.dirname=ag.dirname,t.extname=ag.extname,t.joinPath=ag.joinPath,t.resolvePath=ag.resolvePath;function e(n,i){return n?.toString()===i?.toString()}s(e,"equals"),t.equals=e;function r(n,i){let a=typeof n=="string"?n:n.path,o=typeof i=="string"?i:i.path,l=a.split("/").filter(p=>p.length>0),u=o.split("/").filter(p=>p.length>0),h=0;for(;h{"use strict";Yae();sg();No();Es();kc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(un||(un={}));d2=class{static{s(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=cr.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??_s.parse(e.uri),n?this.createAsync(r,e,n):this.create(r,e)}fromString(e,r,n){return n?this.createAsync(r,e,n):this.create(r,e)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r){if(typeof r=="string"){let n=this.parse(e,r);return this.createLangiumDocument(n,e,void 0,r)}else if("$model"in r){let n={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,r.getText());return this.createLangiumDocument(n,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:un.Parsed,references:[],textDocument:n};else{let o=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:un.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=a,a}async update(e,r){var n,i;let a=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,o=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),l=o?o.getText():await this.fileSystemProvider.readFile(e.uri);if(o)Object.defineProperty(e,"textDocument",{value:o});else{let u=this.createTextDocumentGetter(e.uri,l);Object.defineProperty(e,"textDocument",{get:u})}return a!==l&&(e.parseResult=await this.parseAsync(e.uri,l,r),e.parseResult.value.$document=e),e.state=un.Parsed,e}parse(e,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=ig.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},p2=class{static{s(this,"DefaultLangiumDocuments")}constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return Wr(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){let r=e.toString();return this.documentMap.get(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=un.Changed,n.precomputedScopes=void 0,n.references=[],n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=un.Changed,this.documentMap.delete(r)),n}}});var m2,OM=_(()=>{"use strict";No();Do();Ha();Oo();sg();m2=class{static{s(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=cr.CancellationToken.None){for(let n of Io(e.parseResult.value))await Di(r),Cm(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if(n._ref===void 0)try{let i=this.getCandidate(e);if(Nd(i))n._ref=i;else if(n._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)){let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${i}`})}r.references.push(n)}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,o={$refNode:n,$refText:i,get ref(){var l;if($n(this._ref))return this._ref;if(NL(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:o,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){let u=a.getLinkedNode({reference:o,container:e,property:r});if(u.error&&Ai(e).state{"use strict";xl();s(jae,"isNamed");g2=class{static{s(this,"DefaultNameProvider")}getName(e){if(jae(e))return e.name}getNameNode(e){return Nv(e.$cstNode,"name")}}});var y2,BM=_(()=>{"use strict";xl();Do();Ha();gl();Es();kc();y2=class{static{s(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=aR(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ua(i))return i.ref;if(Array.isArray(i)){for(let a of i)if(ua(a)&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return a.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||PL(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let a=this.getReferenceToSelf(e);a&&n.push(a)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>Za.equals(a.sourceUri,r.documentUri))),n.push(...i),Wr(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=Ai(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:Pd(r),local:!0}}}}});var wc,s0,og=_(()=>{"use strict";Es();wc=class{static{s(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return wm.sum(Wr(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Wr(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Wr(this.map.keys())}values(){return Wr(this.map.values()).flat()}entriesGroupedByKey(){return Wr(this.map.entries())}},s0=class{static{s(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var v2,FM=_(()=>{"use strict";No();Ha();og();Oo();v2=class{static{s(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=cr.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=Av,i=cr.CancellationToken.None){let a=[];this.exportNode(e,a,r);for(let o of n(e))await Di(i),this.exportNode(o,a,r);return a}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=cr.CancellationToken.None){let n=e.parseResult.value,i=new wc;for(let a of gc(n))await Di(r),this.processNode(a,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var lg,x2,_Ie,zM=_(()=>{"use strict";Es();lg=class{static{s(this,"StreamScope")}constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},x2=class{static{s(this,"MapScope")}constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let a of e){let o=this.caseInsensitive?a.name.toLowerCase():a.name;this.elements.set(o,a)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Wr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},_Ie={getElement(){},getAllElements(){return wv}}});var cg,b2,o0,nw,ug,iw=_(()=>{"use strict";cg=class{static{s(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},b2=class extends cg{static{s(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},o0=class extends cg{static{s(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},nw=class extends o0{static{s(this,"DocumentCache")}constructor(e){super(r=>r.toString()),this.onDispose(e.workspace.DocumentBuilder.onUpdate((r,n)=>{let i=r.concat(n);for(let a of i)this.clear(a)}))}},ug=class extends b2{static{s(this,"WorkspaceCache")}constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var k2,$M=_(()=>{"use strict";zM();Ha();Es();iw();k2=class{static{s(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ug(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ai(e.container).precomputedScopes;if(i){let o=e.container;do{let l=i.get(o);l.length>0&&r.push(Wr(l).filter(u=>this.reflection.isSubtype(u.type,n))),o=o.$container}while(o)}let a=this.getGlobalScope(n,e);for(let o=r.length-1;o>=0;o--)a=this.createScope(r[o],a);return a}createScope(e,r,n){return new lg(Wr(e),r,n)}createScopeForNodes(e,r,n){let i=Wr(e).map(a=>{let o=this.nameProvider.getName(a);if(o)return this.descriptions.createDescription(a,o)}).nonNullable();return new lg(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new x2(this.indexManager.allElements(e)))}}});function GM(t){return typeof t.$comment=="string"}function Kae(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var w2,aw=_(()=>{"use strict";NM();Do();Ha();xl();s(GM,"isAstNodeWithComment");s(Kae,"isIntermediateReference");w2=class{static{s(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r={}){let n=r?.replacer,i=s((o,l)=>this.replacer(o,l,r),"defaultReplacer"),a=n?(o,l)=>n(o,l,i):i;try{return this.currentDocument=Ai(e),JSON.stringify(e,a,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r={}){let n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:o,uriConverter:l}){var u,h,f,d;if(!this.ignoreProperties.has(e))if(ua(r)){let p=r.ref,m=n?r.$refText:void 0;if(p){let g=Ai(p),y="";this.currentDocument&&this.currentDocument!==g&&(l?y=l(g.uri,r):y=g.uri.toString());let v=this.astNodeLocator.getAstNodePath(p);return{$ref:`${y}#${v}`,$refText:m}}else return{$error:(h=(u=r.error)===null||u===void 0?void 0:u.message)!==null&&h!==void 0?h:"Could not resolve reference",$refText:m}}else if($n(r)){let p;if(a&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion&&(p.$textRegion.documentURI=(f=this.currentDocument)===null||f===void 0?void 0:f.uri.toString())),i&&!e&&(p??(p=Object.assign({},r)),p.$sourceText=(d=r.$cstNode)===null||d===void 0?void 0:d.text),o){p??(p=Object.assign({},r));let m=this.commentProvider.getComment(r);m&&(p.$comment=m.replace(/\r/g,""))}return p??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=s(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let o=tR(e.$cstNode,a).map(r);o.length!==0&&(i[a]=o)}),e}}linkNode(e,r,n,i,a,o){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";kc();T2=class{static{s(this,"DefaultServiceRegistry")}register(e){if(!this.singleton&&!this.map){this.singleton=e;return}if(!this.map&&(this.map={},this.singleton)){for(let r of this.singleton.LanguageMetaData.fileExtensions)this.map[r]=this.singleton;this.singleton=void 0}for(let r of e.LanguageMetaData.fileExtensions)this.map[r]!==void 0&&this.map[r]!==e&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`),this.map[r]=e}getServices(e){if(this.singleton!==void 0)return this.singleton;if(this.map===void 0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=Za.extname(e),n=this.map[r];if(!n)throw new Error(`The service registry contains no services for the extension '${r}'.`);return n}get all(){return this.singleton!==void 0?[this.singleton]:this.map!==void 0?Object.values(this.map):[]}}});function sw(t){return{code:t}}var hg,E2,C2=_(()=>{"use strict";og();Oo();Es();s(sw,"diagnosticData");(function(t){t.all=["fast","slow","built-in"]})(hg||(hg={}));E2=class{static{s(this,"ValidationRegistry")}constructor(e){this.entries=new wc,this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[i,a]of Object.entries(e)){let o=a;if(Array.isArray(o))for(let l of o){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof o=="function"){let l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}}}wrapValidationException(e,r){return async(n,i,a)=>{try{await e.call(r,n,i,a)}catch(o){if(ef(o))throw o;console.error("An error occurred during validation:",o);let l=o instanceof Error?o.message:String(o);o instanceof Error&&o.stack&&console.error(o.stack),i("error","An error occurred during validation: "+l,{node:n})}}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Wr(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}}});function Qae(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Nv(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=nR(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function ow(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}var S2,Nu,UM=_(()=>{"use strict";No();xl();Ha();gl();Oo();C2();S2=class{static{s(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=cr.CancellationToken.None){let i=e.parseResult,a=[];if(await Di(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===Nu.LexingError})||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===Nu.ParsingError}))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(o=>{var l;return((l=o.data)===null||l===void 0?void 0:l.code)===Nu.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(o){if(ef(o))throw o;console.error("An error occurred during validation:",o)}return await Di(n),a}processLexingErrors(e,r,n){for(let i of e.lexerErrors){let a={severity:ow("error"),range:{start:{line:i.line-1,character:i.column-1},end:{line:i.line-1,character:i.column+i.length-1}},message:i.message,data:sw(Nu.LexingError),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:o.endLine-1,character:o.endColumn};a={start:l,end:l}}}}else a=Tm(i.token);if(a){let o={severity:ow("error"),range:a,message:i.message,data:sw(Nu.ParsingError),source:this.getSource()};r.push(o)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let o={node:a.container,property:a.property,index:a.index,data:{code:Nu.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};r.push(this.toDiagnostic("error",a.message,o))}}}async validateAst(e,r,n=cr.CancellationToken.None){let i=[],a=s((o,l,u)=>{i.push(this.toDiagnostic(o,l,u))},"acceptor");return await Promise.all(Io(e).map(async o=>{await Di(n);let l=this.validationRegistry.getChecks(o.$type,r.categories);for(let u of l)await u(o,a,n)})),i}toDiagnostic(e,r,n){return{message:r,range:Qae(n),severity:ow(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};s(Qae,"getDiagnosticRange");s(ow,"toDiagnosticSeverity");(function(t){t.LexingError="lexing-error",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Nu||(Nu={}))});var _2,A2,qM=_(()=>{"use strict";No();Do();Ha();gl();Oo();kc();_2=class{static{s(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n=Ai(e)){r??(r=this.nameProvider.getName(e));let i=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${i} has no name.`);let a,o=s(()=>{var l;return a??(a=Pd((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))},"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Pd(e.$cstNode),type:e.$type,documentUri:n.uri,path:i}}},A2=class{static{s(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=cr.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Io(i))await Di(r),Cm(a).filter(o=>!Nd(o)).forEach(o=>{let l=this.createDescription(o);l&&n.push(l)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=Ai(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Pd(n),local:Za.equals(r.documentUri,i)}}}});var L2,WM=_(()=>{"use strict";L2=class{static{s(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let o=a.indexOf(this.indexSeparator);if(o>0){let l=a.substring(0,o),u=parseInt(a.substring(o+1)),h=i[l];return h?.[u]}return i[a]},e)}}});var D2,HM=_(()=>{"use strict";Oo();D2=class{static{s(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Qa,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{this.updateSectionConfiguration(r,e.settings[r])})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}}});var l0,YM=_(()=>{"use strict";(function(t){function e(r){return{dispose:s(async()=>await r(),"dispose")}}s(e,"create"),t.create=e})(l0||(l0={}))});var R2,XM=_(()=>{"use strict";No();YM();og();Oo();Es();C2();sg();R2=class{static{s(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new wc,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=un.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=cr.CancellationToken.None){var i,a;for(let o of e){let l=o.uri.toString();if(o.state===un.Validated){if(typeof r.validation=="boolean"&&r.validation)o.state=un.IndexedReferences,o.diagnostics=void 0,this.buildState.delete(l);else if(typeof r.validation=="object"){let u=this.buildState.get(l),h=(i=u?.result)===null||i===void 0?void 0:i.validationChecks;if(h){let d=((a=r.validation.categories)!==null&&a!==void 0?a:hg.all).filter(p=>!h.includes(p));d.length>0&&(this.buildState.set(l,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:d})},result:u.result}),o.state=un.IndexedReferences)}}}else this.buildState.delete(l)}this.currentState=un.Changed,await this.emitUpdate(e.map(o=>o.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=cr.CancellationToken.None){this.currentState=un.Changed;for(let o of r)this.langiumDocuments.deleteDocument(o),this.buildState.delete(o.toString()),this.indexManager.remove(o);for(let o of e){if(!this.langiumDocuments.invalidateDocument(o)){let u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},o);u.state=un.Changed,this.langiumDocuments.addDocument(u)}this.buildState.delete(o.toString())}let i=Wr(e).concat(r).map(o=>o.toString()).toSet();this.langiumDocuments.all.filter(o=>!i.has(o.uri.toString())&&this.shouldRelink(o,i)).forEach(o=>{this.serviceRegistry.getServices(o.uri).references.Linker.unlink(o),o.state=Math.min(o.state,un.ComputedScopes),o.diagnostics=void 0}),await this.emitUpdate(e,r),await Di(n);let a=this.langiumDocuments.all.filter(o=>{var l;return o.staten(e,r)))}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),l0.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,un.Parsed,n,a=>this.langiumDocumentFactory.update(a,n)),await this.runCancelable(e,un.IndexedContent,n,a=>this.indexManager.updateContent(a,n)),await this.runCancelable(e,un.ComputedScopes,n,async a=>{let o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await o.computeLocalScopes(a,n)}),await this.runCancelable(e,un.Linked,n,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,n)),await this.runCancelable(e,un.IndexedReferences,n,a=>this.indexManager.updateReferences(a,n));let i=e.filter(a=>this.shouldValidate(a));await this.runCancelable(i,un.Validated,n,a=>this.validate(a,n));for(let a of e){let o=this.buildState.get(a.uri.toString());o&&(o.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){let a=e.filter(o=>o.state{this.buildPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=cr.CancellationToken.None),i){let a=this.langiumDocuments.getDocument(i);if(a&&a.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(bc):new Promise((a,o)=>{let l=this.onBuildPhase(e,()=>{if(l.dispose(),u.dispose(),i){let h=this.langiumDocuments.getDocument(i);a(h?.uri)}else a(void 0)}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),o(bc)})})}async notifyBuildPhase(e,r,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(r);for(let a of i)await Di(n),await a(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let a=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,o=this.getBuildOptions(e).validation,l=typeof o=="object"?o:void 0,u=await a.validateDocument(e,l,r);e.diagnostics?e.diagnostics.push(...u):e.diagnostics=u;let h=this.buildState.get(e.uri.toString());if(h){(n=h.result)!==null&&n!==void 0||(h.result={});let f=(i=l?.categories)!==null&&i!==void 0?i:hg.all;h.result.validationChecks?h.result.validationChecks.push(...f):h.result.validationChecks=[...f]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}});var M2,jM=_(()=>{"use strict";Ha();iw();No();Es();kc();M2=class{static{s(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new o0,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ai(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(o=>{Za.equals(o.targetUri,n)&&o.targetPath===r&&i.push(o)})}),Wr(i)}allElements(e,r){let n=Wr(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var a;return((a=this.symbolIndex.get(e))!==null&&a!==void 0?a:[]).filter(l=>this.astReflection.isSubtype(l.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=cr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=cr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var I2,KM=_(()=>{"use strict";No();Oo();kc();I2=class{static{s(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Qa,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=cr.CancellationToken.None){let n=await this.performStartup(e);await Di(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),n=[],i=s(a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)},"collector");return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return _s.parse(e.uri)}async traverseFolder(e,r,n,i){let a=await this.fileSystemProvider.readDirectory(r);await Promise.all(a.map(async o=>{if(this.includeEntry(e,o,n)){if(o.isDirectory)await this.traverseFolder(e,o.uri,n,i);else if(o.isFile){let l=await this.langiumDocuments.getOrCreateDocument(o.uri);i(l)}}}))}includeEntry(e,r,n){let i=Za.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let a=Za.extname(r.uri);return n.includes(a)}return!1}}});function Zae(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function ZM(t){return t&&"modes"in t&&"defaultMode"in t}function QM(t){return!Zae(t)&&!ZM(t)}var N2,JM=_(()=>{"use strict";Zd();N2=class{static{s(this,"DefaultLexer")}constructor(e){let r=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=QM(r)?Object.values(r):r;this.chevrotainLexer=new jn(n,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var r;let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:(r=n.groups.hidden)!==null&&r!==void 0?r:[]}}toTokenTypeDictionary(e){if(QM(e))return e;let r=ZM(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};s(Zae,"isTokenTypeArray");s(ZM,"isIMultiModeLexerDefinition");s(QM,"isTokenTypeDictionary")});function rI(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Pr.create(0,0));let a=tse(t),o=iI(n),l=LIe({lines:a,position:i,options:o});return NIe({index:0,tokens:l,position:i})}function nI(t,e){let r=iI(e),n=tse(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],o=r.start,l=r.end;return!!o?.exec(i)&&!!l?.exec(a)}function tse(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(YD)}function LIe(t){var e,r,n;let i=[],a=t.position.line,o=t.position.character;for(let l=0;l=f.length){if(i.length>0){let m=Pr.create(a,o);i.push({type:"break",content:"",range:gr.create(m,m)})}}else{Jae.lastIndex=d;let m=Jae.exec(f);if(m){let g=m[0],y=m[1],v=Pr.create(a,o+d),x=Pr.create(a,o+d+g.length);i.push({type:"tag",content:y,range:gr.create(v,x)}),d+=g.length,d=tI(f,d)}if(d0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function DIe(t,e,r,n){let i=[];if(t.length===0){let a=Pr.create(r,n),o=Pr.create(r,n+e.length);i.push({type:"text",content:e,range:gr.create(a,o)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:gr.create(Pr.create(r,a+n),Pr.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:gr.create(Pr.create(r,a+f+n),Pr.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:gr.create(Pr.create(r,a+f+n),Pr.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:gr.create(Pr.create(r,a+f+n),Pr.create(r,a+f+n))});a=u+l[0].length}let o=e.substring(a);o.length>0&&i.push({type:"text",content:o,range:gr.create(Pr.create(r,a+n),Pr.create(r,a+n+o.length))})}return i}function tI(t,e){let r=t.substring(e).match(RIe);return r?e+r.index:t.length}function IIe(t){let e=t.match(MIe);if(e&&typeof e.index=="number")return e.index}function NIe(t){var e,r,n,i;let a=Pr.create(t.position.line,t.position.character);if(t.tokens.length===0)return new lw([],gr.create(a,a));let o=[];for(;t.index0){let u=tI(e,a);o=e.substring(u),e=e.substring(0,a)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(o=`\`${o}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,o))!==null&&i!==void 0?i:zIe(e,o)}}function zIe(t,e){try{return _s.parse(t,!0),`[${e}](${t})`}catch{return t}}function ese(t){return t.endsWith(` +`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Ur.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return Ur.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(Fe||(Fe={}))});var C2,S2,d0,p0,rM,gg,Ek=R(()=>{"use strict";tM();Vo();Rl();C2=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new gg(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new p0;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new d0(e.startOffset,e.image.length,zm(e),e.tokenType,!1);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}addHiddenTokens(e){for(let r of e){let n=new d0(r.startOffset,r.image.length,zm(r),r.tokenType,!0);n.root=this.rootNode,this.addHiddenToken(this.rootNode,n)}}addHiddenToken(e,r){let{offset:n,end:i}=r;for(let a=0;al&&i=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},rM=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},gg=class extends p0{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function nM(t){return t.$type===Ck}var Ck,toe,roe,A2,_2,Sk,yg,L2,LOe,iM,D2=R(()=>{"use strict";u0();Jae();Sc();Il();es();Ek();Ck=Symbol("Datatype");o(nM,"isDataTypeNode");toe="\u200B",roe=o(t=>t.endsWith(toe)?t:t+toe,"withRuleSuffix"),A2=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition;this.wrapper=new iM(r,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},_2=class extends A2{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new C2,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=e.fragment?void 0:Jv(e)?Ck:r0(e),i=this.wrapper.DEFINE_RULE(roe(e.name),this.startImplementation(n,r).bind(this));return e.entry&&(this.mainRule=i),i}parse(e){this.nodeBuilder.buildRootNode(e);let r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:n,lexerErrors:r.errors,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{if(!this.isRecording()){let a={$type:e};this.stack.push(a),e===Ck&&(a.value="")}let i;try{i=r(n)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.nodeBuilder.buildLeafNode(i,n),{assignment:s,isCrossRef:l}=this.getAssignment(n),u=this.current;if(s){let h=Ho(n)?i.image:this.converter.convert(i.image,a);this.assign(s.operator,s.feature,h,a,l)}else if(nM(u)){let h=i.image;Ho(n)||(h=this.converter.convert(h,a).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i){let a;this.isRecording()||(a=this.nodeBuilder.buildCompositeNode(n));let s=this.wrapper.wrapSubrule(e,r,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(s,n,a)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if(nM(s))s.value+=e.toString();else if(typeof e=="object"&&e){let l=e.$type,u=this.assignWithoutOverride(e,s);l&&(u.$type=l);let h=u;this.stack.pop(),this.stack.push(h)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(!n.$cstNode&&r.feature&&r.operator){n=this.construct(!1);let a=n.$cstNode.feature;this.nodeBuilder.buildCompositeNode(a)}let i={$type:e};this.stack.pop(),this.stack.push(i),r.feature&&r.operator&&this.assign(r.operator,r.feature,n,n.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;let r=this.current;return ET(r),this.nodeBuilder.construct(r),e&&this.stack.pop(),nM(r)?this.converter.convert(r.value,r.$cstNode):(NR(this.astReflection,r),r)}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Qd(e,Nl);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Kd(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[n,i]of Object.entries(r)){let a=e[n];a===void 0?e[n]=i:Array.isArray(a)&&Array.isArray(i)&&(i.push(...a),e[n]=i)}return e}get definitionErrors(){return this.wrapper.definitionErrors}},Sk=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return $u.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return $u.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return $u.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return $u.buildEarlyExitMessage(e)}},yg=class extends Sk{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},L2=class extends A2{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e);return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(roe(e.name),this.startImplementation(r).bind(this));return e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,r,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},LOe={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new yg},iM=class extends x2{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},LOe),{lookaheadStrategy:n?new Gu({maxLookahead:r.maxLookahead}):new k2}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}}});function _k(t,e,r){return DOe({parser:e,tokens:r,rules:new Map,ruleNames:new Map},t),e}function DOe(t,e){let r=Qv(e,!1),n=Kr(e.rules).filter(Oa).filter(i=>r.has(i));for(let i of n){let a=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});a.rules.set(i.name,t.parser.rule(i,m0(a,i.definition)))}}function m0(t,e,r=!1){let n;if(Ho(e))n=BOe(t,e);else if(Iu(e))n=ROe(t,e);else if(Nl(e))n=m0(t,e.terminal);else if(Kd(e))n=noe(t,e);else if(Ml(e))n=NOe(t,e);else if(wT(e))n=IOe(t,e);else if(kT(e))n=OOe(t,e);else if(rf(e))n=POe(t,e);else if(fR(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,fo,e),"method")}else throw new jd(e.$cstNode,`Unexpected element type: ${e.$type}`);return ioe(t,r?void 0:Ak(e),n,e.cardinality)}function ROe(t,e){let r=r0(e);return()=>t.parser.action(r,e)}function NOe(t,e){let r=e.rule.ref;if(Oa(r)){let n=t.subrule++,i=e.arguments.length>0?MOe(r,e.arguments):()=>({});return a=>t.parser.subrule(n,aoe(t,r),e,i(a))}else if(Uo(r)){let n=t.consume++,i=aM(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)tf(r);else throw new jd(e.$cstNode,`Undefined rule type: ${e.$type}`)}function MOe(t,e){let r=e.map(n=>Vu(n.value));return n=>{let i={};for(let a=0;ae(n)||r(n)}else if(FD(t)){let e=Vu(t.left),r=Vu(t.right);return n=>e(n)&&r(n)}else if(YD(t)){let e=Vu(t.value);return r=>!e(r)}else if(jD(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(PD(t)){let e=!!t.true;return()=>e}tf(t)}function IOe(t,e){if(e.elements.length===1)return m0(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:m0(t,i,!0)},s=Ak(i);s&&(a.GATE=Vu(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function OOe(t,e){if(e.elements.length===1)return m0(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:m0(t,l,!0)},h=Ak(l);h&&(u.GATE=Vu(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>{let m=d.unorderedGroups.get(i(n,d));return!m?.[h]},f})),"alternatives"),s=ioe(t,Ak(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function POe(t,e){let r=e.elements.map(n=>m0(t,n));return n=>r.forEach(i=>i(n))}function Ak(t){if(rf(t))return t.guardCondition}function noe(t,e,r=e.terminal){if(r)if(Ml(r)&&Oa(r.rule.ref)){let n=t.subrule++;return i=>t.parser.subrule(n,aoe(t,r.rule.ref),e,i)}else if(Ml(r)&&Uo(r.rule.ref)){let n=t.consume++,i=aM(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Ho(r)){let n=t.consume++,i=aM(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=DT(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+r0(e.type.ref));return noe(t,e,i)}}function BOe(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function ioe(t,e,r,n){let i=e&&Vu(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:gk(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:gk(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else tf(n)}function aoe(t,e){let r=FOe(t,e),n=t.rules.get(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function FOe(t,e){if(Oa(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Oa(n);)(rf(n)||wT(n)||kT(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function aM(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var sM=R(()=>{"use strict";u0();Sc();pT();Ds();Il();o(_k,"createParser");o(DOe,"buildRules");o(m0,"buildElement");o(ROe,"buildAction");o(NOe,"buildRuleCall");o(MOe,"buildRuleCallPredicate");o(Vu,"buildPredicate");o(IOe,"buildAlternatives");o(OOe,"buildUnorderedGroup");o(POe,"buildGroup");o(Ak,"getGuardCondition");o(noe,"buildCrossReference");o(BOe,"buildKeyword");o(ioe,"wrap");o(aoe,"getRule");o(FOe,"getRuleName");o(aM,"getToken")});function oM(t){let e=t.Grammar,r=t.parser.Lexer,n=new L2(t);return _k(e,n,r.definition),n.finalize(),n}var lM=R(()=>{"use strict";D2();sM();o(oM,"createCompletionParser")});function cM(t){let e=soe(t);return e.finalize(),e}function soe(t){let e=t.Grammar,r=t.parser.Lexer,n=new _2(t);return _k(e,n,r.definition)}var uM=R(()=>{"use strict";D2();sM();o(cM,"createLangiumParser");o(soe,"prepareLangiumParser")});var g0,hM=R(()=>{"use strict";u0();Sc();es();Il();Um();Ds();g0=class{static{o(this,"DefaultTokenBuilder")}buildTokens(e,r){let n=Kr(Qv(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return i.forEach(s=>{let l=s.PATTERN;typeof l=="object"&&l&&"test"in l&&_T(l)?a.unshift(s):a.push(s)}),a}buildTerminalTokens(e){return e.filter(Uo).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Hm(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=_T(r)?ni.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")?!0:!!(e.source.includes("?<=")||e.source.includes("?(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Oa).flatMap(i=>Ac(i).filter(Ho)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){return{name:e.value,PATTERN:this.buildKeywordPattern(e,n),LONGER_ALT:this.findLongerAlt(e,r)}}buildKeywordPattern(e,r){return r?new RegExp(zR(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&$R("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var y0,Dc,fM=R(()=>{"use strict";Sc();Il();y0=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(Kd(n)&&(n=UR(n)),Ml(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return Dc.convertInt(r);case"STRING":return Dc.convertString(r);case"ID":return Dc.convertID(r)}switch((i=QR(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return Dc.convertNumber(r);case"boolean":return Dc.convertBoolean(r);case"bigint":return Dc.convertBigint(r);case"date":return Dc.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(mM,"__esModule",{value:!0});var dM;function pM(){if(dM===void 0)throw new Error("No runtime abstraction layer installed");return dM}o(pM,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");dM=r}o(e,"install"),t.install=e})(pM||(pM={}));mM.default=pM});var coe=gi(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.stringArray=Pa.array=Pa.func=Pa.error=Pa.number=Pa.string=Pa.boolean=void 0;function zOe(t){return t===!0||t===!1}o(zOe,"boolean");Pa.boolean=zOe;function ooe(t){return typeof t=="string"||t instanceof String}o(ooe,"string");Pa.string=ooe;function $Oe(t){return typeof t=="number"||t instanceof Number}o($Oe,"number");Pa.number=$Oe;function GOe(t){return t instanceof Error}o(GOe,"error");Pa.error=GOe;function VOe(t){return typeof t=="function"}o(VOe,"func");Pa.func=VOe;function loe(t){return Array.isArray(t)}o(loe,"array");Pa.array=loe;function UOe(t){return loe(t)&&t.every(e=>ooe(e))}o(UOe,"stringArray");Pa.stringArray=UOe});var vM=gi(vg=>{"use strict";Object.defineProperty(vg,"__esModule",{value:!0});vg.Emitter=vg.Event=void 0;var HOe=gM(),uoe;(function(t){let e={dispose(){}};t.None=function(){return e}})(uoe||(vg.Event=uoe={}));var yM=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new yM),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};vg.Emitter=Lk;Lk._noop=function(){}});var hoe=gi(xg=>{"use strict";Object.defineProperty(xg,"__esModule",{value:!0});xg.CancellationTokenSource=xg.CancellationToken=void 0;var YOe=gM(),WOe=coe(),xM=vM(),Dk;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:xM.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:xM.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||WOe.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(Dk||(xg.CancellationToken=Dk={}));var qOe=Object.freeze(function(t,e){let r=(0,YOe.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Rk=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?qOe:(this._emitter||(this._emitter=new xM.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},bM=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new Rk),this._token}cancel(){this._token?this._token.cancel():this._token=Dk.Cancelled}dispose(){this._token?this._token instanceof Rk&&this._token.dispose():this._token=Dk.None}};xg.CancellationTokenSource=bM});var pr={};var Wo=R(()=>{"use strict";dr(pr,Xi(hoe(),1))});function TM(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function doe(){return wM=Date.now(),new pr.CancellationTokenSource}function poe(t){foe=t}function of(t){return t===Rc}async function Bi(t){if(t===pr.CancellationToken.None)return;let e=Date.now();if(e-wM>=foe&&(wM=e,await TM()),t.isCancellationRequested)throw Rc}var wM,foe,Rc,as,qo=R(()=>{"use strict";Wo();o(TM,"delayNextTick");wM=0,foe=10;o(doe,"startCancelableOperation");o(poe,"setInterruptionPeriod");Rc=Symbol("OperationCancelled");o(of,"isOperationCancelled");o(Bi,"interruptAndCheck");as=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function kM(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);kM(n,e),kM(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function XOe(t){let e=yoe(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Nk,bg,voe=R(()=>{"use strict";Nk=class t{static{o(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=yoe(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=moe(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&goe(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new Nk(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof Nk)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=kM(a.map(XOe),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(bg||(bg={}));o(kM,"mergeSort");o(moe,"computeLineOffsets");o(goe,"isEOL");o(yoe,"getWellformedRange");o(XOe,"getWellformedEdit")});var xoe,Ms,wg,EM=R(()=>{"use strict";(()=>{"use strict";var t={470:i=>{function a(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}o(a,"e");function s(u,h){for(var f,d="",p=0,m=-1,g=0,y=0;y<=u.length;++y){if(y2){var v=d.lastIndexOf("/");if(v!==d.length-1){v===-1?(d="",p=0):p=(d=d.slice(0,v)).length-1-d.lastIndexOf("/"),m=y,g=0;continue}}else if(d.length===2||d.length===1){d="",p=0,m=y,g=0;continue}}h&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(m+1,y):d=u.slice(m+1,y),p=y-m-1;m=y,g=0}else f===46&&g!==-1?++g:g=-1}return d}o(s,"r");var l={resolve:o(function(){for(var u,h="",f=!1,d=arguments.length-1;d>=-1&&!f;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),a(p),p.length!==0&&(h=p+"/"+h,f=p.charCodeAt(0)===47)}return h=s(h,!f),f?h.length>0?"/"+h:"/":h.length>0?h:"."},"resolve"),normalize:o(function(u){if(a(u),u.length===0)return".";var h=u.charCodeAt(0)===47,f=u.charCodeAt(u.length-1)===47;return(u=s(u,!h)).length!==0||h||(u="."),u.length>0&&f&&(u+="/"),h?"/"+u:u},"normalize"),isAbsolute:o(function(u){return a(u),u.length>0&&u.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var u,h=0;h0&&(u===void 0?u=f:u+="/"+f)}return u===void 0?".":l.normalize(u)},"join"),relative:o(function(u,h){if(a(u),a(h),u===h||(u=l.resolve(u))===(h=l.resolve(h)))return"";for(var f=1;fy){if(h.charCodeAt(m+x)===47)return h.slice(m+x+1);if(x===0)return h.slice(m+x)}else p>y&&(u.charCodeAt(f+x)===47?v=x:x===0&&(v=0));break}var b=u.charCodeAt(f+x);if(b!==h.charCodeAt(m+x))break;b===47&&(v=x)}var w="";for(x=f+v+1;x<=d;++x)x!==d&&u.charCodeAt(x)!==47||(w.length===0?w+="..":w+="/..");return w.length>0?w+h.slice(m+v):(m+=v,h.charCodeAt(m)===47&&++m,h.slice(m))},"relative"),_makeLong:o(function(u){return u},"_makeLong"),dirname:o(function(u){if(a(u),u.length===0)return".";for(var h=u.charCodeAt(0),f=h===47,d=-1,p=!0,m=u.length-1;m>=1;--m)if((h=u.charCodeAt(m))===47){if(!p){d=m;break}}else p=!1;return d===-1?f?"/":".":f&&d===1?"//":u.slice(0,d)},"dirname"),basename:o(function(u,h){if(h!==void 0&&typeof h!="string")throw new TypeError('"ext" argument must be a string');a(u);var f,d=0,p=-1,m=!0;if(h!==void 0&&h.length>0&&h.length<=u.length){if(h.length===u.length&&h===u)return"";var g=h.length-1,y=-1;for(f=u.length-1;f>=0;--f){var v=u.charCodeAt(f);if(v===47){if(!m){d=f+1;break}}else y===-1&&(m=!1,y=f+1),g>=0&&(v===h.charCodeAt(g)?--g==-1&&(p=f):(g=-1,p=y))}return d===p?p=y:p===-1&&(p=u.length),u.slice(d,p)}for(f=u.length-1;f>=0;--f)if(u.charCodeAt(f)===47){if(!m){d=f+1;break}}else p===-1&&(m=!1,p=f+1);return p===-1?"":u.slice(d,p)},"basename"),extname:o(function(u){a(u);for(var h=-1,f=0,d=-1,p=!0,m=0,g=u.length-1;g>=0;--g){var y=u.charCodeAt(g);if(y!==47)d===-1&&(p=!1,d=g+1),y===46?h===-1?h=g:m!==1&&(m=1):h!==-1&&(m=-1);else if(!p){f=g+1;break}}return h===-1||d===-1||m===0||m===1&&h===d-1&&h===f+1?"":u.slice(h,d)},"extname"),format:o(function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return function(h,f){var d=f.dir||f.root,p=f.base||(f.name||"")+(f.ext||"");return d?d===f.root?d+p:d+"/"+p:p}(0,u)},"format"),parse:o(function(u){a(u);var h={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return h;var f,d=u.charCodeAt(0),p=d===47;p?(h.root="/",f=1):f=0;for(var m=-1,g=0,y=-1,v=!0,x=u.length-1,b=0;x>=f;--x)if((d=u.charCodeAt(x))!==47)y===-1&&(v=!1,y=x+1),d===46?m===-1?m=x:b!==1&&(b=1):m!==-1&&(b=-1);else if(!v){g=x+1;break}return m===-1||y===-1||b===0||b===1&&m===y-1&&m===g+1?y!==-1&&(h.base=h.name=g===0&&p?u.slice(1,y):u.slice(g,y)):(g===0&&p?(h.name=u.slice(1,m),h.base=u.slice(1,y)):(h.name=u.slice(g,m),h.base=u.slice(g,y)),h.ext=u.slice(m,y)),g>0?h.dir=u.slice(0,g-1):p&&(h.dir="/"),h},"parse"),sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function r(i){var a=e[i];if(a!==void 0)return a.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}o(r,"r"),r.d=(i,a)=>{for(var s in a)r.o(a,s)&&!r.o(i,s)&&Object.defineProperty(i,s,{enumerable:!0,get:a[s]})},r.o=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>M,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(N,k){if(!N.scheme&&k)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!a.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!s.test(N.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"s");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"f")}static isUri(k){return k instanceof p||!!k&&typeof k.authority=="string"&&typeof k.fragment=="string"&&typeof k.path=="string"&&typeof k.query=="string"&&typeof k.scheme=="string"&&typeof k.fsPath=="string"&&typeof k.with=="function"&&typeof k.toString=="function"}scheme;authority;path;query;fragment;constructor(k,I,C,O,D,P=!1){typeof k=="object"?(this.scheme=k.scheme||h,this.authority=k.authority||h,this.path=k.path||h,this.query=k.query||h,this.fragment=k.fragment||h):(this.scheme=function(F,B){return F||B?F:"file"}(k,P),this.authority=I||h,this.path=function(F,B){switch(F){case"https":case"http":case"file":B?B[0]!==f&&(B=f+B):B=f}return B}(this.scheme,C||h),this.query=O||h,this.fragment=D||h,u(this,P))}get fsPath(){return b(this,!1)}with(k){if(!k)return this;let{scheme:I,authority:C,path:O,query:D,fragment:P}=k;return I===void 0?I=this.scheme:I===null&&(I=h),C===void 0?C=this.authority:C===null&&(C=h),O===void 0?O=this.path:O===null&&(O=h),D===void 0?D=this.query:D===null&&(D=h),P===void 0?P=this.fragment:P===null&&(P=h),I===this.scheme&&C===this.authority&&O===this.path&&D===this.query&&P===this.fragment?this:new g(I,C,O,D,P)}static parse(k,I=!1){let C=d.exec(k);return C?new g(C[2]||h,E(C[4]||h),E(C[5]||h),E(C[7]||h),E(C[9]||h),I):new g(h,h,h,h,h)}static file(k){let I=h;if(i&&(k=k.replace(/\\/g,f)),k[0]===f&&k[1]===f){let C=k.indexOf(f,2);C===-1?(I=k.substring(2),k=f):(I=k.substring(2,C),k=k.substring(C)||f)}return new g("file",I,k,h,h)}static from(k){let I=new g(k.scheme,k.authority,k.path,k.query,k.fragment);return u(I,!0),I}toString(k=!1){return w(this,k)}toJSON(){return this}static revive(k){if(k){if(k instanceof p)return k;{let I=new g(k);return I._formatted=k.external,I._fsPath=k._sep===m?k.fsPath:null,I}}return k}}let m=i?1:void 0;class g extends p{static{o(this,"l")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(k=!1){return k?w(this,!0):(this._formatted||(this._formatted=w(this,!1)),this._formatted)}toJSON(){let k={$mid:1};return this._fsPath&&(k.fsPath=this._fsPath,k._sep=m),this._formatted&&(k.external=this._formatted),this.path&&(k.path=this.path),this.scheme&&(k.scheme=this.scheme),this.authority&&(k.authority=this.authority),this.query&&(k.query=this.query),this.fragment&&(k.fragment=this.fragment),k}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(N,k,I){let C,O=-1;for(let D=0;D=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||k&&P===47||I&&P===91||I&&P===93||I&&P===58)O!==-1&&(C+=encodeURIComponent(N.substring(O,D)),O=-1),C!==void 0&&(C+=N.charAt(D));else{C===void 0&&(C=N.substr(0,D));let F=y[P];F!==void 0?(O!==-1&&(C+=encodeURIComponent(N.substring(O,D)),O=-1),C+=F):O===-1&&(O=D)}}return O!==-1&&(C+=encodeURIComponent(N.substring(O))),C!==void 0?C:N}o(v,"d");function x(N){let k;for(let I=0;I1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?k?N.path.substr(1):N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(I=I.replace(/\//g,"\\")),I}o(b,"m");function w(N,k){let I=k?x:v,C="",{scheme:O,authority:D,path:P,query:F,fragment:B}=N;if(O&&(C+=O,C+=":"),(D||O==="file")&&(C+=f,C+=f),D){let G=D.indexOf("@");if(G!==-1){let z=D.substr(0,G);D=D.substr(G+1),G=z.lastIndexOf(":"),G===-1?C+=I(z,!1,!1):(C+=I(z.substr(0,G),!1,!1),C+=":",C+=I(z.substr(G+1),!1,!0)),C+="@"}D=D.toLowerCase(),G=D.lastIndexOf(":"),G===-1?C+=I(D,!1,!0):(C+=I(D.substr(0,G),!1,!0),C+=D.substr(G))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let G=P.charCodeAt(1);G>=65&&G<=90&&(P=`/${String.fromCharCode(G+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let G=P.charCodeAt(0);G>=65&&G<=90&&(P=`${String.fromCharCode(G+32)}:${P.substr(2)}`)}C+=I(P,!0,!1)}return F&&(C+="?",C+=I(F,!1,!1)),B&&(C+="#",C+=k?B:v(B,!1,!1)),C}o(w,"y");function S(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+S(N.substr(3)):N}}o(S,"v");let T=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(N){return N.match(T)?N.replace(T,k=>S(k)):N}o(E,"C");var _=r(470);let A=_.posix||_,L="/";var M;(function(N){N.joinPath=function(k,...I){return k.with({path:A.join(k.path,...I)})},N.resolvePath=function(k,...I){let C=k.path,O=!1;C[0]!==L&&(C=L+C,O=!0);let D=A.resolve(C,...I);return O&&D[0]===L&&!k.authority&&(D=D.substring(1)),k.with({path:D})},N.dirname=function(k){if(k.path.length===0||k.path===L)return k;let I=A.dirname(k.path);return I.length===1&&I.charCodeAt(0)===46&&(I=""),k.with({path:I})},N.basename=function(k){return A.basename(k.path)},N.extname=function(k){return A.extname(k.path)}})(M||(M={}))})(),xoe=n})();({URI:Ms,Utils:wg}=xoe)});var ss,Nc=R(()=>{"use strict";EM();(function(t){t.basename=wg.basename,t.dirname=wg.dirname,t.extname=wg.extname,t.joinPath=wg.joinPath,t.resolvePath=wg.resolvePath;function e(n,i){return n?.toString()===i?.toString()}o(e,"equals"),t.equals=e;function r(n,i){let a=typeof n=="string"?n:n.path,s=typeof i=="string"?i:i.path,l=a.split("/").filter(p=>p.length>0),u=s.split("/").filter(p=>p.length>0),h=0;for(;h{"use strict";voe();Tg();Wo();Ds();Nc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(yn||(yn={}));R2=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=pr.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??Ms.parse(e.uri),n?this.createAsync(r,e,n):this.create(r,e)}fromString(e,r,n){return n?this.createAsync(r,e,n):this.create(r,e)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r){if(typeof r=="string"){let n=this.parse(e,r);return this.createLangiumDocument(n,e,void 0,r)}else if("$model"in r){let n={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,r.getText());return this.createLangiumDocument(n,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:yn.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:yn.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){var n,i;let a=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,s=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),l=s?s.getText():await this.fileSystemProvider.readFile(e.uri);if(s)Object.defineProperty(e,"textDocument",{value:s});else{let u=this.createTextDocumentGetter(e.uri,l);Object.defineProperty(e,"textDocument",{get:u})}return a!==l&&(e.parseResult=await this.parseAsync(e.uri,l,r),e.parseResult.value.$document=e),e.state=yn.Parsed,e}parse(e,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=bg.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},N2=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return Kr(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){let r=e.toString();return this.documentMap.get(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=yn.Changed,n.precomputedScopes=void 0,n.references=[],n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=yn.Changed,this.documentMap.delete(r)),n}}});var M2,CM=R(()=>{"use strict";Wo();Vo();es();qo();Tg();M2=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=pr.CancellationToken.None){for(let n of Yo(e.parseResult.value))await Bi(r),Gm(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if(n._ref===void 0)try{let i=this.getCandidate(e);if(Wd(i))n._ref=i;else if(n._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)){let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${i}`})}r.references.push(n)}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,get ref(){var l;if(Xn(this._ref))return this._ref;if(ED(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){let u=a.getLinkedNode({reference:s,container:e,property:r});if(u.error&&Oi(e).state{"use strict";Il();o(boe,"isNamed");I2=class{static{o(this,"DefaultNameProvider")}getName(e){if(boe(e))return e.name}getNameNode(e){return Zv(e.$cstNode,"name")}}});var O2,AM=R(()=>{"use strict";Il();Vo();es();Rl();Ds();Nc();O2=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=jR(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(xa(i))return i.ref;if(Array.isArray(i)){for(let a of i)if(xa(a)&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return a.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||SD(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let a=this.getReferenceToSelf(e);a&&n.push(a)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>ss.equals(a.sourceUri,r.documentUri))),n.push(...i),Kr(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=Oi(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:Xd(r),local:!0}}}}});var Mc,v0,kg=R(()=>{"use strict";Ds();Mc=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return Fm.sum(Kr(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Kr(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Kr(this.map.keys())}values(){return Kr(this.map.values()).flat()}entriesGroupedByKey(){return Kr(this.map.entries())}},v0=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var P2,_M=R(()=>{"use strict";Wo();es();kg();qo();P2=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=pr.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=Wv,i=pr.CancellationToken.None){let a=[];this.exportNode(e,a,r);for(let s of n(e))await Bi(i),this.exportNode(s,a,r);return a}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=pr.CancellationToken.None){let n=e.parseResult.value,i=new Mc;for(let a of Ac(n))await Bi(r),this.processNode(a,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var Eg,B2,jOe,LM=R(()=>{"use strict";Ds();Eg=class{static{o(this,"StreamScope")}constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},B2=class{static{o(this,"MapScope")}constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let a of e){let s=this.caseInsensitive?a.name.toLowerCase():a.name;this.elements.set(s,a)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Kr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},jOe={getElement(){},getAllElements(){return $v}}});var Cg,F2,x0,Mk,Sg,Ik=R(()=>{"use strict";Cg=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},F2=class extends Cg{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},x0=class extends Cg{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},Mk=class extends x0{static{o(this,"DocumentCache")}constructor(e){super(r=>r.toString()),this.onDispose(e.workspace.DocumentBuilder.onUpdate((r,n)=>{let i=r.concat(n);for(let a of i)this.clear(a)}))}},Sg=class extends F2{static{o(this,"WorkspaceCache")}constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var z2,DM=R(()=>{"use strict";LM();es();Ds();Ik();z2=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new Sg(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Oi(e.container).precomputedScopes;if(i){let s=e.container;do{let l=i.get(s);l.length>0&&r.push(Kr(l).filter(u=>this.reflection.isSubtype(u.type,n))),s=s.$container}while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new Eg(Kr(e),r,n)}createScopeForNodes(e,r,n){let i=Kr(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new Eg(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new B2(this.indexManager.allElements(e)))}}});function RM(t){return typeof t.$comment=="string"}function woe(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var $2,Ok=R(()=>{"use strict";EM();Vo();es();Il();o(RM,"isAstNodeWithComment");o(woe,"isIntermediateReference");$2=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r={}){let n=r?.replacer,i=o((s,l)=>this.replacer(s,l,r),"defaultReplacer"),a=n?(s,l)=>n(s,l,i):i;try{return this.currentDocument=Oi(e),JSON.stringify(e,a,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r={}){let n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:l}){var u,h,f,d;if(!this.ignoreProperties.has(e))if(xa(r)){let p=r.ref,m=n?r.$refText:void 0;if(p){let g=Oi(p),y="";this.currentDocument&&this.currentDocument!==g&&(l?y=l(g.uri,r):y=g.uri.toString());let v=this.astNodeLocator.getAstNodePath(p);return{$ref:`${y}#${v}`,$refText:m}}else return{$error:(h=(u=r.error)===null||u===void 0?void 0:u.message)!==null&&h!==void 0?h:"Could not resolve reference",$refText:m}}else if(Xn(r)){let p;if(a&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion&&(p.$textRegion.documentURI=(f=this.currentDocument)===null||f===void 0?void 0:f.uri.toString())),i&&!e&&(p??(p=Object.assign({},r)),p.$sourceText=(d=r.$cstNode)===null||d===void 0?void 0:d.text),s){p??(p=Object.assign({},r));let m=this.commentProvider.getComment(r);m&&(p.$comment=m.replace(/\r/g,""))}return p??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=YR(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Nc();G2=class{static{o(this,"DefaultServiceRegistry")}register(e){if(!this.singleton&&!this.map){this.singleton=e;return}if(!this.map&&(this.map={},this.singleton)){for(let r of this.singleton.LanguageMetaData.fileExtensions)this.map[r]=this.singleton;this.singleton=void 0}for(let r of e.LanguageMetaData.fileExtensions)this.map[r]!==void 0&&this.map[r]!==e&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`),this.map[r]=e}getServices(e){if(this.singleton!==void 0)return this.singleton;if(this.map===void 0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=ss.extname(e),n=this.map[r];if(!n)throw new Error(`The service registry contains no services for the extension '${r}'.`);return n}get all(){return this.singleton!==void 0?[this.singleton]:this.map!==void 0?Object.values(this.map):[]}}});function Pk(t){return{code:t}}var Ag,V2,U2=R(()=>{"use strict";kg();qo();Ds();o(Pk,"diagnosticData");(function(t){t.all=["fast","slow","built-in"]})(Ag||(Ag={}));V2=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new Mc,this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}}}wrapValidationException(e,r){return async(n,i,a)=>{try{await e.call(r,n,i,a)}catch(s){if(of(s))throw s;console.error("An error occurred during validation:",s);let l=s instanceof Error?s.message:String(s);s instanceof Error&&s.stack&&console.error(s.stack),i("error","An error occurred during validation: "+l,{node:n})}}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Kr(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}}});function Toe(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Zv(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=qR(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Bk(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}var H2,Uu,MM=R(()=>{"use strict";Wo();Il();es();Rl();qo();U2();H2=class{static{o(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=pr.CancellationToken.None){let i=e.parseResult,a=[];if(await Bi(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===Uu.LexingError})||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===Uu.ParsingError}))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===Uu.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(of(s))throw s;console.error("An error occurred during validation:",s)}return await Bi(n),a}processLexingErrors(e,r,n){for(let i of e.lexerErrors){let a={severity:Bk("error"),range:{start:{line:i.line-1,character:i.column-1},end:{line:i.line-1,character:i.column+i.length-1}},message:i.message,data:Pk(Uu.LexingError),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=zm(i.token);if(a){let s={severity:Bk("error"),range:a,message:i.message,data:Pk(Uu.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.container,property:a.property,index:a.index,data:{code:Uu.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=pr.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"acceptor");return await Promise.all(Yo(e).map(async s=>{await Bi(n);let l=this.validationRegistry.getChecks(s.$type,r.categories);for(let u of l)await u(s,a,n)})),i}toDiagnostic(e,r,n){return{message:r,range:Toe(n),severity:Bk(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(Toe,"getDiagnosticRange");o(Bk,"toDiagnosticSeverity");(function(t){t.LexingError="lexing-error",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Uu||(Uu={}))});var Y2,W2,IM=R(()=>{"use strict";Wo();Vo();es();Rl();qo();Nc();Y2=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n=Oi(e)){r??(r=this.nameProvider.getName(e));let i=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${i} has no name.`);let a,s=o(()=>{var l;return a??(a=Xd((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))},"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return s()},selectionSegment:Xd(e.$cstNode),type:e.$type,documentUri:n.uri,path:i}}},W2=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=pr.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Yo(i))await Bi(r),Gm(a).filter(s=>!Wd(s)).forEach(s=>{let l=this.createDescription(s);l&&n.push(l)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=Oi(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Xd(n),local:ss.equals(r.documentUri,i)}}}});var q2,OM=R(()=>{"use strict";q2=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1)),h=i[l];return h?.[u]}return i[a]},e)}}});var X2,PM=R(()=>{"use strict";qo();X2=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new as,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{this.updateSectionConfiguration(r,e.settings[r])})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}}});var b0,BM=R(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(b0||(b0={}))});var j2,FM=R(()=>{"use strict";Wo();BM();kg();qo();Ds();U2();Tg();j2=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Mc,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=yn.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=pr.CancellationToken.None){var i,a;for(let s of e){let l=s.uri.toString();if(s.state===yn.Validated){if(typeof r.validation=="boolean"&&r.validation)s.state=yn.IndexedReferences,s.diagnostics=void 0,this.buildState.delete(l);else if(typeof r.validation=="object"){let u=this.buildState.get(l),h=(i=u?.result)===null||i===void 0?void 0:i.validationChecks;if(h){let d=((a=r.validation.categories)!==null&&a!==void 0?a:Ag.all).filter(p=>!h.includes(p));d.length>0&&(this.buildState.set(l,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:d})},result:u.result}),s.state=yn.IndexedReferences)}}}else this.buildState.delete(l)}this.currentState=yn.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=pr.CancellationToken.None){this.currentState=yn.Changed;for(let s of r)this.langiumDocuments.deleteDocument(s),this.buildState.delete(s.toString()),this.indexManager.remove(s);for(let s of e){if(!this.langiumDocuments.invalidateDocument(s)){let u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},s);u.state=yn.Changed,this.langiumDocuments.addDocument(u)}this.buildState.delete(s.toString())}let i=Kr(e).concat(r).map(s=>s.toString()).toSet();this.langiumDocuments.all.filter(s=>!i.has(s.uri.toString())&&this.shouldRelink(s,i)).forEach(s=>{this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),s.state=Math.min(s.state,yn.ComputedScopes),s.diagnostics=void 0}),await this.emitUpdate(e,r),await Bi(n);let a=this.langiumDocuments.all.filter(s=>{var l;return s.staten(e,r)))}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),b0.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,yn.Parsed,n,a=>this.langiumDocumentFactory.update(a,n)),await this.runCancelable(e,yn.IndexedContent,n,a=>this.indexManager.updateContent(a,n)),await this.runCancelable(e,yn.ComputedScopes,n,async a=>{let s=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await s.computeLocalScopes(a,n)}),await this.runCancelable(e,yn.Linked,n,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,n)),await this.runCancelable(e,yn.IndexedReferences,n,a=>this.indexManager.updateReferences(a,n));let i=e.filter(a=>this.shouldValidate(a));await this.runCancelable(i,yn.Validated,n,a=>this.validate(a,n));for(let a of e){let s=this.buildState.get(a.uri.toString());s&&(s.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){let a=e.filter(s=>s.state{this.buildPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=pr.CancellationToken.None),i){let a=this.langiumDocuments.getDocument(i);if(a&&a.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(Rc):new Promise((a,s)=>{let l=this.onBuildPhase(e,()=>{if(l.dispose(),u.dispose(),i){let h=this.langiumDocuments.getDocument(i);a(h?.uri)}else a(void 0)}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(Rc)})})}async notifyBuildPhase(e,r,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(r);for(let a of i)await Bi(n),await a(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let a=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,l=typeof s=="object"?s:void 0,u=await a.validateDocument(e,l,r);e.diagnostics?e.diagnostics.push(...u):e.diagnostics=u;let h=this.buildState.get(e.uri.toString());if(h){(n=h.result)!==null&&n!==void 0||(h.result={});let f=(i=l?.categories)!==null&&i!==void 0?i:Ag.all;h.result.validationChecks?h.result.validationChecks.push(...f):h.result.validationChecks=[...f]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}});var K2,zM=R(()=>{"use strict";es();Ik();Wo();Ds();Nc();K2=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new x0,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Oi(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{ss.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Kr(i)}allElements(e,r){let n=Kr(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var a;return((a=this.symbolIndex.get(e))!==null&&a!==void 0?a:[]).filter(l=>this.astReflection.isSubtype(l.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=pr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=pr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var Q2,$M=R(()=>{"use strict";Wo();qo();Nc();Q2=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new as,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=pr.CancellationToken.None){let n=await this.performStartup(e);await Bi(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),n=[],i=o(a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)},"collector");return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return Ms.parse(e.uri)}async traverseFolder(e,r,n,i){let a=await this.fileSystemProvider.readDirectory(r);await Promise.all(a.map(async s=>{if(this.includeEntry(e,s,n)){if(s.isDirectory)await this.traverseFolder(e,s.uri,n,i);else if(s.isFile){let l=await this.langiumDocuments.getOrCreateDocument(s.uri);i(l)}}}))}includeEntry(e,r,n){let i=ss.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let a=ss.extname(r.uri);return n.includes(a)}return!1}}});function koe(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function VM(t){return t&&"modes"in t&&"defaultMode"in t}function GM(t){return!koe(t)&&!VM(t)}var Z2,UM=R(()=>{"use strict";u0();Z2=class{static{o(this,"DefaultLexer")}constructor(e){let r=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=GM(r)?Object.values(r):r;this.chevrotainLexer=new ni(n,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var r;let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:(r=n.groups.hidden)!==null&&r!==void 0?r:[]}}toTokenTypeDictionary(e){if(GM(e))return e;let r=VM(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(koe,"isTokenTypeArray");o(VM,"isIMultiModeLexerDefinition");o(GM,"isTokenTypeDictionary")});function WM(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Ur.create(0,0));let a=Soe(t),s=XM(n),l=QOe({lines:a,position:i,options:s});return rPe({index:0,tokens:l,position:i})}function qM(t,e){let r=XM(e),n=Soe(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function Soe(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(BR)}function QOe(t){var e,r,n;let i=[],a=t.position.line,s=t.position.character;for(let l=0;l=f.length){if(i.length>0){let m=Ur.create(a,s);i.push({type:"break",content:"",range:wr.create(m,m)})}}else{Eoe.lastIndex=d;let m=Eoe.exec(f);if(m){let g=m[0],y=m[1],v=Ur.create(a,s+d),x=Ur.create(a,s+d+g.length);i.push({type:"tag",content:y,range:wr.create(v,x)}),d+=g.length,d=YM(f,d)}if(d0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function ZOe(t,e,r,n){let i=[];if(t.length===0){let a=Ur.create(r,n),s=Ur.create(r,n+e.length);i.push({type:"text",content:e,range:wr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:wr.create(Ur.create(r,a+n),Ur.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:wr.create(Ur.create(r,a+f+n),Ur.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:wr.create(Ur.create(r,a+f+n),Ur.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:wr.create(Ur.create(r,a+f+n),Ur.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:wr.create(Ur.create(r,a+n),Ur.create(r,a+n+s.length))})}return i}function YM(t,e){let r=t.substring(e).match(JOe);return r?e+r.index:t.length}function tPe(t){let e=t.match(ePe);if(e&&typeof e.index=="number")return e.index}function rPe(t){var e,r,n,i;let a=Ur.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Fk([],wr.create(a,a));let s=[];for(;t.index0){let u=YM(e,a);s=e.substring(u),e=e.substring(0,a)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(s=`\`${s}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,s))!==null&&i!==void 0?i:oPe(e,s)}}function oPe(t,e){try{return Ms.parse(t,!0),`[${e}](${t})`}catch{return t}}function Coe(t){return t.endsWith(` `)?` `:` -`}var Jae,AIe,RIe,MIe,lw,O2,P2,cw,aI=_(()=>{"use strict";hM();_m();kc();s(rI,"parseJSDoc");s(nI,"isJSDoc");s(tse,"getLines");Jae=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,AIe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;s(LIe,"tokenize");s(DIe,"buildInlineTokens");RIe=/\S/,MIe=/\s*$/;s(tI,"skipWhitespace");s(IIe,"lastCharacter");s(NIe,"parseJSDocComment");s(OIe,"parseJSDocElement");s(PIe,"appendEmptyLine");s(rse,"parseJSDocText");s(BIe,"parseJSDocInline");s(nse,"parseJSDocTag");s(ise,"parseJSDocLine");s(iI,"normalizeOptions");s(eI,"normalizeOption");lw=class{static{s(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=ese(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=ese(r)+i}return r.trim()}},O2=class{static{s(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} -${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=FIe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} -${r}`),this.inline?`{${i}}`:i}};s(FIe,"renderInlineTag");s(zIe,"renderLinkDefault");P2=class{static{s(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`}var Eoe,KOe,JOe,ePe,Fk,J2,ex,zk,jM=R(()=>{"use strict";tM();Um();Nc();o(WM,"parseJSDoc");o(qM,"isJSDoc");o(Soe,"getLines");Eoe=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,KOe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(QOe,"tokenize");o(ZOe,"buildInlineTokens");JOe=/\S/,ePe=/\s*$/;o(YM,"skipWhitespace");o(tPe,"lastCharacter");o(rPe,"parseJSDocComment");o(nPe,"parseJSDocElement");o(iPe,"appendEmptyLine");o(Aoe,"parseJSDocText");o(aPe,"parseJSDocInline");o(_oe,"parseJSDocTag");o(Loe,"parseJSDocLine");o(XM,"normalizeOptions");o(HM,"normalizeOption");Fk=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=Coe(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=Coe(r)+i}return r.trim()}},J2=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=sPe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}};o(sPe,"renderInlineTag");o(oPe,"renderLinkDefault");ex=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` -`)}return r}},cw=class{static{s(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};s(ese,"fillNewlines")});var B2,sI=_(()=>{"use strict";Ha();aI();B2=class{static{s(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&nI(r))return rI(r).toMarkdown({renderLink:s((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:s(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){var i;let a=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(a&&a.nameSegment){let o=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${o},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){let i=Ai(e).precomputedScopes;if(!i)return;let a=e;do{let l=i.get(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var F2,oI=_(()=>{"use strict";aw();gl();F2=class{static{s(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return GM(e)?e.$comment:(r=FL(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}});var Kn={};var lI=_(()=>{"use strict";lr(Kn,ka(AM(),1))});var z2,cI,uI,hI=_(()=>{"use strict";Oo();lI();z2=class{static{s(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}},cI=class{static{s(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Qa,a,o=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Qa;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(bc)}),this.queue.push(r),r.promise}},uI=class{static{s(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new Kn.Emitter,this.deferred=new Qa,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let o=a;this.deferred.resolve(o),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(bc),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Qa,this.sendMessage(e),this.deferred.promise}}});var $2,fI=_(()=>{"use strict";No();Oo();$2=class{static{s(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new cr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=new cr.CancellationTokenSource;return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n){let i=new Qa,a={action:r,deferred:i,cancellationToken:n??cr.CancellationToken.None};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){ef(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var G2,dI=_(()=>{"use strict";X6();mc();Do();Ha();og();gl();G2=class{static{s(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new s0,this.tokenTypeIdMap=new s0,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors.map(r=>Object.assign({},r)),parserErrors:e.parserErrors.map(r=>Object.assign({},r)),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Io(e))r.set(i,{});if(e.$cstNode)for(let i of Od(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let l of a)$n(l)?o.push(this.dehydrateAstNode(l,r)):ua(l)?o.push(this.dehydrateReference(l,r)):o.push(l)}else $n(a)?n[i]=this.dehydrateAstNode(a,r):ua(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return kv(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),to(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Xh(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Io(e))r.set(a,{});let i;if(e.$cstNode)for(let a of Od(e.$cstNode)){let o;"fullText"in a?(o=new eg(a.fullText),i=o):"content"in a?o=new r0:"tokenType"in a&&(o=this.hydrateCstLeafNode(a)),o&&(n.set(a,o),o.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let o=[];n[i]=o;for(let l of a)$n(l)?o.push(this.setParent(this.hydrateAstNode(l,r),n)):ua(l)?o.push(this.hydrateReference(l,n,i,r)):o.push(l)}else $n(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ua(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),to(i))for(let a of e.content){let o=this.hydrateCstNode(a,r,n++);i.content.push(o)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,o=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new t0(n,i,{start:{line:a,character:o},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap();let r=this.grammarElementIdMap.getKey(e);if(r)return r;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(let r of Io(this.grammar))Cv(r)&&this.grammarElementIdMap.set(r,e++)}}});function kl(t){return{documentation:{CommentProvider:s(e=>new F2(e),"CommentProvider"),DocumentationProvider:s(e=>new B2(e),"DocumentationProvider")},parser:{AsyncParser:s(e=>new z2(e),"AsyncParser"),GrammarConfig:s(e=>cR(e),"GrammarConfig"),LangiumParser:s(e=>xM(e),"LangiumParser"),CompletionParser:s(e=>yM(e),"CompletionParser"),ValueConverter:s(()=>new a0,"ValueConverter"),TokenBuilder:s(()=>new i0,"TokenBuilder"),Lexer:s(e=>new N2(e),"Lexer"),ParserErrorMessageProvider:s(()=>new tg,"ParserErrorMessageProvider")},workspace:{AstNodeLocator:s(()=>new L2,"AstNodeLocator"),AstNodeDescriptionProvider:s(e=>new _2(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:s(e=>new A2(e),"ReferenceDescriptionProvider")},references:{Linker:s(e=>new m2(e),"Linker"),NameProvider:s(()=>new g2,"NameProvider"),ScopeProvider:s(e=>new k2(e),"ScopeProvider"),ScopeComputation:s(e=>new v2(e),"ScopeComputation"),References:s(e=>new y2(e),"References")},serializer:{Hydrator:s(e=>new G2(e),"Hydrator"),JsonSerializer:s(e=>new w2(e),"JsonSerializer")},validation:{DocumentValidator:s(e=>new S2(e),"DocumentValidator"),ValidationRegistry:s(e=>new E2(e),"ValidationRegistry")},shared:s(()=>t.shared,"shared")}}function wl(t){return{ServiceRegistry:s(()=>new T2,"ServiceRegistry"),workspace:{LangiumDocuments:s(e=>new p2(e),"LangiumDocuments"),LangiumDocumentFactory:s(e=>new d2(e),"LangiumDocumentFactory"),DocumentBuilder:s(e=>new R2(e),"DocumentBuilder"),IndexManager:s(e=>new M2(e),"IndexManager"),WorkspaceManager:s(e=>new I2(e),"WorkspaceManager"),FileSystemProvider:s(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:s(()=>new $2,"WorkspaceLock"),ConfigurationProvider:s(e=>new D2(e),"ConfigurationProvider")}}}var pI=_(()=>{"use strict";uR();vM();bM();kM();wM();OM();PM();BM();FM();$M();aw();VM();UM();C2();qM();WM();HM();XM();sg();jM();KM();JM();sI();oI();f2();hI();fI();dI();s(kl,"createDefaultCoreModule");s(wl,"createDefaultSharedCoreModule")});function Aa(t,e,r,n,i,a,o,l,u){let h=[t,e,r,n,i,a,o,l,u].reduce(uw,{});return lse(h)}function ose(t){if(t&&t[gI])for(let e of Object.values(t))ose(e);return t}function lse(t,e){let r=new Proxy({},{deleteProperty:s(()=>!1,"deleteProperty"),get:s((n,i)=>sse(n,i,t,e||r),"get"),getOwnPropertyDescriptor:s((n,i)=>(sse(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:s((n,i)=>i in t,"has"),ownKeys:s(()=>[...Reflect.ownKeys(t),gI],"ownKeys")});return r[gI]=!0,r}function sse(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===ase)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=ase;try{t[e]=typeof i=="function"?i(n):lse(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function uw(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=uw(i,n):t[r]=n}}return t}var mI,gI,ase,yI=_(()=>{"use strict";(function(t){t.merge=(e,r)=>uw(uw({},e),r)})(mI||(mI={}));s(Aa,"inject");gI=Symbol("isProxy");s(ose,"eagerLoad");s(lse,"_inject");ase=Symbol();s(sse,"_resolve");s(uw,"_merge")});var cse=_(()=>{"use strict"});var use=_(()=>{"use strict";oI();sI();aI()});var hse=_(()=>{"use strict"});var fse=_(()=>{"use strict";uR();hse()});var dse=_(()=>{"use strict"});var pse=_(()=>{"use strict";hI();vM();X6();bM();f2();JM();dse();kM();wM()});var mse=_(()=>{"use strict";OM();PM();BM();zM();FM();$M()});var gse=_(()=>{"use strict";dI();aw()});var hw,Tl,vI=_(()=>{"use strict";hw=class{static{s(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Tl={fileSystemProvider:s(()=>new hw,"fileSystemProvider")}});function VIe(){let t=Aa(wl(Tl),GIe),e=Aa(kl({shared:t}),$Ie);return t.ServiceRegistry.register(e),e}function c0(t){var e;let r=VIe(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,_s.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var $Ie,GIe,yse=_(()=>{"use strict";pI();yI();mc();vI();kc();$Ie={Grammar:s(()=>{},"Grammar"),LanguageMetaData:s(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},GIe={AstReflection:s(()=>new Em,"AstReflection")};s(VIe,"createMinimalGrammarServices");s(c0,"loadGrammarFromJson")});var wr={};ur(wr,{AstUtils:()=>jk,BiMap:()=>s0,Cancellation:()=>cr,ContextCache:()=>o0,CstUtils:()=>Bk,DONE_RESULT:()=>Wa,Deferred:()=>Qa,Disposable:()=>l0,DisposableCache:()=>cg,DocumentCache:()=>nw,EMPTY_STREAM:()=>wv,ErrorWithLocation:()=>Bd,GrammarUtils:()=>t6,MultiMap:()=>wc,OperationCancelled:()=>bc,Reduction:()=>wm,RegExpUtils:()=>Jk,SimpleCache:()=>b2,StreamImpl:()=>ro,TreeStreamImpl:()=>pc,URI:()=>_s,UriUtils:()=>Za,WorkspaceCache:()=>ug,assertUnreachable:()=>jh,delayNextTick:()=>MM,interruptAndCheck:()=>Di,isOperationCancelled:()=>ef,loadGrammarFromJson:()=>c0,setInterruptionPeriod:()=>Uae,startCancelableOperation:()=>Vae,stream:()=>Wr});var vse=_(()=>{"use strict";iw();lI();lr(wr,Kn);og();YM();Fk();yse();Oo();Es();kc();Ha();No();gl();xl();_m()});var xse=_(()=>{"use strict";UM();C2()});var bse=_(()=>{"use strict";qM();WM();HM();XM();sg();vI();jM();fI();KM()});var ha={};ur(ha,{AbstractAstReflection:()=>Id,AbstractCstNode:()=>l2,AbstractLangiumParser:()=>c2,AbstractParserErrorMessageProvider:()=>K6,AbstractThreadedAsyncParser:()=>cI,AstUtils:()=>jk,BiMap:()=>s0,Cancellation:()=>cr,CompositeCstNodeImpl:()=>r0,ContextCache:()=>o0,CstNodeBuilder:()=>o2,CstUtils:()=>Bk,DONE_RESULT:()=>Wa,DatatypeSymbol:()=>j6,DefaultAstNodeDescriptionProvider:()=>_2,DefaultAstNodeLocator:()=>L2,DefaultAsyncParser:()=>z2,DefaultCommentProvider:()=>F2,DefaultConfigurationProvider:()=>D2,DefaultDocumentBuilder:()=>R2,DefaultDocumentValidator:()=>S2,DefaultHydrator:()=>G2,DefaultIndexManager:()=>M2,DefaultJsonSerializer:()=>w2,DefaultLangiumDocumentFactory:()=>d2,DefaultLangiumDocuments:()=>p2,DefaultLexer:()=>N2,DefaultLinker:()=>m2,DefaultNameProvider:()=>g2,DefaultReferenceDescriptionProvider:()=>A2,DefaultReferences:()=>y2,DefaultScopeComputation:()=>v2,DefaultScopeProvider:()=>k2,DefaultServiceRegistry:()=>T2,DefaultTokenBuilder:()=>i0,DefaultValueConverter:()=>a0,DefaultWorkspaceLock:()=>$2,DefaultWorkspaceManager:()=>I2,Deferred:()=>Qa,Disposable:()=>l0,DisposableCache:()=>cg,DocumentCache:()=>nw,DocumentState:()=>un,DocumentValidator:()=>Nu,EMPTY_SCOPE:()=>_Ie,EMPTY_STREAM:()=>wv,EmptyFileSystem:()=>Tl,EmptyFileSystemProvider:()=>hw,ErrorWithLocation:()=>Bd,GrammarAST:()=>_v,GrammarUtils:()=>t6,JSDocDocumentationProvider:()=>B2,LangiumCompletionParser:()=>h2,LangiumParser:()=>u2,LangiumParserErrorMessageProvider:()=>tg,LeafCstNodeImpl:()=>t0,MapScope:()=>x2,Module:()=>mI,MultiMap:()=>wc,OperationCancelled:()=>bc,ParserWorker:()=>uI,Reduction:()=>wm,RegExpUtils:()=>Jk,RootCstNodeImpl:()=>eg,SimpleCache:()=>b2,StreamImpl:()=>ro,StreamScope:()=>lg,TextDocument:()=>ig,TreeStreamImpl:()=>pc,URI:()=>_s,UriUtils:()=>Za,ValidationCategory:()=>hg,ValidationRegistry:()=>E2,ValueConverter:()=>xc,WorkspaceCache:()=>ug,assertUnreachable:()=>jh,createCompletionParser:()=>yM,createDefaultCoreModule:()=>kl,createDefaultSharedCoreModule:()=>wl,createGrammarConfig:()=>cR,createLangiumParser:()=>xM,delayNextTick:()=>MM,diagnosticData:()=>sw,eagerLoad:()=>ose,getDiagnosticRange:()=>Qae,inject:()=>Aa,interruptAndCheck:()=>Di,isAstNode:()=>$n,isAstNodeDescription:()=>NL,isAstNodeWithComment:()=>GM,isCompositeCstNode:()=>to,isIMultiModeLexerDefinition:()=>ZM,isJSDoc:()=>nI,isLeafCstNode:()=>Xh,isLinkingError:()=>Nd,isNamed:()=>jae,isOperationCancelled:()=>ef,isReference:()=>ua,isRootCstNode:()=>kv,isTokenTypeArray:()=>Zae,isTokenTypeDictionary:()=>QM,loadGrammarFromJson:()=>c0,parseJSDoc:()=>rI,prepareLangiumParser:()=>Oae,setInterruptionPeriod:()=>Uae,startCancelableOperation:()=>Vae,stream:()=>Wr,toDiagnosticSeverity:()=>ow});var Ou=_(()=>{"use strict";pI();yI();VM();cse();Do();use();fse();pse();mse();gse();vse();lr(ha,wr);xse();bse();mc()});function Sse(t){return Tc.isInstance(t,xI)}function _se(t){return Tc.isInstance(t,bI)}function Ase(t){return Tc.isInstance(t,HIe)}function Lse(t){return Tc.isInstance(t,kI)}function Rse(t){return Tc.isInstance(t,Dse)}function Mse(t){return Tc.isInstance(t,wI)}function Nse(t){return Tc.isInstance(t,Ise)}function Pse(t){return Tc.isInstance(t,Ose)}function Fse(t){return Tc.isInstance(t,Bse)}function $se(t){return Tc.isInstance(t,zse)}var UIe,_t,Cse,xI,qIe,WIe,bI,HIe,kI,Dse,wI,Ise,Ose,Bse,zse,YIe,Gse,Tc,kse,XIe,wse,jIe,Tse,KIe,Ese,QIe,ZIe,JIe,eNe,tNe,Pu,TI,EI,CI,SI,rNe,nNe,iNe,aNe,fw,u0,Ec,sNe,Cc=_(()=>{"use strict";Ou();Ou();Ou();Ou();UIe=Object.defineProperty,_t=s((t,e)=>UIe(t,"name",{value:e,configurable:!0}),"__name"),Cse="Statement",xI="Branch";s(Sse,"isBranch");_t(Sse,"isBranch");qIe="Checkout",WIe="CherryPicking",bI="Commit";s(_se,"isCommit");_t(_se,"isCommit");HIe="Common";s(Ase,"isCommon");_t(Ase,"isCommon");kI="GitGraph";s(Lse,"isGitGraph");_t(Lse,"isGitGraph");Dse="Info";s(Rse,"isInfo");_t(Rse,"isInfo");wI="Merge";s(Mse,"isMerge");_t(Mse,"isMerge");Ise="Packet";s(Nse,"isPacket");_t(Nse,"isPacket");Ose="PacketBlock";s(Pse,"isPacketBlock");_t(Pse,"isPacketBlock");Bse="Pie";s(Fse,"isPie");_t(Fse,"isPie");zse="PieSection";s($se,"isPieSection");_t($se,"isPieSection");YIe="Direction",Gse=class extends Id{static{s(this,"MermaidAstReflection")}static{_t(this,"MermaidAstReflection")}getAllTypes(){return["Branch","Checkout","CherryPicking","Commit","Common","Direction","GitGraph","Info","Merge","Packet","PacketBlock","Pie","PieSection","Statement"]}computeIsSubtype(t,e){switch(t){case xI:case qIe:case WIe:case bI:case wI:return this.isSubtype(Cse,e);case YIe:return this.isSubtype(kI,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;switch(e){default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:t,properties:[]}}}},Tc=new Gse,XIe=_t(()=>kse??(kse=c0('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),jIe=_t(()=>wse??(wse=c0(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),KIe=_t(()=>Tse??(Tse=c0('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),QIe=_t(()=>Ese??(Ese=c0(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),ZIe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},JIe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},eNe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},tNe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},Pu={AstReflection:_t(()=>new Gse,"AstReflection")},TI={Grammar:_t(()=>XIe(),"Grammar"),LanguageMetaData:_t(()=>ZIe,"LanguageMetaData"),parser:{}},EI={Grammar:_t(()=>jIe(),"Grammar"),LanguageMetaData:_t(()=>JIe,"LanguageMetaData"),parser:{}},CI={Grammar:_t(()=>KIe(),"Grammar"),LanguageMetaData:_t(()=>eNe,"LanguageMetaData"),parser:{}},SI={Grammar:_t(()=>QIe(),"Grammar"),LanguageMetaData:_t(()=>tNe,"LanguageMetaData"),parser:{}},rNe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,nNe=/accTitle[\t ]*:([^\n\r]*)/,iNe=/title([\t ][^\n\r]*|)/,aNe={ACC_DESCR:rNe,ACC_TITLE:nNe,TITLE:iNe},fw=class extends a0{static{s(this,"AbstractMermaidValueConverter")}static{_t(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=aNe[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` -`)}}},u0=class extends fw{static{s(this,"CommonValueConverter")}static{_t(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},Ec=class extends i0{static{s(this,"AbstractMermaidTokenBuilder")}static{_t(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},sNe=class extends Ec{static{s(this,"CommonTokenBuilder")}static{_t(this,"CommonTokenBuilder")}}});function pw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),SI,dw);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var oNe,dw,_I=_(()=>{"use strict";Cc();Ou();oNe=class extends Ec{static{s(this,"GitGraphTokenBuilder")}static{_t(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},dw={parser:{TokenBuilder:_t(()=>new oNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(pw,"createGitGraphServices");_t(pw,"createGitGraphServices")});function gw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),TI,mw);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var lNe,mw,AI=_(()=>{"use strict";Cc();Ou();lNe=class extends Ec{static{s(this,"InfoTokenBuilder")}static{_t(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},mw={parser:{TokenBuilder:_t(()=>new lNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(gw,"createInfoServices");_t(gw,"createInfoServices")});function vw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),EI,yw);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var cNe,yw,LI=_(()=>{"use strict";Cc();Ou();cNe=class extends Ec{static{s(this,"PacketTokenBuilder")}static{_t(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},yw={parser:{TokenBuilder:_t(()=>new cNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(vw,"createPacketServices");_t(vw,"createPacketServices")});function bw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),CI,xw);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var uNe,hNe,xw,DI=_(()=>{"use strict";Cc();Ou();uNe=class extends Ec{static{s(this,"PieTokenBuilder")}static{_t(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},hNe=class extends fw{static{s(this,"PieValueConverter")}static{_t(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},xw={parser:{TokenBuilder:_t(()=>new uNe,"TokenBuilder"),ValueConverter:_t(()=>new hNe,"ValueConverter")}};s(bw,"createPieServices");_t(bw,"createPieServices")});var Vse={};ur(Vse,{InfoModule:()=>mw,createInfoServices:()=>gw});var Use=_(()=>{"use strict";AI();Cc()});var qse={};ur(qse,{PacketModule:()=>yw,createPacketServices:()=>vw});var Wse=_(()=>{"use strict";LI();Cc()});var Hse={};ur(Hse,{PieModule:()=>xw,createPieServices:()=>bw});var Yse=_(()=>{"use strict";DI();Cc()});var Xse={};ur(Xse,{GitGraphModule:()=>dw,createGitGraphServices:()=>pw});var jse=_(()=>{"use strict";_I();Cc()});async function Bu(t,e){let r=fNe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);fg[t]||await r();let i=fg[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new dNe(i);return i.value}var fg,fNe,dNe,V2=_(()=>{"use strict";_I();AI();LI();DI();Cc();fg={},fNe={info:_t(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(Use(),Vse)),e=t().Info.parser.LangiumParser;fg.info=e},"info"),packet:_t(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(Wse(),qse)),e=t().Packet.parser.LangiumParser;fg.packet=e},"packet"),pie:_t(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(Yse(),Hse)),e=t().Pie.parser.LangiumParser;fg.pie=e},"pie"),gitGraph:_t(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(jse(),Xse)),e=t().GitGraph.parser.LangiumParser;fg.gitGraph=e},"gitGraph")};s(Bu,"parse");_t(Bu,"parse");dNe=class extends Error{static{s(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` +`)}return r}},zk=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(Coe,"fillNewlines")});var tx,KM=R(()=>{"use strict";es();jM();tx=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&qM(r))return WM(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){var i;let a=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(a&&a.nameSegment){let s=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${s},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){let i=Oi(e).precomputedScopes;if(!i)return;let a=e;do{let l=i.get(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var rx,QM=R(()=>{"use strict";Ok();Rl();rx=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return RM(e)?e.$comment:(r=_D(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}});var ii={};var ZM=R(()=>{"use strict";dr(ii,Xi(vM(),1))});var nx,JM,eI,tI=R(()=>{"use strict";qo();ZM();nx=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}},JM=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new as,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new as;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Rc)}),this.queue.push(r),r.promise}},eI=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new ii.Emitter,this.deferred=new as,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Rc),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new as,this.sendMessage(e),this.deferred.promise}}});var ix,rI=R(()=>{"use strict";Wo();qo();ix=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new pr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=new pr.CancellationTokenSource;return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n){let i=new as,a={action:r,deferred:i,cancellationToken:n??pr.CancellationToken.None};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){of(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var ax,nI=R(()=>{"use strict";Ek();Sc();Vo();es();kg();Rl();ax=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new v0,this.tokenTypeIdMap=new v0,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors.map(r=>Object.assign({},r)),parserErrors:e.parserErrors.map(r=>Object.assign({},r)),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Yo(e))r.set(i,{});if(e.$cstNode)for(let i of qd(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)Xn(l)?s.push(this.dehydrateAstNode(l,r)):xa(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else Xn(a)?n[i]=this.dehydrateAstNode(a,r):xa(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return zv(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),co(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):ef(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Yo(e))r.set(a,{});let i;if(e.$cstNode)for(let a of qd(e.$cstNode)){let s;"fullText"in a?(s=new gg(a.fullText),i=s):"content"in a?s=new p0:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)Xn(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):xa(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else Xn(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):xa(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),co(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new d0(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap();let r=this.grammarElementIdMap.getKey(e);if(r)return r;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(let r of Yo(this.grammar))Uv(r)&&this.grammarElementIdMap.set(r,e++)}}});function po(t){return{documentation:{CommentProvider:o(e=>new rx(e),"CommentProvider"),DocumentationProvider:o(e=>new tx(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new nx(e),"AsyncParser"),GrammarConfig:o(e=>JR(e),"GrammarConfig"),LangiumParser:o(e=>cM(e),"LangiumParser"),CompletionParser:o(e=>oM(e),"CompletionParser"),ValueConverter:o(()=>new y0,"ValueConverter"),TokenBuilder:o(()=>new g0,"TokenBuilder"),Lexer:o(e=>new Z2(e),"Lexer"),ParserErrorMessageProvider:o(()=>new yg,"ParserErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new q2,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new Y2(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new W2(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new M2(e),"Linker"),NameProvider:o(()=>new I2,"NameProvider"),ScopeProvider:o(e=>new z2(e),"ScopeProvider"),ScopeComputation:o(e=>new P2(e),"ScopeComputation"),References:o(e=>new O2(e),"References")},serializer:{Hydrator:o(e=>new ax(e),"Hydrator"),JsonSerializer:o(e=>new $2(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new H2(e),"DocumentValidator"),ValidationRegistry:o(e=>new V2(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function mo(t){return{ServiceRegistry:o(()=>new G2,"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new N2(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new R2(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new j2(e),"DocumentBuilder"),IndexManager:o(e=>new K2(e),"IndexManager"),WorkspaceManager:o(e=>new Q2(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new ix,"WorkspaceLock"),ConfigurationProvider:o(e=>new X2(e),"ConfigurationProvider")}}}var iI=R(()=>{"use strict";eN();lM();uM();hM();fM();CM();SM();AM();_M();DM();Ok();NM();MM();U2();IM();OM();PM();FM();Tg();zM();$M();UM();KM();QM();D2();tI();rI();nI();o(po,"createDefaultCoreModule");o(mo,"createDefaultSharedCoreModule")});function Fi(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce($k,{});return Moe(h)}function Noe(t){if(t&&t[sI])for(let e of Object.values(t))Noe(e);return t}function Moe(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),get:o((n,i)=>Roe(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(Roe(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Reflect.ownKeys(t),sI],"ownKeys")});return r[sI]=!0,r}function Roe(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===Doe)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Doe;try{t[e]=typeof i=="function"?i(n):Moe(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function $k(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=$k(i,n):t[r]=n}}return t}var aI,sI,Doe,oI=R(()=>{"use strict";(function(t){t.merge=(e,r)=>$k($k({},e),r)})(aI||(aI={}));o(Fi,"inject");sI=Symbol("isProxy");o(Noe,"eagerLoad");o(Moe,"_inject");Doe=Symbol();o(Roe,"_resolve");o($k,"_merge")});var Ioe=R(()=>{"use strict"});var Ooe=R(()=>{"use strict";QM();KM();jM()});var Poe=R(()=>{"use strict"});var Boe=R(()=>{"use strict";eN();Poe()});var Foe=R(()=>{"use strict"});var zoe=R(()=>{"use strict";tI();lM();Ek();uM();D2();UM();Foe();hM();fM()});var $oe=R(()=>{"use strict";CM();SM();AM();LM();_M();DM()});var Goe=R(()=>{"use strict";nI();Ok()});var Gk,go,lI=R(()=>{"use strict";Gk=class{static{o(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},go={fileSystemProvider:o(()=>new Gk,"fileSystemProvider")}});function uPe(){let t=Fi(mo(go),cPe),e=Fi(po({shared:t}),lPe);return t.ServiceRegistry.register(e),e}function lf(t){var e;let r=uPe(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,Ms.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var lPe,cPe,Voe=R(()=>{"use strict";iI();oI();Sc();lI();Nc();lPe={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},cPe={AstReflection:o(()=>new $m,"AstReflection")};o(uPe,"createMinimalGrammarServices");o(lf,"loadGrammarFromJson")});var Rr={};hr(Rr,{AstUtils:()=>CT,BiMap:()=>v0,Cancellation:()=>pr,ContextCache:()=>x0,CstUtils:()=>dT,DONE_RESULT:()=>Ja,Deferred:()=>as,Disposable:()=>b0,DisposableCache:()=>Cg,DocumentCache:()=>Mk,EMPTY_STREAM:()=>$v,ErrorWithLocation:()=>jd,GrammarUtils:()=>RT,MultiMap:()=>Mc,OperationCancelled:()=>Rc,Reduction:()=>Fm,RegExpUtils:()=>LT,SimpleCache:()=>F2,StreamImpl:()=>uo,TreeStreamImpl:()=>Cc,URI:()=>Ms,UriUtils:()=>ss,WorkspaceCache:()=>Sg,assertUnreachable:()=>tf,delayNextTick:()=>TM,interruptAndCheck:()=>Bi,isOperationCancelled:()=>of,loadGrammarFromJson:()=>lf,setInterruptionPeriod:()=>poe,startCancelableOperation:()=>doe,stream:()=>Kr});var Uoe=R(()=>{"use strict";Ik();ZM();dr(Rr,ii);kg();BM();pT();Voe();qo();Ds();Nc();es();Wo();Rl();Il();Um()});var Hoe=R(()=>{"use strict";MM();U2()});var Yoe=R(()=>{"use strict";IM();OM();PM();FM();Tg();lI();zM();rI();$M()});var ba={};hr(ba,{AbstractAstReflection:()=>Yd,AbstractCstNode:()=>S2,AbstractLangiumParser:()=>A2,AbstractParserErrorMessageProvider:()=>Sk,AbstractThreadedAsyncParser:()=>JM,AstUtils:()=>CT,BiMap:()=>v0,Cancellation:()=>pr,CompositeCstNodeImpl:()=>p0,ContextCache:()=>x0,CstNodeBuilder:()=>C2,CstUtils:()=>dT,DONE_RESULT:()=>Ja,DatatypeSymbol:()=>Ck,DefaultAstNodeDescriptionProvider:()=>Y2,DefaultAstNodeLocator:()=>q2,DefaultAsyncParser:()=>nx,DefaultCommentProvider:()=>rx,DefaultConfigurationProvider:()=>X2,DefaultDocumentBuilder:()=>j2,DefaultDocumentValidator:()=>H2,DefaultHydrator:()=>ax,DefaultIndexManager:()=>K2,DefaultJsonSerializer:()=>$2,DefaultLangiumDocumentFactory:()=>R2,DefaultLangiumDocuments:()=>N2,DefaultLexer:()=>Z2,DefaultLinker:()=>M2,DefaultNameProvider:()=>I2,DefaultReferenceDescriptionProvider:()=>W2,DefaultReferences:()=>O2,DefaultScopeComputation:()=>P2,DefaultScopeProvider:()=>z2,DefaultServiceRegistry:()=>G2,DefaultTokenBuilder:()=>g0,DefaultValueConverter:()=>y0,DefaultWorkspaceLock:()=>ix,DefaultWorkspaceManager:()=>Q2,Deferred:()=>as,Disposable:()=>b0,DisposableCache:()=>Cg,DocumentCache:()=>Mk,DocumentState:()=>yn,DocumentValidator:()=>Uu,EMPTY_SCOPE:()=>jOe,EMPTY_STREAM:()=>$v,EmptyFileSystem:()=>go,EmptyFileSystemProvider:()=>Gk,ErrorWithLocation:()=>jd,GrammarAST:()=>Yv,GrammarUtils:()=>RT,JSDocDocumentationProvider:()=>tx,LangiumCompletionParser:()=>L2,LangiumParser:()=>_2,LangiumParserErrorMessageProvider:()=>yg,LeafCstNodeImpl:()=>d0,MapScope:()=>B2,Module:()=>aI,MultiMap:()=>Mc,OperationCancelled:()=>Rc,ParserWorker:()=>eI,Reduction:()=>Fm,RegExpUtils:()=>LT,RootCstNodeImpl:()=>gg,SimpleCache:()=>F2,StreamImpl:()=>uo,StreamScope:()=>Eg,TextDocument:()=>bg,TreeStreamImpl:()=>Cc,URI:()=>Ms,UriUtils:()=>ss,ValidationCategory:()=>Ag,ValidationRegistry:()=>V2,ValueConverter:()=>Dc,WorkspaceCache:()=>Sg,assertUnreachable:()=>tf,createCompletionParser:()=>oM,createDefaultCoreModule:()=>po,createDefaultSharedCoreModule:()=>mo,createGrammarConfig:()=>JR,createLangiumParser:()=>cM,delayNextTick:()=>TM,diagnosticData:()=>Pk,eagerLoad:()=>Noe,getDiagnosticRange:()=>Toe,inject:()=>Fi,interruptAndCheck:()=>Bi,isAstNode:()=>Xn,isAstNodeDescription:()=>ED,isAstNodeWithComment:()=>RM,isCompositeCstNode:()=>co,isIMultiModeLexerDefinition:()=>VM,isJSDoc:()=>qM,isLeafCstNode:()=>ef,isLinkingError:()=>Wd,isNamed:()=>boe,isOperationCancelled:()=>of,isReference:()=>xa,isRootCstNode:()=>zv,isTokenTypeArray:()=>koe,isTokenTypeDictionary:()=>GM,loadGrammarFromJson:()=>lf,parseJSDoc:()=>WM,prepareLangiumParser:()=>soe,setInterruptionPeriod:()=>poe,startCancelableOperation:()=>doe,stream:()=>Kr,toDiagnosticSeverity:()=>Bk});var Ic=R(()=>{"use strict";iI();oI();NM();Ioe();Vo();Ooe();Boe();zoe();$oe();Goe();Uoe();dr(ba,Rr);Hoe();Yoe();Sc()});function Joe(t){return Pl.isInstance(t,Zoe)}function ele(t){return Pl.isInstance(t,cI)}function tle(t){return Pl.isInstance(t,uI)}function rle(t){return Pl.isInstance(t,pPe)}function nle(t){return Pl.isInstance(t,hI)}function ale(t){return Pl.isInstance(t,ile)}function sle(t){return Pl.isInstance(t,fI)}function lle(t){return Pl.isInstance(t,ole)}function ule(t){return Pl.isInstance(t,cle)}function fle(t){return Pl.isInstance(t,hle)}function ple(t){return Pl.isInstance(t,dle)}var hPe,Tt,Qoe,Zoe,cI,fPe,dPe,uI,pPe,hI,ile,fI,ole,cle,hle,dle,mPe,mle,Pl,Woe,gPe,qoe,yPe,Xoe,vPe,joe,xPe,Koe,bPe,wPe,TPe,kPe,EPe,CPe,Bl,dI,pI,mI,gI,yI,SPe,APe,_Pe,LPe,_g,w0,Xo,DPe,jo=R(()=>{"use strict";Ic();Ic();Ic();Ic();hPe=Object.defineProperty,Tt=o((t,e)=>hPe(t,"name",{value:e,configurable:!0}),"__name"),Qoe="Statement",Zoe="Architecture";o(Joe,"isArchitecture");Tt(Joe,"isArchitecture");cI="Branch";o(ele,"isBranch");Tt(ele,"isBranch");fPe="Checkout",dPe="CherryPicking",uI="Commit";o(tle,"isCommit");Tt(tle,"isCommit");pPe="Common";o(rle,"isCommon");Tt(rle,"isCommon");hI="GitGraph";o(nle,"isGitGraph");Tt(nle,"isGitGraph");ile="Info";o(ale,"isInfo");Tt(ale,"isInfo");fI="Merge";o(sle,"isMerge");Tt(sle,"isMerge");ole="Packet";o(lle,"isPacket");Tt(lle,"isPacket");cle="PacketBlock";o(ule,"isPacketBlock");Tt(ule,"isPacketBlock");hle="Pie";o(fle,"isPie");Tt(fle,"isPie");dle="PieSection";o(ple,"isPieSection");Tt(ple,"isPieSection");mPe="Direction",mle=class extends Yd{static{o(this,"MermaidAstReflection")}static{Tt(this,"MermaidAstReflection")}getAllTypes(){return["Architecture","Branch","Checkout","CherryPicking","Commit","Common","Direction","Edge","GitGraph","Group","Info","Junction","Merge","Packet","PacketBlock","Pie","PieSection","Service","Statement"]}computeIsSubtype(t,e){switch(t){case cI:case fPe:case dPe:case uI:case fI:return this.isSubtype(Qoe,e);case mPe:return this.isSubtype(hI,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;switch(e){default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case"Architecture":return{name:"Architecture",properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Edge":return{name:"Edge",properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Group":return{name:"Group",properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Junction":return{name:"Junction",properties:[{name:"id"},{name:"in"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Service":return{name:"Service",properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:t,properties:[]}}}},Pl=new mle,gPe=Tt(()=>Woe??(Woe=lf('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),yPe=Tt(()=>qoe??(qoe=lf(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),vPe=Tt(()=>Xoe??(Xoe=lf('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),xPe=Tt(()=>joe??(joe=lf('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"ArchitectureGrammar"),bPe=Tt(()=>Koe??(Koe=lf(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),wPe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},TPe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},kPe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},EPe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},CPe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},Bl={AstReflection:Tt(()=>new mle,"AstReflection")},dI={Grammar:Tt(()=>gPe(),"Grammar"),LanguageMetaData:Tt(()=>wPe,"LanguageMetaData"),parser:{}},pI={Grammar:Tt(()=>yPe(),"Grammar"),LanguageMetaData:Tt(()=>TPe,"LanguageMetaData"),parser:{}},mI={Grammar:Tt(()=>vPe(),"Grammar"),LanguageMetaData:Tt(()=>kPe,"LanguageMetaData"),parser:{}},gI={Grammar:Tt(()=>xPe(),"Grammar"),LanguageMetaData:Tt(()=>EPe,"LanguageMetaData"),parser:{}},yI={Grammar:Tt(()=>bPe(),"Grammar"),LanguageMetaData:Tt(()=>CPe,"LanguageMetaData"),parser:{}},SPe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,APe=/accTitle[\t ]*:([^\n\r]*)/,_Pe=/title([\t ][^\n\r]*|)/,LPe={ACC_DESCR:SPe,ACC_TITLE:APe,TITLE:_Pe},_g=class extends y0{static{o(this,"AbstractMermaidValueConverter")}static{Tt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=LPe[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},w0=class extends _g{static{o(this,"CommonValueConverter")}static{Tt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},Xo=class extends g0{static{o(this,"AbstractMermaidTokenBuilder")}static{Tt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},DPe=class extends Xo{static{o(this,"CommonTokenBuilder")}static{Tt(this,"CommonTokenBuilder")}}});function Uk(t=go){let e=Fi(mo(t),Bl),r=Fi(po({shared:e}),yI,Vk);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var RPe,Vk,vI=R(()=>{"use strict";jo();Ic();RPe=class extends Xo{static{o(this,"GitGraphTokenBuilder")}static{Tt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},Vk={parser:{TokenBuilder:Tt(()=>new RPe,"TokenBuilder"),ValueConverter:Tt(()=>new w0,"ValueConverter")}};o(Uk,"createGitGraphServices");Tt(Uk,"createGitGraphServices")});function Yk(t=go){let e=Fi(mo(t),Bl),r=Fi(po({shared:e}),dI,Hk);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var NPe,Hk,xI=R(()=>{"use strict";jo();Ic();NPe=class extends Xo{static{o(this,"InfoTokenBuilder")}static{Tt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},Hk={parser:{TokenBuilder:Tt(()=>new NPe,"TokenBuilder"),ValueConverter:Tt(()=>new w0,"ValueConverter")}};o(Yk,"createInfoServices");Tt(Yk,"createInfoServices")});function qk(t=go){let e=Fi(mo(t),Bl),r=Fi(po({shared:e}),pI,Wk);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var MPe,Wk,bI=R(()=>{"use strict";jo();Ic();MPe=class extends Xo{static{o(this,"PacketTokenBuilder")}static{Tt(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},Wk={parser:{TokenBuilder:Tt(()=>new MPe,"TokenBuilder"),ValueConverter:Tt(()=>new w0,"ValueConverter")}};o(qk,"createPacketServices");Tt(qk,"createPacketServices")});function jk(t=go){let e=Fi(mo(t),Bl),r=Fi(po({shared:e}),mI,Xk);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var IPe,OPe,Xk,wI=R(()=>{"use strict";jo();Ic();IPe=class extends Xo{static{o(this,"PieTokenBuilder")}static{Tt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},OPe=class extends _g{static{o(this,"PieValueConverter")}static{Tt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},Xk={parser:{TokenBuilder:Tt(()=>new IPe,"TokenBuilder"),ValueConverter:Tt(()=>new OPe,"ValueConverter")}};o(jk,"createPieServices");Tt(jk,"createPieServices")});function Qk(t=go){let e=Fi(mo(t),Bl),r=Fi(po({shared:e}),gI,Kk);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var PPe,BPe,Kk,TI=R(()=>{"use strict";jo();Ic();PPe=class extends Xo{static{o(this,"ArchitectureTokenBuilder")}static{Tt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},BPe=class extends _g{static{o(this,"ArchitectureValueConverter")}static{Tt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},Kk={parser:{TokenBuilder:Tt(()=>new PPe,"TokenBuilder"),ValueConverter:Tt(()=>new BPe,"ValueConverter")}};o(Qk,"createArchitectureServices");Tt(Qk,"createArchitectureServices")});var gle={};hr(gle,{InfoModule:()=>Hk,createInfoServices:()=>Yk});var yle=R(()=>{"use strict";xI();jo()});var vle={};hr(vle,{PacketModule:()=>Wk,createPacketServices:()=>qk});var xle=R(()=>{"use strict";bI();jo()});var ble={};hr(ble,{PieModule:()=>Xk,createPieServices:()=>jk});var wle=R(()=>{"use strict";wI();jo()});var Tle={};hr(Tle,{ArchitectureModule:()=>Kk,createArchitectureServices:()=>Qk});var kle=R(()=>{"use strict";TI();jo()});var Ele={};hr(Ele,{GitGraphModule:()=>Vk,createGitGraphServices:()=>Uk});var Cle=R(()=>{"use strict";vI();jo()});async function Fl(t,e){let r=FPe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);T0[t]||await r();let i=T0[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new zPe(i);return i.value}var T0,FPe,zPe,Lg=R(()=>{"use strict";vI();xI();bI();wI();TI();jo();T0={},FPe={info:Tt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(yle(),gle)),e=t().Info.parser.LangiumParser;T0.info=e},"info"),packet:Tt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(xle(),vle)),e=t().Packet.parser.LangiumParser;T0.packet=e},"packet"),pie:Tt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(wle(),ble)),e=t().Pie.parser.LangiumParser;T0.pie=e},"pie"),architecture:Tt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(kle(),Tle)),e=t().Architecture.parser.LangiumParser;T0.architecture=e},"architecture"),gitGraph:Tt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(Cle(),Ele)),e=t().GitGraph.parser.LangiumParser;T0.gitGraph=e},"gitGraph")};o(Fl,"parse");Tt(Fl,"parse");zPe=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` `),r=t.parserErrors.map(n=>n.message).join(` -`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{_t(this,"MermaidParseError")}}});function dg(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var kw=_(()=>{"use strict";s(dg,"populateCommonDb")});var Br,ww=_(()=>{"use strict";Br={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var pg,RI=_(()=>{"use strict";pg=class{constructor(e){this.init=e;this.records=this.init()}static{s(this,"ImperativeState")}reset(){this.records=this.init()}}});function MI(){return cA({length:7})}function mNe(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function Kse(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function Zse(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in nt.records.branches)nt.records.branches.get(i)===e.id&&n.push(i);if(V.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=nt.records.commits.get(e.parents[0]);Kse(t,e,i),e.parents[1]&&t.push(nt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=nt.records.commits.get(e.parents[0]);Kse(t,e,i)}}t=mNe(t,i=>i.id),Zse(t)}var pNe,h0,nt,gNe,yNe,vNe,xNe,bNe,kNe,wNe,Qse,TNe,ENe,CNe,SNe,_Ne,Jse,ANe,LNe,DNe,Tw,II=_(()=>{"use strict";it();pr();zs();Qt();Ci();ww();RI();Pl();pNe=dr.gitGraph,h0=s(()=>ms({...pNe,..._r().gitGraph}),"getConfig"),nt=new pg(()=>{let t=h0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});s(MI,"getID");s(mNe,"uniqBy");gNe=s(function(t){nt.records.direction=t},"setDirection"),yNe=s(function(t){V.debug("options str",t),t=t?.trim(),t=t||"{}";try{nt.records.options=JSON.parse(t)}catch(e){V.error("error while parsing gitGraph options",e.message)}},"setOptions"),vNe=s(function(){return nt.records.options},"getOptions"),xNe=s(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;V.info("commit",e,r,n,i),V.debug("Entering commit:",e,r,n,i);let a=h0();r=$e.sanitizeText(r,a),e=$e.sanitizeText(e,a),i=i?.map(l=>$e.sanitizeText(l,a));let o={id:r||nt.records.seq+"-"+MI(),message:e,seq:nt.records.seq++,type:n??Br.NORMAL,tags:i??[],parents:nt.records.head==null?[]:[nt.records.head.id],branch:nt.records.currBranch};nt.records.head=o,V.info("main branch",a.mainBranchName),nt.records.commits.set(o.id,o),nt.records.branches.set(nt.records.currBranch,o.id),V.debug("in pushCommit "+o.id)},"commit"),bNe=s(function(t){let e=t.name,r=t.order;if(e=$e.sanitizeText(e,h0()),nt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);nt.records.branches.set(e,nt.records.head!=null?nt.records.head.id:null),nt.records.branchConfig.set(e,{name:e,order:r}),Qse(e),V.debug("in createBranch")},"branch"),kNe=s(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=h0();e=$e.sanitizeText(e,a),r&&(r=$e.sanitizeText(r,a));let o=nt.records.branches.get(nt.records.currBranch),l=nt.records.branches.get(e),u=o?nt.records.commits.get(o):void 0,h=l?nt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(nt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${nt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!nt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&nt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom Id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${nt.records.seq}-${MI()}`,message:`merged branch ${e} into ${nt.records.currBranch}`,seq:nt.records.seq++,parents:nt.records.head==null?[]:[nt.records.head.id,f],branch:nt.records.currBranch,type:Br.MERGE,customType:n,customId:!!r,tags:i??[]};nt.records.head=d,nt.records.commits.set(d.id,d),nt.records.branches.set(nt.records.currBranch,d.id),V.debug(nt.records.branches),V.debug("in mergeBranch")},"merge"),wNe=s(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;V.debug("Entering cherryPick:",e,r,n);let a=h0();if(e=$e.sanitizeText(e,a),r=$e.sanitizeText(r,a),n=n?.map(u=>$e.sanitizeText(u,a)),i=$e.sanitizeText(i,a),!e||!nt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let o=nt.records.commits.get(e);if(o===void 0||!o)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(o.parents)&&o.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=o.branch;if(o.type===Br.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!nt.records.commits.has(r)){if(l===nt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=nt.records.branches.get(nt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=nt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${nt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:nt.records.seq+"-"+MI(),message:`cherry-picked ${o?.message} into ${nt.records.currBranch}`,seq:nt.records.seq++,parents:nt.records.head==null?[]:[nt.records.head.id,o.id],branch:nt.records.currBranch,type:Br.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${o.id}${o.type===Br.MERGE?`|parent:${i}`:""}`]};nt.records.head=f,nt.records.commits.set(f.id,f),nt.records.branches.set(nt.records.currBranch,f.id),V.debug(nt.records.branches),V.debug("in cherryPick")}},"cherryPick"),Qse=s(function(t){if(t=$e.sanitizeText(t,h0()),nt.records.branches.has(t)){nt.records.currBranch=t;let e=nt.records.branches.get(nt.records.currBranch);e===void 0||!e?nt.records.head=null:nt.records.head=nt.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");s(Kse,"upsert");s(Zse,"prettyPrintCommitHistory");TNe=s(function(){V.debug(nt.records.commits);let t=Jse()[0];Zse([t])},"prettyPrint"),ENe=s(function(){nt.reset(),br()},"clear"),CNe=s(function(){return[...nt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),SNe=s(function(){return nt.records.branches},"getBranches"),_Ne=s(function(){return nt.records.commits},"getCommits"),Jse=s(function(){let t=[...nt.records.commits.values()];return t.forEach(function(e){V.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),ANe=s(function(){return nt.records.currBranch},"getCurrentBranch"),LNe=s(function(){return nt.records.direction},"getDirection"),DNe=s(function(){return nt.records.head},"getHead"),Tw={commitType:Br,getConfig:h0,setDirection:gNe,setOptions:yNe,getOptions:vNe,commit:xNe,branch:bNe,merge:kNe,cherryPick:wNe,checkout:Qse,prettyPrint:TNe,clear:ENe,getBranchesAsObjArray:CNe,getBranches:SNe,getCommits:_Ne,getCommitsArray:Jse,getCurrentBranch:ANe,getDirection:LNe,getHead:DNe,setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,setAccDescription:Vr,setDiagramTitle:an,getDiagramTitle:Qr}});var RNe,MNe,INe,NNe,ONe,PNe,BNe,eoe,toe=_(()=>{"use strict";V2();it();kw();II();ww();RNe=s((t,e)=>{dg(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)MNe(r,e)},"populate"),MNe=s((t,e)=>{let n={Commit:s(i=>e.commit(INe(i)),"Commit"),Branch:s(i=>e.branch(NNe(i)),"Branch"),Merge:s(i=>e.merge(ONe(i)),"Merge"),Checkout:s(i=>e.checkout(PNe(i)),"Checkout"),CherryPicking:s(i=>e.cherryPick(BNe(i)),"CherryPicking")}[t.$type];n?n(t):V.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),INe=s(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?Br[t.type]:Br.NORMAL,tags:t.tags??void 0}),"parseCommit"),NNe=s(t=>({name:t.name,order:t.order??0}),"parseBranch"),ONe=s(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?Br[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),PNe=s(t=>t.branch,"parseCheckout"),BNe=s(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),eoe={parse:s(async t=>{let e=await Bu("gitGraph",t);V.debug(e),RNe(e,Tw)},"parse")}});var FNe,Po,rf,nf,Sc,Fu,f0,As,Ls,Ew,U2,Cw,tf,yr,zNe,noe,ioe,$Ne,GNe,VNe,UNe,qNe,WNe,HNe,YNe,XNe,jNe,KNe,QNe,roe,ZNe,q2,JNe,eOe,tOe,rOe,nOe,aoe,soe=_(()=>{"use strict";Xt();gt();it();pr();ww();FNe=le(),Po=FNe?.gitGraph,rf=10,nf=40,Sc=4,Fu=2,f0=8,As=new Map,Ls=new Map,Ew=30,U2=new Map,Cw=[],tf=0,yr="LR",zNe=s(()=>{As.clear(),Ls.clear(),U2.clear(),tf=0,Cw=[],yr="LR"},"clear"),noe=s(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),ioe=s(t=>{let e,r,n;return yr==="BT"?(r=s((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=s((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=yr==="TB"||yr=="BT"?Ls.get(i)?.y:Ls.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),$Ne=s(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Ls.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),GNe=s((t,e,r)=>{let n=r,i=r,a=[];t.forEach(o=>{let l=e.get(o);if(!l)throw new Error(`Commit not found for key ${o}`);l.parents.length?(n=UNe(l),i=Math.max(n,i)):a.push(l),qNe(l,n)}),n=i,a.forEach(o=>{WNe(o,n,r)}),t.forEach(o=>{let l=e.get(o);if(l?.parents.length){let u=$Ne(l.parents);n=Ls.get(u).y-nf,n<=i&&(i=n);let h=As.get(l.branch).pos,f=n-rf;Ls.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),VNe=s(t=>{let e=ioe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Ls.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),UNe=s(t=>VNe(t)+nf,"calculateCommitPosition"),qNe=s((t,e)=>{let r=As.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+rf;return Ls.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),WNe=s((t,e,r)=>{let n=As.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Ls.set(t.id,{x:a,y:i})},"setRootPosition"),HNe=s((t,e,r,n,i,a)=>{if(a===Br.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%f0} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%f0} ${n}-inner`);else if(a===Br.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let o=t.append("circle");if(o.attr("cx",r.x),o.attr("cy",r.y),o.attr("r",e.type===Br.MERGE?9:10),o.attr("class",`commit ${e.id} commit${i%f0}`),a===Br.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%f0}`)}a===Br.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%f0}`)}},"drawCommitBullet"),YNe=s((t,e,r,n)=>{if(e.type!==Br.CHERRY_PICK&&(e.customId&&e.type===Br.MERGE||e.type!==Br.MERGE)&&Po?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),o=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=o.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-Fu).attr("y",r.y+13.5).attr("width",l.width+2*Fu).attr("height",l.height+2*Fu),yr==="TB"||yr==="BT"?(a.attr("x",r.x-(l.width+4*Sc+5)).attr("y",r.y-12),o.attr("x",r.x-(l.width+4*Sc)).attr("y",r.y+l.height-12)):o.attr("x",r.posWithOffset-l.width/2),Po.rotateCommitLabel))if(yr==="TB"||yr==="BT")o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),XNe=s((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,o=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),o=Math.max(o,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=o/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` - ${n-a/2-Sc/2},${m+Fu} - ${n-a/2-Sc/2},${m-Fu} - ${r.posWithOffset-a/2-Sc},${m-p-Fu} - ${r.posWithOffset+a/2+Sc},${m-p-Fu} - ${r.posWithOffset+a/2+Sc},${m+p+Fu} - ${r.posWithOffset-a/2-Sc},${m+p+Fu}`),h.attr("cy",m).attr("cx",n-a/2+Sc/2).attr("r",1.5).attr("class","tag-hole"),yr==="TB"||yr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` +`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{Tt(this,"MermaidParseError")}}});function cf(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var sx=R(()=>{"use strict";o(cf,"populateCommonDb")});var Hr,Zk=R(()=>{"use strict";Hr={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var uf,Jk=R(()=>{"use strict";uf=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function kI(){return J_({length:7})}function GPe(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function Sle(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function _le(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in pt.records.branches)pt.records.branches.get(i)===e.id&&n.push(i);if(V.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=pt.records.commits.get(e.parents[0]);Sle(t,e,i),e.parents[1]&&t.push(pt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=pt.records.commits.get(e.parents[0]);Sle(t,e,i)}}t=GPe(t,i=>i.id),_le(t)}var $Pe,k0,pt,VPe,UPe,HPe,YPe,WPe,qPe,XPe,Ale,jPe,KPe,QPe,ZPe,JPe,Lle,eBe,tBe,rBe,eE,EI=R(()=>{"use strict";ut();xr();qs();rr();bi();Zk();Jk();sl();$Pe=mr.gitGraph,k0=o(()=>Ts({...$Pe,...Or().gitGraph}),"getConfig"),pt=new uf(()=>{let t=k0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(kI,"getID");o(GPe,"uniqBy");VPe=o(function(t){pt.records.direction=t},"setDirection"),UPe=o(function(t){V.debug("options str",t),t=t?.trim(),t=t||"{}";try{pt.records.options=JSON.parse(t)}catch(e){V.error("error while parsing gitGraph options",e.message)}},"setOptions"),HPe=o(function(){return pt.records.options},"getOptions"),YPe=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;V.info("commit",e,r,n,i),V.debug("Entering commit:",e,r,n,i);let a=k0();r=We.sanitizeText(r,a),e=We.sanitizeText(e,a),i=i?.map(l=>We.sanitizeText(l,a));let s={id:r||pt.records.seq+"-"+kI(),message:e,seq:pt.records.seq++,type:n??Hr.NORMAL,tags:i??[],parents:pt.records.head==null?[]:[pt.records.head.id],branch:pt.records.currBranch};pt.records.head=s,V.info("main branch",a.mainBranchName),pt.records.commits.set(s.id,s),pt.records.branches.set(pt.records.currBranch,s.id),V.debug("in pushCommit "+s.id)},"commit"),WPe=o(function(t){let e=t.name,r=t.order;if(e=We.sanitizeText(e,k0()),pt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);pt.records.branches.set(e,pt.records.head!=null?pt.records.head.id:null),pt.records.branchConfig.set(e,{name:e,order:r}),Ale(e),V.debug("in createBranch")},"branch"),qPe=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=k0();e=We.sanitizeText(e,a),r&&(r=We.sanitizeText(r,a));let s=pt.records.branches.get(pt.records.currBranch),l=pt.records.branches.get(e),u=s?pt.records.commits.get(s):void 0,h=l?pt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(pt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${pt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!pt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&pt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom Id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${pt.records.seq}-${kI()}`,message:`merged branch ${e} into ${pt.records.currBranch}`,seq:pt.records.seq++,parents:pt.records.head==null?[]:[pt.records.head.id,f],branch:pt.records.currBranch,type:Hr.MERGE,customType:n,customId:!!r,tags:i??[]};pt.records.head=d,pt.records.commits.set(d.id,d),pt.records.branches.set(pt.records.currBranch,d.id),V.debug(pt.records.branches),V.debug("in mergeBranch")},"merge"),XPe=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;V.debug("Entering cherryPick:",e,r,n);let a=k0();if(e=We.sanitizeText(e,a),r=We.sanitizeText(r,a),n=n?.map(u=>We.sanitizeText(u,a)),i=We.sanitizeText(i,a),!e||!pt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=pt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===Hr.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!pt.records.commits.has(r)){if(l===pt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=pt.records.branches.get(pt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=pt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${pt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:pt.records.seq+"-"+kI(),message:`cherry-picked ${s?.message} into ${pt.records.currBranch}`,seq:pt.records.seq++,parents:pt.records.head==null?[]:[pt.records.head.id,s.id],branch:pt.records.currBranch,type:Hr.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===Hr.MERGE?`|parent:${i}`:""}`]};pt.records.head=f,pt.records.commits.set(f.id,f),pt.records.branches.set(pt.records.currBranch,f.id),V.debug(pt.records.branches),V.debug("in cherryPick")}},"cherryPick"),Ale=o(function(t){if(t=We.sanitizeText(t,k0()),pt.records.branches.has(t)){pt.records.currBranch=t;let e=pt.records.branches.get(pt.records.currBranch);e===void 0||!e?pt.records.head=null:pt.records.head=pt.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");o(Sle,"upsert");o(_le,"prettyPrintCommitHistory");jPe=o(function(){V.debug(pt.records.commits);let t=Lle()[0];_le([t])},"prettyPrint"),KPe=o(function(){pt.reset(),vr()},"clear"),QPe=o(function(){return[...pt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),ZPe=o(function(){return pt.records.branches},"getBranches"),JPe=o(function(){return pt.records.commits},"getCommits"),Lle=o(function(){let t=[...pt.records.commits.values()];return t.forEach(function(e){V.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),eBe=o(function(){return pt.records.currBranch},"getCurrentBranch"),tBe=o(function(){return pt.records.direction},"getDirection"),rBe=o(function(){return pt.records.head},"getHead"),eE={commitType:Hr,getConfig:k0,setDirection:VPe,setOptions:UPe,getOptions:HPe,commit:YPe,branch:WPe,merge:qPe,cherryPick:XPe,checkout:Ale,prettyPrint:jPe,clear:KPe,getBranchesAsObjArray:QPe,getBranches:ZPe,getCommits:JPe,getCommitsArray:Lle,getCurrentBranch:eBe,getDirection:tBe,getHead:rBe,setAccTitle:kr,getAccTitle:Ar,getAccDescription:Lr,setAccDescription:_r,setDiagramTitle:nn,getDiagramTitle:Xr}});var nBe,iBe,aBe,sBe,oBe,lBe,cBe,Dle,Rle=R(()=>{"use strict";Lg();ut();sx();EI();Zk();nBe=o((t,e)=>{cf(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)iBe(r,e)},"populate"),iBe=o((t,e)=>{let n={Commit:o(i=>e.commit(aBe(i)),"Commit"),Branch:o(i=>e.branch(sBe(i)),"Branch"),Merge:o(i=>e.merge(oBe(i)),"Merge"),Checkout:o(i=>e.checkout(lBe(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(cBe(i)),"CherryPicking")}[t.$type];n?n(t):V.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),aBe=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?Hr[t.type]:Hr.NORMAL,tags:t.tags??void 0}),"parseCommit"),sBe=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),oBe=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?Hr[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),lBe=o(t=>t.branch,"parseCheckout"),cBe=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),Dle={parse:o(async t=>{let e=await Fl("gitGraph",t);V.debug(e),nBe(e,eE)},"parse")}});var uBe,Ko,ff,df,Oc,Hu,E0,Is,Os,tE,ox,rE,hf,Tr,hBe,Mle,Ile,fBe,dBe,pBe,mBe,gBe,yBe,vBe,xBe,bBe,wBe,TBe,kBe,Nle,EBe,lx,CBe,SBe,ABe,_Be,LBe,Ole,Ple=R(()=>{"use strict";Zt();_t();ut();xr();Zk();uBe=de(),Ko=uBe?.gitGraph,ff=10,df=40,Oc=4,Hu=2,E0=8,Is=new Map,Os=new Map,tE=30,ox=new Map,rE=[],hf=0,Tr="LR",hBe=o(()=>{Is.clear(),Os.clear(),ox.clear(),hf=0,rE=[],Tr="LR"},"clear"),Mle=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),Ile=o(t=>{let e,r,n;return Tr==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=Tr==="TB"||Tr=="BT"?Os.get(i)?.y:Os.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),fBe=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Os.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),dBe=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=mBe(l),i=Math.max(n,i)):a.push(l),gBe(l,n)}),n=i,a.forEach(s=>{yBe(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=fBe(l.parents);n=Os.get(u).y-df,n<=i&&(i=n);let h=Is.get(l.branch).pos,f=n-ff;Os.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),pBe=o(t=>{let e=Ile(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Os.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),mBe=o(t=>pBe(t)+df,"calculateCommitPosition"),gBe=o((t,e)=>{let r=Is.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+ff;return Os.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),yBe=o((t,e,r)=>{let n=Is.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Os.set(t.id,{x:a,y:i})},"setRootPosition"),vBe=o((t,e,r,n,i,a)=>{if(a===Hr.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%E0} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%E0} ${n}-inner`);else if(a===Hr.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===Hr.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%E0}`),a===Hr.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%E0}`)}a===Hr.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%E0}`)}},"drawCommitBullet"),xBe=o((t,e,r,n)=>{if(e.type!==Hr.CHERRY_PICK&&(e.customId&&e.type===Hr.MERGE||e.type!==Hr.MERGE)&&Ko?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=s.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-Hu).attr("y",r.y+13.5).attr("width",l.width+2*Hu).attr("height",l.height+2*Hu),Tr==="TB"||Tr==="BT"?(a.attr("x",r.x-(l.width+4*Oc+5)).attr("y",r.y-12),s.attr("x",r.x-(l.width+4*Oc)).attr("y",r.y+l.height-12)):s.attr("x",r.posWithOffset-l.width/2),Ko.rotateCommitLabel))if(Tr==="TB"||Tr==="BT")s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),bBe=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-Oc/2},${m+Hu} + ${n-a/2-Oc/2},${m-Hu} + ${r.posWithOffset-a/2-Oc},${m-p-Hu} + ${r.posWithOffset+a/2+Oc},${m-p-Hu} + ${r.posWithOffset+a/2+Oc},${m+p+Hu} + ${r.posWithOffset-a/2-Oc},${m+p+Hu}`),h.attr("cy",m).attr("cx",n-a/2+Oc/2).attr("r",1.5).attr("class","tag-hole"),Tr==="TB"||Tr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` ${r.x},${g+2} ${r.x},${g-2} - ${r.x+rf},${g-p-2} - ${r.x+rf+a+4},${g-p-2} - ${r.x+rf+a+4},${g+p+2} - ${r.x+rf},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Sc/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),jNe=s(t=>{switch(t.customType??t.type){case Br.NORMAL:return"commit-normal";case Br.REVERSE:return"commit-reverse";case Br.HIGHLIGHT:return"commit-highlight";case Br.MERGE:return"commit-merge";case Br.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),KNe=s((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=ioe(t.parents);if(a){let o=n.get(a)??i;return e==="TB"?o.y+nf:e==="BT"?(n.get(t.id)??i).y-nf:o.x+nf}}else return e==="TB"?Ew:e==="BT"?(n.get(t.id)??i).y-nf:0;return 0},"calculatePosition"),QNe=s((t,e,r)=>{let n=yr==="BT"&&r?e:e+rf,i=yr==="TB"||yr==="BT"?n:As.get(t.branch)?.pos,a=yr==="TB"||yr==="BT"?As.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),roe=s((t,e,r)=>{if(!Po)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=yr==="TB"||yr==="BT"?Ew:0,o=[...e.keys()],l=Po?.parallelCommits??!1,u=s((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=o.sort(u);yr==="BT"&&(l&&GNe(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=KNe(d,yr,a,Ls));let p=QNe(d,a,l);if(r){let m=jNe(d),g=d.customType??d.type,y=As.get(d.branch)?.index??0;HNe(n,d,p,m,y,g),YNe(i,d,p,a),XNe(i,d,p,a)}yr==="TB"||yr==="BT"?Ls.set(d.id,{x:p.x,y:p.posWithOffset}):Ls.set(d.id,{x:p.posWithOffset,y:p.y}),a=yr==="BT"&&l?a+nf:a+nf+rf,a>tf&&(tf=a)})},"drawCommits"),ZNe=s((t,e,r,n,i)=>{let o=(yr==="TB"||yr==="BT"?r.xh.branch===o,"isOnBranchToGetCurve"),u=s(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),q2=s((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(Cw.every(o=>Math.abs(o-n)>=10))return Cw.push(n),n;let a=Math.abs(t-e);return q2(t,e-a/5,r+1)},"findLane"),JNe=s((t,e,r,n)=>{let i=Ls.get(e.id),a=Ls.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let o=ZNe(e,r,i,a,n),l="",u="",h=0,f=0,d=As.get(r.branch)?.index;r.type===Br.MERGE&&e.id!==r.parents[0]&&(d=As.get(e.branch)?.index);let p;if(o){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):yr==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%f0)},"drawArrow"),eOe=s((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{JNe(r,e.get(a),i,e)})})},"drawArrows"),tOe=s((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%f0,o=As.get(n.name)?.pos;if(o===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",o),l.attr("x2",tf),l.attr("y2",o),l.attr("class","branch branch"+a),yr==="TB"?(l.attr("y1",Ew),l.attr("x1",o),l.attr("y2",tf),l.attr("x2",o)):yr==="BT"&&(l.attr("y1",tf),l.attr("x1",o),l.attr("y2",Ew),l.attr("x2",o)),Cw.push(o);let u=n.name,h=noe(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(Po?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(Po?.rotateCommitLabel===!0?30:0))+", "+(o-m.height/2-1)+")"),yr==="TB"?(f.attr("x",o-m.width/2-10).attr("y",0),p.attr("transform","translate("+(o-m.width/2-5)+", 0)")):yr==="BT"?(f.attr("x",o-m.width/2-10).attr("y",tf),p.attr("transform","translate("+(o-m.width/2-5)+", "+tf+")")):f.attr("transform","translate(-19, "+(o-m.height/2)+")")})},"drawBranches"),rOe=s(function(t,e,r,n,i){return As.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(yr==="TB"||yr==="BT"?n.width/2:0),e},"setBranchPosition"),nOe=s(function(t,e,r,n){if(zNe(),V.debug("in gitgraph renderer",t+` -`,"id:",e,r),!Po)throw new Error("GitGraph config not found");let i=Po.rotateCommitLabel??!1,a=n.db;U2=a.getCommits();let o=a.getBranchesAsObjArray();yr=a.getDirection();let l=Me(`[id="${e}"]`),u=0;o.forEach((h,f)=>{let d=noe(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=rOe(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),roe(l,U2,!1),Po.showBranches&&tOe(l,o),eOe(l,U2),roe(l,U2,!0),dt.insertTitle(l,"gitTitleText",Po.titleTopMargin??0,a.getDiagramTitle()),mC(void 0,l,Po.diagramPadding,Po.useMaxWidth)},"draw"),aoe={draw:nOe}});var iOe,ooe,loe=_(()=>{"use strict";iOe=s(t=>` + ${r.x+ff},${g-p-2} + ${r.x+ff+a+4},${g-p-2} + ${r.x+ff+a+4},${g+p+2} + ${r.x+ff},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Oc/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),wBe=o(t=>{switch(t.customType??t.type){case Hr.NORMAL:return"commit-normal";case Hr.REVERSE:return"commit-reverse";case Hr.HIGHLIGHT:return"commit-highlight";case Hr.MERGE:return"commit-merge";case Hr.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),TBe=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=Ile(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+df:e==="BT"?(n.get(t.id)??i).y-df:s.x+df}}else return e==="TB"?tE:e==="BT"?(n.get(t.id)??i).y-df:0;return 0},"calculatePosition"),kBe=o((t,e,r)=>{let n=Tr==="BT"&&r?e:e+ff,i=Tr==="TB"||Tr==="BT"?n:Is.get(t.branch)?.pos,a=Tr==="TB"||Tr==="BT"?Is.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),Nle=o((t,e,r)=>{if(!Ko)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=Tr==="TB"||Tr==="BT"?tE:0,s=[...e.keys()],l=Ko?.parallelCommits??!1,u=o((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=s.sort(u);Tr==="BT"&&(l&&dBe(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=TBe(d,Tr,a,Os));let p=kBe(d,a,l);if(r){let m=wBe(d),g=d.customType??d.type,y=Is.get(d.branch)?.index??0;vBe(n,d,p,m,y,g),xBe(i,d,p,a),bBe(i,d,p,a)}Tr==="TB"||Tr==="BT"?Os.set(d.id,{x:p.x,y:p.posWithOffset}):Os.set(d.id,{x:p.posWithOffset,y:p.y}),a=Tr==="BT"&&l?a+df:a+df+ff,a>hf&&(hf=a)})},"drawCommits"),EBe=o((t,e,r,n,i)=>{let s=(Tr==="TB"||Tr==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),lx=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(rE.every(s=>Math.abs(s-n)>=10))return rE.push(n),n;let a=Math.abs(t-e);return lx(t,e-a/5,r+1)},"findLane"),CBe=o((t,e,r,n)=>{let i=Os.get(e.id),a=Os.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=EBe(e,r,i,a,n),l="",u="",h=0,f=0,d=Is.get(r.branch)?.index;r.type===Hr.MERGE&&e.id!==r.parents[0]&&(d=Is.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Hr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):Tr==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Hr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===Hr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%E0)},"drawArrow"),SBe=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{CBe(r,e.get(a),i,e)})})},"drawArrows"),ABe=o((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%E0,s=Is.get(n.name)?.pos;if(s===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",s),l.attr("x2",hf),l.attr("y2",s),l.attr("class","branch branch"+a),Tr==="TB"?(l.attr("y1",tE),l.attr("x1",s),l.attr("y2",hf),l.attr("x2",s)):Tr==="BT"&&(l.attr("y1",hf),l.attr("x1",s),l.attr("y2",tE),l.attr("x2",s)),rE.push(s);let u=n.name,h=Mle(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(Ko?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(Ko?.rotateCommitLabel===!0?30:0))+", "+(s-m.height/2-1)+")"),Tr==="TB"?(f.attr("x",s-m.width/2-10).attr("y",0),p.attr("transform","translate("+(s-m.width/2-5)+", 0)")):Tr==="BT"?(f.attr("x",s-m.width/2-10).attr("y",hf),p.attr("transform","translate("+(s-m.width/2-5)+", "+hf+")")):f.attr("transform","translate(-19, "+(s-m.height/2)+")")})},"drawBranches"),_Be=o(function(t,e,r,n,i){return Is.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Tr==="TB"||Tr==="BT"?n.width/2:0),e},"setBranchPosition"),LBe=o(function(t,e,r,n){if(hBe(),V.debug("in gitgraph renderer",t+` +`,"id:",e,r),!Ko)throw new Error("GitGraph config not found");let i=Ko.rotateCommitLabel??!1,a=n.db;ox=a.getCommits();let s=a.getBranchesAsObjArray();Tr=a.getDirection();let l=Ge(`[id="${e}"]`),u=0;s.forEach((h,f)=>{let d=Mle(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=_Be(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),Nle(l,ox,!1),Ko.showBranches&&ABe(l,s),SBe(l,ox),Nle(l,ox,!0),Lt.insertTitle(l,"gitTitleText",Ko.titleTopMargin??0,a.getDiagramTitle()),aS(void 0,l,Ko.diagramPadding,Ko.useMaxWidth)},"draw"),Ole={draw:LBe}});var DBe,Ble,Fle=R(()=>{"use strict";DBe=o(t=>` .commit-id, .commit-msg, .branch-label { @@ -771,12 +771,12 @@ ${r}`),this.inline?`{${i}}`:i}};s(FIe,"renderInlineTag");s(zIe,"renderLinkDefaul font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),ooe=iOe});var coe={};ur(coe,{diagram:()=>aOe});var aOe,uoe=_(()=>{"use strict";toe();II();soe();loe();aOe={parser:eoe,db:Tw,renderer:aoe,styles:ooe}});var NI,doe,poe=_(()=>{"use strict";NI=function(){var t=s(function(P,M,F,I){for(F=F||{},I=P.length;I--;F[P[I]]=M);return F},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],o=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],k=[1,19],A=[1,20],w=[1,21],T=[1,22],C=[1,23],E=[1,25],S=[1,35],R={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:s(function(M,F,I,O,z,N,U){var $=N.length-1;switch(z){case 1:return N[$-1];case 2:this.$=[];break;case 3:N[$-1].push(N[$]),this.$=N[$-1];break;case 4:case 5:this.$=N[$];break;case 6:case 7:this.$=[];break;case 8:O.setWeekday("monday");break;case 9:O.setWeekday("tuesday");break;case 10:O.setWeekday("wednesday");break;case 11:O.setWeekday("thursday");break;case 12:O.setWeekday("friday");break;case 13:O.setWeekday("saturday");break;case 14:O.setWeekday("sunday");break;case 15:O.setWeekend("friday");break;case 16:O.setWeekend("saturday");break;case 17:O.setDateFormat(N[$].substr(11)),this.$=N[$].substr(11);break;case 18:O.enableInclusiveEndDates(),this.$=N[$].substr(18);break;case 19:O.TopAxis(),this.$=N[$].substr(8);break;case 20:O.setAxisFormat(N[$].substr(11)),this.$=N[$].substr(11);break;case 21:O.setTickInterval(N[$].substr(13)),this.$=N[$].substr(13);break;case 22:O.setExcludes(N[$].substr(9)),this.$=N[$].substr(9);break;case 23:O.setIncludes(N[$].substr(9)),this.$=N[$].substr(9);break;case 24:O.setTodayMarker(N[$].substr(12)),this.$=N[$].substr(12);break;case 27:O.setDiagramTitle(N[$].substr(6)),this.$=N[$].substr(6);break;case 28:this.$=N[$].trim(),O.setAccTitle(this.$);break;case 29:case 30:this.$=N[$].trim(),O.setAccDescription(this.$);break;case 31:O.addSection(N[$].substr(8)),this.$=N[$].substr(8);break;case 33:O.addTask(N[$-1],N[$]),this.$="task";break;case 34:this.$=N[$-1],O.setClickEvent(N[$-1],N[$],null);break;case 35:this.$=N[$-2],O.setClickEvent(N[$-2],N[$-1],N[$]);break;case 36:this.$=N[$-2],O.setClickEvent(N[$-2],N[$-1],null),O.setLink(N[$-2],N[$]);break;case 37:this.$=N[$-3],O.setClickEvent(N[$-3],N[$-2],N[$-1]),O.setLink(N[$-3],N[$]);break;case 38:this.$=N[$-2],O.setClickEvent(N[$-2],N[$],null),O.setLink(N[$-2],N[$-1]);break;case 39:this.$=N[$-3],O.setClickEvent(N[$-3],N[$-1],N[$]),O.setLink(N[$-3],N[$-2]);break;case 40:this.$=N[$-1],O.setLink(N[$-1],N[$]);break;case 41:case 47:this.$=N[$-1]+" "+N[$];break;case 42:case 43:case 45:this.$=N[$-2]+" "+N[$-1]+" "+N[$];break;case 44:case 46:this.$=N[$-3]+" "+N[$-2]+" "+N[$-1]+" "+N[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:o,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:k,31:A,33:w,35:T,36:C,37:24,38:E,40:S},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:o,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:k,31:A,33:w,35:T,36:C,37:24,38:E,40:S},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:s(function(M,F){if(F.recoverable)this.trace(M);else{var I=new Error(M);throw I.hash=F,I}},"parseError"),parse:s(function(M){var F=this,I=[0],O=[],z=[null],N=[],U=this.table,$="",W=0,ee=0,te=0,ce=2,Z=1,fe=N.slice.call(arguments,1),ne=Object.create(this.lexer),H={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(H.yy[Q]=this.yy[Q]);ne.setInput(M,H.yy),H.yy.lexer=ne,H.yy.parser=this,typeof ne.yylloc>"u"&&(ne.yylloc={});var K=ne.yylloc;N.push(K);var re=ne.options&&ne.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ie(ue){I.length=I.length-2*ue,z.length=z.length-ue,N.length=N.length-ue}s(ie,"popStack");function ye(){var ue;return ue=O.pop()||ne.lex()||Z,typeof ue!="number"&&(ue instanceof Array&&(O=ue,ue=O.pop()),ue=F.symbols_[ue]||ue),ue}s(ye,"lex");for(var j,De,oe,Re,Pe,Se,Ue={},Oe,_e,he,q;;){if(oe=I[I.length-1],this.defaultActions[oe]?Re=this.defaultActions[oe]:((j===null||typeof j>"u")&&(j=ye()),Re=U[oe]&&U[oe][j]),typeof Re>"u"||!Re.length||!Re[0]){var se="";q=[];for(Oe in U[oe])this.terminals_[Oe]&&Oe>ce&&q.push("'"+this.terminals_[Oe]+"'");ne.showPosition?se="Parse error on line "+(W+1)+`: -`+ne.showPosition()+` -Expecting `+q.join(", ")+", got '"+(this.terminals_[j]||j)+"'":se="Parse error on line "+(W+1)+": Unexpected "+(j==Z?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(se,{text:ne.match,token:this.terminals_[j]||j,line:ne.yylineno,loc:K,expected:q})}if(Re[0]instanceof Array&&Re.length>1)throw new Error("Parse Error: multiple actions possible at state: "+oe+", token: "+j);switch(Re[0]){case 1:I.push(j),z.push(ne.yytext),N.push(ne.yylloc),I.push(Re[1]),j=null,De?(j=De,De=null):(ee=ne.yyleng,$=ne.yytext,W=ne.yylineno,K=ne.yylloc,te>0&&te--);break;case 2:if(_e=this.productions_[Re[1]][1],Ue.$=z[z.length-_e],Ue._$={first_line:N[N.length-(_e||1)].first_line,last_line:N[N.length-1].last_line,first_column:N[N.length-(_e||1)].first_column,last_column:N[N.length-1].last_column},re&&(Ue._$.range=[N[N.length-(_e||1)].range[0],N[N.length-1].range[1]]),Se=this.performAction.apply(Ue,[$,ee,W,H.yy,Re[1],z,N].concat(fe)),typeof Se<"u")return Se;_e&&(I=I.slice(0,-1*_e*2),z=z.slice(0,-1*_e),N=N.slice(0,-1*_e)),I.push(this.productions_[Re[1]][0]),z.push(Ue.$),N.push(Ue._$),he=U[I[I.length-2]][I[I.length-1]],I.push(he);break;case 3:return!0}}return!0},"parse")},D=function(){var P={EOF:1,parseError:s(function(F,I){if(this.yy.parser)this.yy.parser.parseError(F,I);else throw new Error(F)},"parseError"),setInput:s(function(M,F){return this.yy=F||this.yy||{},this._input=M,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var M=this._input[0];this.yytext+=M,this.yyleng++,this.offset++,this.match+=M,this.matched+=M;var F=M.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),M},"input"),unput:s(function(M){var F=M.length,I=M.split(/(?:\r\n?|\n)/g);this._input=M+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;var O=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===O.length?this.yylloc.first_column:0)+O[O.length-I.length].length-I[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(M){this.unput(this.match.slice(M))},"less"),pastInput:s(function(){var M=this.matched.substr(0,this.matched.length-this.match.length);return(M.length>20?"...":"")+M.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var M=this.match;return M.length<20&&(M+=this._input.substr(0,20-M.length)),(M.substr(0,20)+(M.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var M=this.pastInput(),F=new Array(M.length+1).join("-");return M+this.upcomingInput()+` -`+F+"^"},"showPosition"),test_match:s(function(M,F){var I,O,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),O=M[0].match(/(?:\r\n?|\n).*/g),O&&(this.yylineno+=O.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:O?O[O.length-1].length-O[O.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+M[0].length},this.yytext+=M[0],this.match+=M[0],this.matches=M,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(M[0].length),this.matched+=M[0],I=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var N in z)this[N]=z[N];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var M,F,I,O;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),N=0;NF[0].length)){if(F=I,O=N,this.options.backtrack_lexer){if(M=this.test_match(I,z[N]),M!==!1)return M;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(M=this.test_match(F,z[O]),M!==!1?M:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var F=this.next();return F||this.lex()},"lex"),begin:s(function(F){this.conditionStack.push(F)},"begin"),popState:s(function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},"topState"),pushState:s(function(F){this.begin(F)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(F,I,O,z){var N=z;switch(O){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return P}();R.lexer=D;function L(){this.yy={}}return s(L,"Parser"),L.prototype=R,R.Parser=L,new L}();NI.parser=NI;doe=NI});var moe=is((OI,PI)=>{"use strict";(function(t,e){typeof OI=="object"&&typeof PI<"u"?PI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(OI,function(){"use strict";var t="day";return function(e,r,n){var i=s(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var o=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):o.bind(this)(l,u)}}})});var goe=is((BI,FI)=>{"use strict";(function(t,e){typeof BI=="object"&&typeof FI<"u"?FI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(BI,function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d\d/,n=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,a={},o=s(function(m){return(m=+m)+(m>68?1900:2e3)},"s"),l=s(function(m){return function(g){this[m]=+g}},"a"),u=[/[+-]\d\d:?(\d\d)?|Z/,function(m){(this.zone||(this.zone={})).offset=function(g){if(!g||g==="Z")return 0;var y=g.match(/([+-]|\d\d)/g),v=60*y[1]+(+y[2]||0);return v===0?0:y[0]==="+"?-v:v}(m)}],h=s(function(m){var g=a[m];return g&&(g.indexOf?g:g.s.concat(g.f))},"h"),f=s(function(m,g){var y,v=a.meridiem;if(v){for(var x=1;x<=24;x+=1)if(m.indexOf(v(x,0,g))>-1){y=x>12;break}}else y=m===(g?"pm":"PM");return y},"u"),d={A:[i,function(m){this.afternoon=f(m,!1)}],a:[i,function(m){this.afternoon=f(m,!0)}],S:[/\d/,function(m){this.milliseconds=100*+m}],SS:[r,function(m){this.milliseconds=10*+m}],SSS:[/\d{3}/,function(m){this.milliseconds=+m}],s:[n,l("seconds")],ss:[n,l("seconds")],m:[n,l("minutes")],mm:[n,l("minutes")],H:[n,l("hours")],h:[n,l("hours")],HH:[n,l("hours")],hh:[n,l("hours")],D:[n,l("day")],DD:[r,l("day")],Do:[i,function(m){var g=a.ordinal,y=m.match(/\d+/);if(this.day=y[0],g)for(var v=1;v<=31;v+=1)g(v).replace(/\[|\]/g,"")===m&&(this.day=v)}],M:[n,l("month")],MM:[r,l("month")],MMM:[i,function(m){var g=h("months"),y=(h("monthsShort")||g.map(function(v){return v.slice(0,3)})).indexOf(m)+1;if(y<1)throw new Error;this.month=y%12||y}],MMMM:[i,function(m){var g=h("months").indexOf(m)+1;if(g<1)throw new Error;this.month=g%12||g}],Y:[/[+-]?\d+/,l("year")],YY:[r,function(m){this.year=o(m)}],YYYY:[/\d{4}/,l("year")],Z:u,ZZ:u};function p(m){var g,y;g=m,y=a&&a.formats;for(var v=(m=g.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(C,E,S){var R=S&&S.toUpperCase();return E||y[S]||t[S]||y[R].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(D,L,P){return L||P.slice(1)})})).match(e),x=v.length,b=0;b-1)return new Date((F==="X"?1e3:1)*M);var O=p(F)(M),z=O.year,N=O.month,U=O.day,$=O.hours,W=O.minutes,ee=O.seconds,te=O.milliseconds,ce=O.zone,Z=new Date,fe=U||(z||N?1:Z.getDate()),ne=z||Z.getFullYear(),H=0;z&&!N||(H=N>0?N-1:Z.getMonth());var Q=$||0,K=W||0,re=ee||0,ie=te||0;return ce?new Date(Date.UTC(ne,H,fe,Q,K,re,ie+60*ce.offset*1e3)):I?new Date(Date.UTC(ne,H,fe,Q,K,re,ie)):new Date(ne,H,fe,Q,K,re,ie)}catch{return new Date("")}}(k,T,A),this.init(),R&&R!==!0&&(this.$L=this.locale(R).$L),S&&k!=this.format(T)&&(this.$d=new Date("")),a={}}else if(T instanceof Array)for(var D=T.length,L=1;L<=D;L+=1){w[1]=T[L-1];var P=y.apply(this,w);if(P.isValid()){this.$d=P.$d,this.$L=P.$L,this.init();break}L===D&&(this.$d=new Date(""))}else x.call(this,b)}}})});var yoe=is((zI,$I)=>{"use strict";(function(t,e){typeof zI=="object"&&typeof $I<"u"?$I.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(zI,function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,o=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return o.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return o.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}});return n.bind(this)(u)}}})});function Ioe(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",o=new RegExp(a);t[0].match(o)&&(e[i]=!0,t.shift(1),n=!0)})}var boe,ao,koe,woe,Toe,voe,_c,qI,WI,HI,W2,H2,YI,XI,Aw,gg,jI,Eoe,KI,Y2,QI,ZI,Lw,GI,cOe,uOe,hOe,fOe,dOe,pOe,mOe,gOe,yOe,vOe,xOe,bOe,kOe,wOe,TOe,EOe,COe,SOe,_Oe,AOe,LOe,DOe,ROe,Coe,MOe,IOe,NOe,Soe,OOe,VI,_oe,Aoe,Sw,mg,POe,BOe,UI,_w,Ri,Loe,FOe,d0,zOe,xoe,$Oe,Doe,GOe,Roe,VOe,UOe,Moe,Noe=_(()=>{"use strict";boe=ka(_p(),1),ao=ka(cb(),1),koe=ka(moe(),1),woe=ka(goe(),1),Toe=ka(yoe(),1);it();gt();pr();Ci();ao.default.extend(koe.default);ao.default.extend(woe.default);ao.default.extend(Toe.default);voe={friday:5,saturday:6},_c="",qI="",HI="",W2=[],H2=[],YI=new Map,XI=[],Aw=[],gg="",jI="",Eoe=["active","done","crit","milestone"],KI=[],Y2=!1,QI=!1,ZI="sunday",Lw="saturday",GI=0,cOe=s(function(){XI=[],Aw=[],gg="",KI=[],Sw=0,UI=void 0,_w=void 0,Ri=[],_c="",qI="",jI="",WI=void 0,HI="",W2=[],H2=[],Y2=!1,QI=!1,GI=0,YI=new Map,br(),ZI="sunday",Lw="saturday"},"clear"),uOe=s(function(t){qI=t},"setAxisFormat"),hOe=s(function(){return qI},"getAxisFormat"),fOe=s(function(t){WI=t},"setTickInterval"),dOe=s(function(){return WI},"getTickInterval"),pOe=s(function(t){HI=t},"setTodayMarker"),mOe=s(function(){return HI},"getTodayMarker"),gOe=s(function(t){_c=t},"setDateFormat"),yOe=s(function(){Y2=!0},"enableInclusiveEndDates"),vOe=s(function(){return Y2},"endDatesAreInclusive"),xOe=s(function(){QI=!0},"enableTopAxis"),bOe=s(function(){return QI},"topAxisEnabled"),kOe=s(function(t){jI=t},"setDisplayMode"),wOe=s(function(){return jI},"getDisplayMode"),TOe=s(function(){return _c},"getDateFormat"),EOe=s(function(t){W2=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),COe=s(function(){return W2},"getIncludes"),SOe=s(function(t){H2=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),_Oe=s(function(){return H2},"getExcludes"),AOe=s(function(){return YI},"getLinks"),LOe=s(function(t){gg=t,XI.push(t)},"addSection"),DOe=s(function(){return XI},"getSections"),ROe=s(function(){let t=xoe(),e=10,r=0;for(;!t&&r[\d\w- ]+)/.exec(r);if(i!==null){let o=null;for(let u of i.groups.ids.split(" ")){let h=d0(u);h!==void 0&&(!o||h.endTime>o.endTime)&&(o=h)}if(o)return o.endTime;let l=new Date;return l.setHours(0,0,0,0),l}let a=(0,ao.default)(r,e.trim(),!0);if(a.isValid())return a.toDate();{V.debug("Invalid date:"+r),V.debug("With date format:"+e.trim());let o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),_oe=s(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),Aoe=s(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=d0(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),YI.set(n,r))}),Doe(t,"clickable")},"setLink"),Doe=s(function(t,e){t.split(",").forEach(function(r){let n=d0(r);n!==void 0&&n.classes.push(e)})},"setClass"),GOe=s(function(t,e,r){if(le().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{dt.runFunc(e,...n)})},"setClickFun"),Roe=s(function(t,e){KI.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),VOe=s(function(t,e,r){t.split(",").forEach(function(n){GOe(n,e,r)}),Doe(t,"clickable")},"setClickEvent"),UOe=s(function(t){KI.forEach(function(e){e(t)})},"bindFunctions"),Moe={getConfig:s(()=>le().gantt,"getConfig"),clear:cOe,setDateFormat:gOe,getDateFormat:TOe,enableInclusiveEndDates:yOe,endDatesAreInclusive:vOe,enableTopAxis:xOe,topAxisEnabled:bOe,setAxisFormat:uOe,getAxisFormat:hOe,setTickInterval:fOe,getTickInterval:dOe,setTodayMarker:pOe,getTodayMarker:mOe,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,setDisplayMode:kOe,getDisplayMode:wOe,setAccDescription:Vr,getAccDescription:Ur,addSection:LOe,getSections:DOe,getTasks:ROe,addTask:FOe,findTaskById:d0,addTaskOrg:zOe,setIncludes:EOe,getIncludes:COe,setExcludes:SOe,getExcludes:_Oe,setClickEvent:VOe,setLink:$Oe,getLinks:AOe,bindFunctions:UOe,parseDuration:_oe,isInvalidDate:Coe,setWeekday:MOe,getWeekday:IOe,setWeekend:NOe};s(Ioe,"getTaskTags")});var Dw,qOe,Ooe,WOe,zu,HOe,Poe,Boe=_(()=>{"use strict";Dw=ka(cb(),1);it();Xt();Qt();gt();Un();qOe=s(function(){V.debug("Something is calling, setConf, remove the call")},"setConf"),Ooe={monday:wh,tuesday:H4,wednesday:Y4,thursday:Ql,friday:X4,saturday:j4,sunday:nl},WOe=s((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,o)=>a.startTime-o.startTime||a.order-o.order),i=0;for(let a of n)for(let o=0;o=r[o]){r[o]=a.endTime,a.order=o+e,o>i&&(i=o);break}return i},"getMaxIntersections"),HOe=s(function(t,e,r,n){let i=le().gantt,a=le().securityLevel,o;a==="sandbox"&&(o=Me("#i"+e));let l=a==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body"),u=a==="sandbox"?o.nodes()[0].contentDocument:document,h=u.getElementById(e);zu=h.parentElement.offsetWidth,zu===void 0&&(zu=1200),i.useWidth!==void 0&&(zu=i.useWidth);let f=n.db.getTasks(),d=[];for(let E of f)d.push(E.type);d=C(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let E={};for(let R of f)E[R.section]===void 0?E[R.section]=[R]:E[R.section].push(R);let S=0;for(let R of Object.keys(E)){let D=WOe(E[R],S)+1;S+=D,m+=D*(i.barHeight+i.barGap),p[R]=D}}else{m+=f.length*(i.barHeight+i.barGap);for(let E of d)p[E]=f.filter(S=>S.type===E).length}h.setAttribute("viewBox","0 0 "+zu+" "+m);let g=l.select(`[id="${e}"]`),y=Z4().domain([n4(f,function(E){return E.startTime}),r4(f,function(E){return E.endTime})]).rangeRound([0,zu-i.leftPadding-i.rightPadding]);function v(E,S){let R=E.startTime,D=S.startTime,L=0;return R>D?L=1:RU.order))].map(U=>E.find($=>$.order===U));g.append("g").selectAll("rect").data(I).enter().append("rect").attr("x",0).attr("y",function(U,$){return $=U.order,$*S+R-2}).attr("width",function(){return M-i.rightPadding/2}).attr("height",S).attr("class",function(U){for(let[$,W]of d.entries())if(U.type===W)return"section section"+$%i.numberSectionStyles;return"section section0"});let O=g.append("g").selectAll("rect").data(E).enter(),z=n.db.getLinks();if(O.append("rect").attr("id",function(U){return U.id}).attr("rx",3).attr("ry",3).attr("x",function(U){return U.milestone?y(U.startTime)+D+.5*(y(U.endTime)-y(U.startTime))-.5*L:y(U.startTime)+D}).attr("y",function(U,$){return $=U.order,$*S+R}).attr("width",function(U){return U.milestone?L:y(U.renderEndTime||U.endTime)-y(U.startTime)}).attr("height",L).attr("transform-origin",function(U,$){return $=U.order,(y(U.startTime)+D+.5*(y(U.endTime)-y(U.startTime))).toString()+"px "+($*S+R+.5*L).toString()+"px"}).attr("class",function(U){let $="task",W="";U.classes.length>0&&(W=U.classes.join(" "));let ee=0;for(let[ce,Z]of d.entries())U.type===Z&&(ee=ce%i.numberSectionStyles);let te="";return U.active?U.crit?te+=" activeCrit":te=" active":U.done?U.crit?te=" doneCrit":te=" done":U.crit&&(te+=" crit"),te.length===0&&(te=" task"),U.milestone&&(te=" milestone "+te),te+=ee,te+=" "+W,$+te}),O.append("text").attr("id",function(U){return U.id+"-text"}).text(function(U){return U.task}).attr("font-size",i.fontSize).attr("x",function(U){let $=y(U.startTime),W=y(U.renderEndTime||U.endTime);U.milestone&&($+=.5*(y(U.endTime)-y(U.startTime))-.5*L),U.milestone&&(W=$+L);let ee=this.getBBox().width;return ee>W-$?W+ee+1.5*i.leftPadding>M?$+D-5:W+D+5:(W-$)/2+$+D}).attr("y",function(U,$){return $=U.order,$*S+i.barHeight/2+(i.fontSize/2-2)+R}).attr("text-height",L).attr("class",function(U){let $=y(U.startTime),W=y(U.endTime);U.milestone&&(W=$+L);let ee=this.getBBox().width,te="";U.classes.length>0&&(te=U.classes.join(" "));let ce=0;for(let[fe,ne]of d.entries())U.type===ne&&(ce=fe%i.numberSectionStyles);let Z="";return U.active&&(U.crit?Z="activeCritText"+ce:Z="activeText"+ce),U.done?U.crit?Z=Z+" doneCritText"+ce:Z=Z+" doneText"+ce:U.crit&&(Z=Z+" critText"+ce),U.milestone&&(Z+=" milestoneText"),ee>W-$?W+ee+1.5*i.leftPadding>M?te+" taskTextOutsideLeft taskTextOutside"+ce+" "+Z:te+" taskTextOutsideRight taskTextOutside"+ce+" "+Z+" width-"+ee:te+" taskText taskText"+ce+" "+Z+" width-"+ee}),le().securityLevel==="sandbox"){let U;U=Me("#i"+e);let $=U.nodes()[0].contentDocument;O.filter(function(W){return z.has(W.id)}).each(function(W){var ee=$.querySelector("#"+W.id),te=$.querySelector("#"+W.id+"-text");let ce=ee.parentNode;var Z=$.createElement("a");Z.setAttribute("xlink:href",z.get(W.id)),Z.setAttribute("target","_top"),ce.appendChild(Z),Z.appendChild(ee),Z.appendChild(te)})}}s(b,"drawRects");function k(E,S,R,D,L,P,M,F){if(M.length===0&&F.length===0)return;let I,O;for(let{startTime:ee,endTime:te}of P)(I===void 0||eeO)&&(O=te);if(!I||!O)return;if((0,Dw.default)(O).diff((0,Dw.default)(I),"year")>5){V.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let z=n.db.getDateFormat(),N=[],U=null,$=(0,Dw.default)(I);for(;$.valueOf()<=O;)n.db.isInvalidDate($,z,M,F)?U?U.end=$:U={start:$,end:$}:U&&(N.push(U),U=null),$=$.add(1,"d");g.append("g").selectAll("rect").data(N).enter().append("rect").attr("id",function(ee){return"exclude-"+ee.start.format("YYYY-MM-DD")}).attr("x",function(ee){return y(ee.start)+R}).attr("y",i.gridLineStartPadding).attr("width",function(ee){let te=ee.end.add(1,"day");return y(te)-y(ee.start)}).attr("height",L-S-i.gridLineStartPadding).attr("transform-origin",function(ee,te){return(y(ee.start)+R+.5*(y(ee.end)-y(ee.start))).toString()+"px "+(te*E+.5*L).toString()+"px"}).attr("class","exclude-range")}s(k,"drawExcludeDays");function A(E,S,R,D){let L=AC(y).tickSize(-D+S+i.gridLineStartPadding).tickFormat(nd(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d")),M=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(M!==null){let F=M[1],I=M[2],O=n.db.getWeekday()||i.weekday;switch(I){case"millisecond":L.ticks(jl.every(F));break;case"second":L.ticks(Vs.every(F));break;case"minute":L.ticks(ou.every(F));break;case"hour":L.ticks(lu.every(F));break;case"day":L.ticks(vo.every(F));break;case"week":L.ticks(Ooe[O].every(F));break;case"month":L.ticks(cu.every(F));break}}if(g.append("g").attr("class","grid").attr("transform","translate("+E+", "+(D-50)+")").call(L).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let F=_C(y).tickSize(-D+S+i.gridLineStartPadding).tickFormat(nd(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));if(M!==null){let I=M[1],O=M[2],z=n.db.getWeekday()||i.weekday;switch(O){case"millisecond":F.ticks(jl.every(I));break;case"second":F.ticks(Vs.every(I));break;case"minute":F.ticks(ou.every(I));break;case"hour":F.ticks(lu.every(I));break;case"day":F.ticks(vo.every(I));break;case"week":F.ticks(Ooe[z].every(I));break;case"month":F.ticks(cu.every(I));break}}g.append("g").attr("class","grid").attr("transform","translate("+E+", "+S+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}s(A,"makeGrid");function w(E,S){let R=0,D=Object.keys(p).map(L=>[L,p[L]]);g.append("g").selectAll("text").data(D).enter().append(function(L){let P=L[0].split($e.lineBreakRegex),M=-(P.length-1)/2,F=u.createElementNS("http://www.w3.org/2000/svg","text");F.setAttribute("dy",M+"em");for(let[I,O]of P.entries()){let z=u.createElementNS("http://www.w3.org/2000/svg","tspan");z.setAttribute("alignment-baseline","central"),z.setAttribute("x","10"),I>0&&z.setAttribute("dy","1em"),z.textContent=O,F.appendChild(z)}return F}).attr("x",10).attr("y",function(L,P){if(P>0)for(let M=0;M{"use strict";YOe=s(t=>` +`,"getStyles"),Ble=DBe});var zle={};hr(zle,{diagram:()=>RBe});var RBe,$le=R(()=>{"use strict";Rle();EI();Ple();Fle();RBe={parser:Dle,db:eE,renderer:Ole,styles:Ble}});var CI,Ule,Hle=R(()=>{"use strict";CI=function(){var t=o(function(I,C,O,D){for(O=O||{},D=I.length;D--;O[I[D]]=C);return O},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],w=[1,19],S=[1,20],T=[1,21],E=[1,22],_=[1,23],A=[1,25],L=[1,35],M={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(C,O,D,P,F,B,G){var z=B.length-1;switch(F){case 1:return B[z-1];case 2:this.$=[];break;case 3:B[z-1].push(B[z]),this.$=B[z-1];break;case 4:case 5:this.$=B[z];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(B[z].substr(11)),this.$=B[z].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=B[z].substr(18);break;case 19:P.TopAxis(),this.$=B[z].substr(8);break;case 20:P.setAxisFormat(B[z].substr(11)),this.$=B[z].substr(11);break;case 21:P.setTickInterval(B[z].substr(13)),this.$=B[z].substr(13);break;case 22:P.setExcludes(B[z].substr(9)),this.$=B[z].substr(9);break;case 23:P.setIncludes(B[z].substr(9)),this.$=B[z].substr(9);break;case 24:P.setTodayMarker(B[z].substr(12)),this.$=B[z].substr(12);break;case 27:P.setDiagramTitle(B[z].substr(6)),this.$=B[z].substr(6);break;case 28:this.$=B[z].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=B[z].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(B[z].substr(8)),this.$=B[z].substr(8);break;case 33:P.addTask(B[z-1],B[z]),this.$="task";break;case 34:this.$=B[z-1],P.setClickEvent(B[z-1],B[z],null);break;case 35:this.$=B[z-2],P.setClickEvent(B[z-2],B[z-1],B[z]);break;case 36:this.$=B[z-2],P.setClickEvent(B[z-2],B[z-1],null),P.setLink(B[z-2],B[z]);break;case 37:this.$=B[z-3],P.setClickEvent(B[z-3],B[z-2],B[z-1]),P.setLink(B[z-3],B[z]);break;case 38:this.$=B[z-2],P.setClickEvent(B[z-2],B[z],null),P.setLink(B[z-2],B[z-1]);break;case 39:this.$=B[z-3],P.setClickEvent(B[z-3],B[z-1],B[z]),P.setLink(B[z-3],B[z-2]);break;case 40:this.$=B[z-1],P.setLink(B[z-1],B[z]);break;case 41:case 47:this.$=B[z-1]+" "+B[z];break;case 42:case 43:case 45:this.$=B[z-2]+" "+B[z-1]+" "+B[z];break;case 44:case 46:this.$=B[z-3]+" "+B[z-2]+" "+B[z-1]+" "+B[z];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:w,31:S,33:T,35:E,36:_,37:24,38:A,40:L},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:w,31:S,33:T,35:E,36:_,37:24,38:A,40:L},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(C,O){if(O.recoverable)this.trace(C);else{var D=new Error(C);throw D.hash=O,D}},"parseError"),parse:o(function(C){var O=this,D=[0],P=[],F=[null],B=[],G=this.table,z="",Y=0,Q=0,X=0,ie=2,j=1,J=B.slice.call(arguments,1),Z=Object.create(this.lexer),H={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&(H.yy[q]=this.yy[q]);Z.setInput(C,H.yy),H.yy.lexer=Z,H.yy.parser=this,typeof Z.yylloc>"u"&&(Z.yylloc={});var K=Z.yylloc;B.push(K);var se=Z.options&&Z.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ce(ge){D.length=D.length-2*ge,F.length=F.length-ge,B.length=B.length-ge}o(ce,"popStack");function ue(){var ge;return ge=P.pop()||Z.lex()||j,typeof ge!="number"&&(ge instanceof Array&&(P=ge,ge=P.pop()),ge=O.symbols_[ge]||ge),ge}o(ue,"lex");for(var te,De,oe,ke,Ie,Se,Ue={},Pe,_e,me,W;;){if(oe=D[D.length-1],this.defaultActions[oe]?ke=this.defaultActions[oe]:((te===null||typeof te>"u")&&(te=ue()),ke=G[oe]&&G[oe][te]),typeof ke>"u"||!ke.length||!ke[0]){var fe="";W=[];for(Pe in G[oe])this.terminals_[Pe]&&Pe>ie&&W.push("'"+this.terminals_[Pe]+"'");Z.showPosition?fe="Parse error on line "+(Y+1)+`: +`+Z.showPosition()+` +Expecting `+W.join(", ")+", got '"+(this.terminals_[te]||te)+"'":fe="Parse error on line "+(Y+1)+": Unexpected "+(te==j?"end of input":"'"+(this.terminals_[te]||te)+"'"),this.parseError(fe,{text:Z.match,token:this.terminals_[te]||te,line:Z.yylineno,loc:K,expected:W})}if(ke[0]instanceof Array&&ke.length>1)throw new Error("Parse Error: multiple actions possible at state: "+oe+", token: "+te);switch(ke[0]){case 1:D.push(te),F.push(Z.yytext),B.push(Z.yylloc),D.push(ke[1]),te=null,De?(te=De,De=null):(Q=Z.yyleng,z=Z.yytext,Y=Z.yylineno,K=Z.yylloc,X>0&&X--);break;case 2:if(_e=this.productions_[ke[1]][1],Ue.$=F[F.length-_e],Ue._$={first_line:B[B.length-(_e||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(_e||1)].first_column,last_column:B[B.length-1].last_column},se&&(Ue._$.range=[B[B.length-(_e||1)].range[0],B[B.length-1].range[1]]),Se=this.performAction.apply(Ue,[z,Q,Y,H.yy,ke[1],F,B].concat(J)),typeof Se<"u")return Se;_e&&(D=D.slice(0,-1*_e*2),F=F.slice(0,-1*_e),B=B.slice(0,-1*_e)),D.push(this.productions_[ke[1]][0]),F.push(Ue.$),B.push(Ue._$),me=G[D[D.length-2]][D[D.length-1]],D.push(me);break;case 3:return!0}}return!0},"parse")},N=function(){var I={EOF:1,parseError:o(function(O,D){if(this.yy.parser)this.yy.parser.parseError(O,D);else throw new Error(O)},"parseError"),setInput:o(function(C,O){return this.yy=O||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var O=C.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:o(function(C){var O=C.length,D=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var P=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),D.length-1&&(this.yylineno-=D.length-1);var F=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:D?(D.length===P.length?this.yylloc.first_column:0)+P[P.length-D.length].length-D[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[F[0],F[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(C){this.unput(this.match.slice(C))},"less"),pastInput:o(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var C=this.pastInput(),O=new Array(C.length+1).join("-");return C+this.upcomingInput()+` +`+O+"^"},"showPosition"),test_match:o(function(C,O){var D,P,F;if(this.options.backtrack_lexer&&(F={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(F.yylloc.range=this.yylloc.range.slice(0))),P=C[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],D=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),D)return D;if(this._backtrack){for(var B in F)this[B]=F[B];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,O,D,P;this._more||(this.yytext="",this.match="");for(var F=this._currentRules(),B=0;BO[0].length)){if(O=D,P=B,this.options.backtrack_lexer){if(C=this.test_match(D,F[B]),C!==!1)return C;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(C=this.test_match(O,F[P]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var O=this.next();return O||this.lex()},"lex"),begin:o(function(O){this.conditionStack.push(O)},"begin"),popState:o(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:o(function(O){this.begin(O)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(O,D,P,F){var B=F;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return I}();M.lexer=N;function k(){this.yy={}}return o(k,"Parser"),k.prototype=M,M.Parser=k,new k}();CI.parser=CI;Ule=CI});var Yle=gi((SI,AI)=>{"use strict";(function(t,e){typeof SI=="object"&&typeof AI<"u"?AI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(SI,function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}})});var Wle=gi((_I,LI)=>{"use strict";(function(t,e){typeof _I=="object"&&typeof LI<"u"?LI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(_I,function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x}(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map(function(x){return x.slice(0,3)})).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(A,L,M){var N=M&&M.toUpperCase();return L||v[M]||t[M]||v[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(k,I,C){return I||C.slice(1)})})).match(e),b=x.length,w=0;w-1)return new Date((D==="X"?1e3:1)*O);var B=m(D)(O),G=B.year,z=B.month,Y=B.day,Q=B.hours,X=B.minutes,ie=B.seconds,j=B.milliseconds,J=B.zone,Z=B.week,H=new Date,q=Y||(G||z?1:H.getDate()),K=G||H.getFullYear(),se=0;G&&!z||(se=z>0?z-1:H.getMonth());var ce,ue=Q||0,te=X||0,De=ie||0,oe=j||0;return J?new Date(Date.UTC(K,se,q,ue,te,De,oe+60*J.offset*1e3)):P?new Date(Date.UTC(K,se,q,ue,te,De,oe)):(ce=new Date(K,se,q,ue,te,De,oe),Z&&(ce=F(ce).week(Z).toDate()),ce)}catch{return new Date("")}}(S,_,T,v),this.init(),N&&N!==!0&&(this.$L=this.locale(N).$L),M&&S!=this.format(_)&&(this.$d=new Date("")),s={}}else if(_ instanceof Array)for(var k=_.length,I=1;I<=k;I+=1){E[1]=_[I-1];var C=v.apply(this,E);if(C.isValid()){this.$d=C.$d,this.$L=C.$L,this.init();break}I===k&&(this.$d=new Date(""))}else b.call(this,w)}}})});var qle=gi((DI,RI)=>{"use strict";(function(t,e){typeof DI=="object"&&typeof RI<"u"?RI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(DI,function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}});return n.bind(this)(u)}}})});function cce(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var Kle,yo,Qle,Zle,Jle,Xle,Pc,OI,PI,BI,cx,ux,FI,zI,aE,Rg,$I,ece,GI,hx,VI,UI,sE,NI,OBe,PBe,BBe,FBe,zBe,$Be,GBe,VBe,UBe,HBe,YBe,WBe,qBe,XBe,jBe,KBe,QBe,ZBe,JBe,eFe,tFe,rFe,nFe,tce,iFe,aFe,sFe,rce,oFe,MI,nce,ice,nE,Dg,lFe,cFe,II,iE,zi,ace,uFe,C0,hFe,jle,fFe,sce,dFe,oce,pFe,mFe,lce,uce=R(()=>{"use strict";Kle=Xi(Up(),1),yo=Xi(Nb(),1),Qle=Xi(Yle(),1),Zle=Xi(Wle(),1),Jle=Xi(qle(),1);ut();_t();xr();bi();yo.default.extend(Qle.default);yo.default.extend(Zle.default);yo.default.extend(Jle.default);Xle={friday:5,saturday:6},Pc="",OI="",BI="",cx=[],ux=[],FI=new Map,zI=[],aE=[],Rg="",$I="",ece=["active","done","crit","milestone"],GI=[],hx=!1,VI=!1,UI="sunday",sE="saturday",NI=0,OBe=o(function(){zI=[],aE=[],Rg="",GI=[],nE=0,II=void 0,iE=void 0,zi=[],Pc="",OI="",$I="",PI=void 0,BI="",cx=[],ux=[],hx=!1,VI=!1,NI=0,FI=new Map,vr(),UI="sunday",sE="saturday"},"clear"),PBe=o(function(t){OI=t},"setAxisFormat"),BBe=o(function(){return OI},"getAxisFormat"),FBe=o(function(t){PI=t},"setTickInterval"),zBe=o(function(){return PI},"getTickInterval"),$Be=o(function(t){BI=t},"setTodayMarker"),GBe=o(function(){return BI},"getTodayMarker"),VBe=o(function(t){Pc=t},"setDateFormat"),UBe=o(function(){hx=!0},"enableInclusiveEndDates"),HBe=o(function(){return hx},"endDatesAreInclusive"),YBe=o(function(){VI=!0},"enableTopAxis"),WBe=o(function(){return VI},"topAxisEnabled"),qBe=o(function(t){$I=t},"setDisplayMode"),XBe=o(function(){return $I},"getDisplayMode"),jBe=o(function(){return Pc},"getDateFormat"),KBe=o(function(t){cx=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),QBe=o(function(){return cx},"getIncludes"),ZBe=o(function(t){ux=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),JBe=o(function(){return ux},"getExcludes"),eFe=o(function(){return FI},"getLinks"),tFe=o(function(t){Rg=t,zI.push(t)},"addSection"),rFe=o(function(){return zI},"getSections"),nFe=o(function(){let t=jle(),e=10,r=0;for(;!t&&r[\d\w- ]+)/.exec(r);if(i!==null){let s=null;for(let u of i.groups.ids.split(" ")){let h=C0(u);h!==void 0&&(!s||h.endTime>s.endTime)&&(s=h)}if(s)return s.endTime;let l=new Date;return l.setHours(0,0,0,0),l}let a=(0,yo.default)(r,e.trim(),!0);if(a.isValid())return a.toDate();{V.debug("Invalid date:"+r),V.debug("With date format:"+e.trim());let s=new Date(r);if(s===void 0||isNaN(s.getTime())||s.getFullYear()<-1e4||s.getFullYear()>1e4)throw new Error("Invalid date:"+r);return s}},"getStartDate"),nce=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),ice=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=C0(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),FI.set(n,r))}),sce(t,"clickable")},"setLink"),sce=o(function(t,e){t.split(",").forEach(function(r){let n=C0(r);n!==void 0&&n.classes.push(e)})},"setClass"),dFe=o(function(t,e,r){if(de().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Lt.runFunc(e,...n)})},"setClickFun"),oce=o(function(t,e){GI.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),pFe=o(function(t,e,r){t.split(",").forEach(function(n){dFe(n,e,r)}),sce(t,"clickable")},"setClickEvent"),mFe=o(function(t){GI.forEach(function(e){e(t)})},"bindFunctions"),lce={getConfig:o(()=>de().gantt,"getConfig"),clear:OBe,setDateFormat:VBe,getDateFormat:jBe,enableInclusiveEndDates:UBe,endDatesAreInclusive:HBe,enableTopAxis:YBe,topAxisEnabled:WBe,setAxisFormat:PBe,getAxisFormat:BBe,setTickInterval:FBe,getTickInterval:zBe,setTodayMarker:$Be,getTodayMarker:GBe,setAccTitle:kr,getAccTitle:Ar,setDiagramTitle:nn,getDiagramTitle:Xr,setDisplayMode:qBe,getDisplayMode:XBe,setAccDescription:_r,getAccDescription:Lr,addSection:tFe,getSections:rFe,getTasks:nFe,addTask:uFe,findTaskById:C0,addTaskOrg:hFe,setIncludes:KBe,getIncludes:QBe,setExcludes:ZBe,getExcludes:JBe,setClickEvent:pFe,setLink:fFe,getLinks:eFe,bindFunctions:mFe,parseDuration:nce,isInvalidDate:tce,setWeekday:iFe,getWeekday:aFe,setWeekend:sFe};o(cce,"getTaskTags")});var oE,gFe,hce,yFe,Yu,vFe,fce,dce=R(()=>{"use strict";oE=Xi(Nb(),1);ut();Zt();rr();_t();Yn();gFe=o(function(){V.debug("Something is calling, setConf, remove the call")},"setConf"),hce={monday:_h,tuesday:k3,wednesday:E3,thursday:cc,friday:C3,saturday:S3,sunday:yl},yFe=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),vFe=o(function(t,e,r,n){let i=de().gantt,a=de().securityLevel,s;a==="sandbox"&&(s=Ge("#i"+e));let l=a==="sandbox"?Ge(s.nodes()[0].contentDocument.body):Ge("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);Yu=h.parentElement.offsetWidth,Yu===void 0&&(Yu=1200),i.useWidth!==void 0&&(Yu=i.useWidth);let f=n.db.getTasks(),d=[];for(let A of f)d.push(A.type);d=_(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let A={};for(let M of f)A[M.section]===void 0?A[M.section]=[M]:A[M.section].push(M);let L=0;for(let M of Object.keys(A)){let N=yFe(A[M],L)+1;L+=N,m+=N*(i.barHeight+i.barGap),p[M]=N}}else{m+=f.length*(i.barHeight+i.barGap);for(let A of d)p[A]=f.filter(L=>L.type===A).length}h.setAttribute("viewBox","0 0 "+Yu+" "+m);let g=l.select(`[id="${e}"]`),y=L3().domain([I4(f,function(A){return A.startTime}),M4(f,function(A){return A.endTime})]).rangeRound([0,Yu-i.leftPadding-i.rightPadding]);function v(A,L){let M=A.startTime,N=L.startTime,k=0;return M>N?k=1:MG.order))].map(G=>A.find(z=>z.order===G));g.append("g").selectAll("rect").data(D).enter().append("rect").attr("x",0).attr("y",function(G,z){return z=G.order,z*L+M-2}).attr("width",function(){return C-i.rightPadding/2}).attr("height",L).attr("class",function(G){for(let[z,Y]of d.entries())if(G.type===Y)return"section section"+z%i.numberSectionStyles;return"section section0"});let P=g.append("g").selectAll("rect").data(A).enter(),F=n.db.getLinks();if(P.append("rect").attr("id",function(G){return G.id}).attr("rx",3).attr("ry",3).attr("x",function(G){return G.milestone?y(G.startTime)+N+.5*(y(G.endTime)-y(G.startTime))-.5*k:y(G.startTime)+N}).attr("y",function(G,z){return z=G.order,z*L+M}).attr("width",function(G){return G.milestone?k:y(G.renderEndTime||G.endTime)-y(G.startTime)}).attr("height",k).attr("transform-origin",function(G,z){return z=G.order,(y(G.startTime)+N+.5*(y(G.endTime)-y(G.startTime))).toString()+"px "+(z*L+M+.5*k).toString()+"px"}).attr("class",function(G){let z="task",Y="";G.classes.length>0&&(Y=G.classes.join(" "));let Q=0;for(let[ie,j]of d.entries())G.type===j&&(Q=ie%i.numberSectionStyles);let X="";return G.active?G.crit?X+=" activeCrit":X=" active":G.done?G.crit?X=" doneCrit":X=" done":G.crit&&(X+=" crit"),X.length===0&&(X=" task"),G.milestone&&(X=" milestone "+X),X+=Q,X+=" "+Y,z+X}),P.append("text").attr("id",function(G){return G.id+"-text"}).text(function(G){return G.task}).attr("font-size",i.fontSize).attr("x",function(G){let z=y(G.startTime),Y=y(G.renderEndTime||G.endTime);G.milestone&&(z+=.5*(y(G.endTime)-y(G.startTime))-.5*k),G.milestone&&(Y=z+k);let Q=this.getBBox().width;return Q>Y-z?Y+Q+1.5*i.leftPadding>C?z+N-5:Y+N+5:(Y-z)/2+z+N}).attr("y",function(G,z){return z=G.order,z*L+i.barHeight/2+(i.fontSize/2-2)+M}).attr("text-height",k).attr("class",function(G){let z=y(G.startTime),Y=y(G.endTime);G.milestone&&(Y=z+k);let Q=this.getBBox().width,X="";G.classes.length>0&&(X=G.classes.join(" "));let ie=0;for(let[J,Z]of d.entries())G.type===Z&&(ie=J%i.numberSectionStyles);let j="";return G.active&&(G.crit?j="activeCritText"+ie:j="activeText"+ie),G.done?G.crit?j=j+" doneCritText"+ie:j=j+" doneText"+ie:G.crit&&(j=j+" critText"+ie),G.milestone&&(j+=" milestoneText"),Q>Y-z?Y+Q+1.5*i.leftPadding>C?X+" taskTextOutsideLeft taskTextOutside"+ie+" "+j:X+" taskTextOutsideRight taskTextOutside"+ie+" "+j+" width-"+Q:X+" taskText taskText"+ie+" "+j+" width-"+Q}),de().securityLevel==="sandbox"){let G;G=Ge("#i"+e);let z=G.nodes()[0].contentDocument;P.filter(function(Y){return F.has(Y.id)}).each(function(Y){var Q=z.querySelector("#"+Y.id),X=z.querySelector("#"+Y.id+"-text");let ie=Q.parentNode;var j=z.createElement("a");j.setAttribute("xlink:href",F.get(Y.id)),j.setAttribute("target","_top"),ie.appendChild(j),j.appendChild(Q),j.appendChild(X)})}}o(b,"drawRects");function w(A,L,M,N,k,I,C,O){if(C.length===0&&O.length===0)return;let D,P;for(let{startTime:Q,endTime:X}of I)(D===void 0||QP)&&(P=X);if(!D||!P)return;if((0,oE.default)(P).diff((0,oE.default)(D),"year")>5){V.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let F=n.db.getDateFormat(),B=[],G=null,z=(0,oE.default)(D);for(;z.valueOf()<=P;)n.db.isInvalidDate(z,F,C,O)?G?G.end=z:G={start:z,end:z}:G&&(B.push(G),G=null),z=z.add(1,"d");g.append("g").selectAll("rect").data(B).enter().append("rect").attr("id",function(Q){return"exclude-"+Q.start.format("YYYY-MM-DD")}).attr("x",function(Q){return y(Q.start)+M}).attr("y",i.gridLineStartPadding).attr("width",function(Q){let X=Q.end.add(1,"day");return y(X)-y(Q.start)}).attr("height",k-L-i.gridLineStartPadding).attr("transform-origin",function(Q,X){return(y(Q.start)+M+.5*(y(Q.end)-y(Q.start))).toString()+"px "+(X*A+.5*k).toString()+"px"}).attr("class","exclude-range")}o(w,"drawExcludeDays");function S(A,L,M,N){let k=vS(y).tickSize(-N+L+i.gridLineStartPadding).tickFormat(md(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d")),C=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(C!==null){let O=C[1],D=C[2],P=n.db.getWeekday()||i.weekday;switch(D){case"millisecond":k.ticks(oc.every(O));break;case"second":k.ticks(Ks.every(O));break;case"minute":k.ticks(gu.every(O));break;case"hour":k.ticks(yu.every(O));break;case"day":k.ticks(Do.every(O));break;case"week":k.ticks(hce[P].every(O));break;case"month":k.ticks(vu.every(O));break}}if(g.append("g").attr("class","grid").attr("transform","translate("+A+", "+(N-50)+")").call(k).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let O=yS(y).tickSize(-N+L+i.gridLineStartPadding).tickFormat(md(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));if(C!==null){let D=C[1],P=C[2],F=n.db.getWeekday()||i.weekday;switch(P){case"millisecond":O.ticks(oc.every(D));break;case"second":O.ticks(Ks.every(D));break;case"minute":O.ticks(gu.every(D));break;case"hour":O.ticks(yu.every(D));break;case"day":O.ticks(Do.every(D));break;case"week":O.ticks(hce[F].every(D));break;case"month":O.ticks(vu.every(D));break}}g.append("g").attr("class","grid").attr("transform","translate("+A+", "+L+")").call(O).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(S,"makeGrid");function T(A,L){let M=0,N=Object.keys(p).map(k=>[k,p[k]]);g.append("g").selectAll("text").data(N).enter().append(function(k){let I=k[0].split(We.lineBreakRegex),C=-(I.length-1)/2,O=u.createElementNS("http://www.w3.org/2000/svg","text");O.setAttribute("dy",C+"em");for(let[D,P]of I.entries()){let F=u.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),D>0&&F.setAttribute("dy","1em"),F.textContent=P,O.appendChild(F)}return O}).attr("x",10).attr("y",function(k,I){if(I>0)for(let C=0;C{"use strict";xFe=o(t=>` .mermaid-main-font { font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); } @@ -1027,8 +1027,8 @@ Expecting `+q.join(", ")+", got '"+(this.terminals_[j]||j)+"'":se="Parse error o fill: ${t.titleColor||t.textColor}; font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); } -`,"getStyles"),Foe=YOe});var $oe={};ur($oe,{diagram:()=>XOe});var XOe,Goe=_(()=>{"use strict";poe();Noe();Boe();zoe();XOe={parser:doe,db:Moe,renderer:Poe,styles:Foe}});var qoe,Woe=_(()=>{"use strict";V2();it();qoe={parse:s(async t=>{let e=await Bu("info",t);V.debug(e)},"parse")}});var X2,JI=_(()=>{X2="11.0.2"});var JOe,ePe,Hoe,Yoe=_(()=>{"use strict";JI();JOe={version:X2},ePe=s(()=>JOe.version,"getVersion"),Hoe={getVersion:ePe}});var Bo,p0=_(()=>{"use strict";Xt();gt();Bo=s(t=>{let{securityLevel:e}=le(),r=Me("body");if(e==="sandbox"){let a=Me(`#i${t}`).node()?.contentDocument??document;r=Me(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var tPe,Xoe,joe=_(()=>{"use strict";it();p0();Un();tPe=s((t,e,r)=>{V.debug(`rendering info diagram -`+t);let n=Bo(e);xr(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),Xoe={draw:tPe}});var Koe={};ur(Koe,{diagram:()=>rPe});var rPe,Qoe=_(()=>{"use strict";Woe();Yoe();joe();rPe={parser:qoe,db:Hoe,renderer:Xoe}});var ele,eN,Rw,tN,aPe,sPe,oPe,lPe,cPe,uPe,hPe,Mw,rN=_(()=>{"use strict";it();Ci();Pl();ele=dr.pie,eN={sections:new Map,showData:!1,config:ele},Rw=eN.sections,tN=eN.showData,aPe=structuredClone(ele),sPe=s(()=>structuredClone(aPe),"getConfig"),oPe=s(()=>{Rw=new Map,tN=eN.showData,br()},"clear"),lPe=s(({label:t,value:e})=>{Rw.has(t)||(Rw.set(t,e),V.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),cPe=s(()=>Rw,"getSections"),uPe=s(t=>{tN=t},"setShowData"),hPe=s(()=>tN,"getShowData"),Mw={getConfig:sPe,clear:oPe,setDiagramTitle:an,getDiagramTitle:Qr,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addSection:lPe,getSections:cPe,setShowData:uPe,getShowData:hPe}});var fPe,tle,rle=_(()=>{"use strict";V2();it();kw();rN();fPe=s((t,e)=>{dg(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),tle={parse:s(async t=>{let e=await Bu("pie",t);V.debug(e),fPe(e,Mw)},"parse")}});var dPe,nle,ile=_(()=>{"use strict";dPe=s(t=>` +`,"getStyles"),pce=xFe});var gce={};hr(gce,{diagram:()=>bFe});var bFe,yce=R(()=>{"use strict";Hle();uce();dce();mce();bFe={parser:Ule,db:lce,renderer:fce,styles:pce}});var bce,wce=R(()=>{"use strict";Lg();ut();bce={parse:o(async t=>{let e=await Fl("info",t);V.debug(e)},"parse")}});var fx,HI=R(()=>{fx="11.1.1"});var CFe,SFe,Tce,kce=R(()=>{"use strict";HI();CFe={version:fx},SFe=o(()=>CFe.version,"getVersion"),Tce={getVersion:SFe}});var Ps,pf=R(()=>{"use strict";Zt();_t();Ps=o(t=>{let{securityLevel:e}=de(),r=Ge("body");if(e==="sandbox"){let a=Ge(`#i${t}`).node()?.contentDocument??document;r=Ge(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var AFe,Ece,Cce=R(()=>{"use strict";ut();pf();Yn();AFe=o((t,e,r)=>{V.debug(`rendering info diagram +`+t);let n=Ps(e);Sr(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),Ece={draw:AFe}});var Sce={};hr(Sce,{diagram:()=>_Fe});var _Fe,Ace=R(()=>{"use strict";wce();kce();Cce();_Fe={parser:bce,db:Tce,renderer:Ece}});var Dce,YI,lE,WI,RFe,NFe,MFe,IFe,OFe,PFe,BFe,cE,qI=R(()=>{"use strict";ut();bi();sl();Dce=mr.pie,YI={sections:new Map,showData:!1,config:Dce},lE=YI.sections,WI=YI.showData,RFe=structuredClone(Dce),NFe=o(()=>structuredClone(RFe),"getConfig"),MFe=o(()=>{lE=new Map,WI=YI.showData,vr()},"clear"),IFe=o(({label:t,value:e})=>{lE.has(t)||(lE.set(t,e),V.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),OFe=o(()=>lE,"getSections"),PFe=o(t=>{WI=t},"setShowData"),BFe=o(()=>WI,"getShowData"),cE={getConfig:NFe,clear:MFe,setDiagramTitle:nn,getDiagramTitle:Xr,setAccTitle:kr,getAccTitle:Ar,setAccDescription:_r,getAccDescription:Lr,addSection:IFe,getSections:OFe,setShowData:PFe,getShowData:BFe}});var FFe,Rce,Nce=R(()=>{"use strict";Lg();ut();sx();qI();FFe=o((t,e)=>{cf(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),Rce={parse:o(async t=>{let e=await Fl("pie",t);V.debug(e),FFe(e,cE)},"parse")}});var zFe,Mce,Ice=R(()=>{"use strict";zFe=o(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; @@ -1056,25 +1056,25 @@ Expecting `+q.join(", ")+", got '"+(this.terminals_[j]||j)+"'":se="Parse error o font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } -`,"getStyles"),nle=dPe});var pPe,mPe,ale,sle=_(()=>{"use strict";Xt();gt();it();p0();Un();pr();pPe=s(t=>{let e=[...t.entries()].map(n=>({label:n[0],value:n[1]})).sort((n,i)=>i.value-n.value);return i3().value(n=>n.value)(e)},"createPieArcs"),mPe=s((t,e,r,n)=>{V.debug(`rendering pie chart -`+t);let i=n.db,a=le(),o=ms(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Bo(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=nc(g.pieOuterStrokeWidth);y??=2;let v=o.textPosition,x=Math.min(d,f)/2-l,b=sl().innerRadius(0).outerRadius(x),k=sl().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let A=i.getSections(),w=pPe(A),T=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],C=au(T);m.selectAll("mySlices").data(w).enter().append("path").attr("d",b).attr("fill",L=>C(L.data.label)).attr("class","pieCircle");let E=0;A.forEach(L=>{E+=L}),m.selectAll("mySlices").data(w).enter().append("text").text(L=>(L.data.value/E*100).toFixed(0)+"%").attr("transform",L=>"translate("+k.centroid(L)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let S=m.selectAll(".legend").data(C.domain()).enter().append("g").attr("class","legend").attr("transform",(L,P)=>{let M=u+h,F=M*C.domain().length/2,I=12*u,O=P*M-F;return"translate("+I+","+O+")"});S.append("rect").attr("width",u).attr("height",u).style("fill",C).style("stroke",C),S.data(w).append("text").attr("x",u+h).attr("y",u-h).text(L=>{let{label:P,value:M}=L.data;return i.getShowData()?`${P} [${M}]`:P});let R=Math.max(...S.selectAll("text").nodes().map(L=>L?.getBoundingClientRect().width??0)),D=d+l+u+h+R;p.attr("viewBox",`0 0 ${D} ${f}`),xr(p,f,D,o.useMaxWidth)},"draw"),ale={draw:mPe}});var ole={};ur(ole,{diagram:()=>gPe});var gPe,lle=_(()=>{"use strict";rle();rN();ile();sle();gPe={parser:tle,db:Mw,renderer:ale,styles:nle}});var nN,hle,fle=_(()=>{"use strict";nN=function(){var t=s(function(Ie,Ne,Be,ze){for(Be=Be||{},ze=Ie.length;ze--;Be[Ie[ze]]=Ne);return Be},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],o=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],k=[1,19],A=[1,20],w=[1,21],T=[1,22],C=[1,24],E=[1,25],S=[1,26],R=[1,27],D=[1,28],L=[1,29],P=[1,32],M=[1,33],F=[1,34],I=[1,39],O=[1,40],z=[1,42],N=[1,44],U=[1,62],$=[1,61],W=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],ee=[1,65],te=[1,66],ce=[1,67],Z=[1,68],fe=[1,69],ne=[1,70],H=[1,71],Q=[1,72],K=[1,73],re=[1,74],ie=[1,75],ye=[1,76],j=[4,5,6,7,8,9,10,11,12,13,14,15,18],De=[1,90],oe=[1,91],Re=[1,92],Pe=[1,99],Se=[1,93],Ue=[1,96],Oe=[1,94],_e=[1,95],he=[1,97],q=[1,98],se=[1,102],ue=[10,55,56,57],X=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],ae={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:s(function(Ne,Be,ze,qe,Fe,we,Je){var We=we.length-1;switch(Fe){case 23:this.$=we[We];break;case 24:this.$=we[We-1]+""+we[We];break;case 26:this.$=we[We-1]+we[We];break;case 27:this.$=[we[We].trim()];break;case 28:we[We-2].push(we[We].trim()),this.$=we[We-2];break;case 29:this.$=we[We-4],qe.addClass(we[We-2],we[We]);break;case 37:this.$=[];break;case 42:this.$=we[We].trim(),qe.setDiagramTitle(this.$);break;case 43:this.$=we[We].trim(),qe.setAccTitle(this.$);break;case 44:case 45:this.$=we[We].trim(),qe.setAccDescription(this.$);break;case 46:qe.addSection(we[We].substr(8)),this.$=we[We].substr(8);break;case 47:qe.addPoint(we[We-3],"",we[We-1],we[We],[]);break;case 48:qe.addPoint(we[We-4],we[We-3],we[We-1],we[We],[]);break;case 49:qe.addPoint(we[We-4],"",we[We-2],we[We-1],we[We]);break;case 50:qe.addPoint(we[We-5],we[We-4],we[We-2],we[We-1],we[We]);break;case 51:qe.setXAxisLeftText(we[We-2]),qe.setXAxisRightText(we[We]);break;case 52:we[We-1].text+=" \u27F6 ",qe.setXAxisLeftText(we[We-1]);break;case 53:qe.setXAxisLeftText(we[We]);break;case 54:qe.setYAxisBottomText(we[We-2]),qe.setYAxisTopText(we[We]);break;case 55:we[We-1].text+=" \u27F6 ",qe.setYAxisBottomText(we[We-1]);break;case 56:qe.setYAxisBottomText(we[We]);break;case 57:qe.setQuadrant1Text(we[We]);break;case 58:qe.setQuadrant2Text(we[We]);break;case 59:qe.setQuadrant3Text(we[We]);break;case 60:qe.setQuadrant4Text(we[We]);break;case 64:this.$={text:we[We],type:"text"};break;case 65:this.$={text:we[We-1].text+""+we[We],type:we[We-1].type};break;case 66:this.$={text:we[We],type:"text"};break;case 67:this.$={text:we[We],type:"markdown"};break;case 68:this.$=we[We];break;case 69:this.$=we[We-1]+""+we[We];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(o,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:k,39:A,41:w,42:T,48:C,50:E,51:S,52:R,53:D,54:L,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),t(o,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:k,39:A,41:w,42:T,48:C,50:E,51:S,52:R,53:D,54:L,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:P,61:M,63:F,64:I,65:O,66:z,67:N},{4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:F,64:I,65:O,66:z,67:N},t(W,[2,64]),t(W,[2,66]),t(W,[2,67]),t(W,[2,70]),t(W,[2,71]),t(W,[2,72]),t(W,[2,73]),t(W,[2,74]),t(W,[2,75]),t(W,[2,76]),t(W,[2,77]),t(W,[2,78]),t(W,[2,79]),t(W,[2,80]),t(o,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:ee,5:te,6:ce,7:Z,8:fe,9:ne,10:H,11:Q,12:K,13:re,14:ie,15:ye,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:F,64:I,65:O,66:z,67:N}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:F,64:I,65:O,66:z,67:N}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),{45:[1,79]},{44:[1,80]},t(W,[2,65]),t(W,[2,81]),t(W,[2,82]),t(W,[2,83]),{3:82,4:ee,5:te,6:ce,7:Z,8:fe,9:ne,10:H,11:Q,12:K,13:re,14:ie,15:ye,18:[1,81]},t(j,[2,23]),t(j,[2,1]),t(j,[2,2]),t(j,[2,3]),t(j,[2,4]),t(j,[2,5]),t(j,[2,6]),t(j,[2,7]),t(j,[2,8]),t(j,[2,9]),t(j,[2,10]),t(j,[2,11]),t(j,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:P,61:M,63:F,64:I,65:O,66:z,67:N}),{46:[1,85]},{45:[1,86]},{4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,16:89,17:Oe,18:_e,19:he,20:q,22:88,23:87},t(j,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:U,10:p,12:m,13:g,14:y,18:$,63:F,64:I,65:O,66:z,67:N}),t(u,[2,47],{22:88,16:89,23:100,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q}),{46:[1,101]},t(u,[2,29],{10:se}),t(ue,[2,27],{16:103,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q}),t(X,[2,25]),t(X,[2,13]),t(X,[2,14]),t(X,[2,15]),t(X,[2,16]),t(X,[2,17]),t(X,[2,18]),t(X,[2,19]),t(X,[2,20]),t(X,[2,21]),t(X,[2,22]),t(u,[2,49],{10:se}),t(u,[2,48],{22:88,16:89,23:104,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q}),{4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,16:89,17:Oe,18:_e,19:he,20:q,22:105},t(X,[2,26]),t(u,[2,50],{10:se}),t(ue,[2,28],{16:103,4:De,5:oe,6:Re,8:Pe,11:Se,13:Ue,17:Oe,18:_e,19:he,20:q})],defaultActions:{8:[2,30],9:[2,31]},parseError:s(function(Ne,Be){if(Be.recoverable)this.trace(Ne);else{var ze=new Error(Ne);throw ze.hash=Be,ze}},"parseError"),parse:s(function(Ne){var Be=this,ze=[0],qe=[],Fe=[null],we=[],Je=this.table,We="",or=0,Cr=0,Ut=0,ar=2,ut=1,Rt=we.slice.call(arguments,1),Qe=Object.create(this.lexer),Dt={yy:{}};for(var qt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,qt)&&(Dt.yy[qt]=this.yy[qt]);Qe.setInput(Ne,Dt.yy),Dt.yy.lexer=Qe,Dt.yy.parser=this,typeof Qe.yylloc>"u"&&(Qe.yylloc={});var yt=Qe.yylloc;we.push(yt);var Et=Qe.options&&Qe.options.ranges;typeof Dt.yy.parseError=="function"?this.parseError=Dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(En){ze.length=ze.length-2*En,Fe.length=Fe.length-En,we.length=we.length-En}s(pt,"popStack");function Wt(){var En;return En=qe.pop()||Qe.lex()||ut,typeof En!="number"&&(En instanceof Array&&(qe=En,En=qe.pop()),En=Be.symbols_[En]||En),En}s(Wt,"lex");for(var ot,fr,vt,Bt,Sr,zi,rr={},Vn,Tn,Ki,ci;;){if(vt=ze[ze.length-1],this.defaultActions[vt]?Bt=this.defaultActions[vt]:((ot===null||typeof ot>"u")&&(ot=Wt()),Bt=Je[vt]&&Je[vt][ot]),typeof Bt>"u"||!Bt.length||!Bt[0]){var Pa="";ci=[];for(Vn in Je[vt])this.terminals_[Vn]&&Vn>ar&&ci.push("'"+this.terminals_[Vn]+"'");Qe.showPosition?Pa="Parse error on line "+(or+1)+`: -`+Qe.showPosition()+` -Expecting `+ci.join(", ")+", got '"+(this.terminals_[ot]||ot)+"'":Pa="Parse error on line "+(or+1)+": Unexpected "+(ot==ut?"end of input":"'"+(this.terminals_[ot]||ot)+"'"),this.parseError(Pa,{text:Qe.match,token:this.terminals_[ot]||ot,line:Qe.yylineno,loc:yt,expected:ci})}if(Bt[0]instanceof Array&&Bt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+vt+", token: "+ot);switch(Bt[0]){case 1:ze.push(ot),Fe.push(Qe.yytext),we.push(Qe.yylloc),ze.push(Bt[1]),ot=null,fr?(ot=fr,fr=null):(Cr=Qe.yyleng,We=Qe.yytext,or=Qe.yylineno,yt=Qe.yylloc,Ut>0&&Ut--);break;case 2:if(Tn=this.productions_[Bt[1]][1],rr.$=Fe[Fe.length-Tn],rr._$={first_line:we[we.length-(Tn||1)].first_line,last_line:we[we.length-1].last_line,first_column:we[we.length-(Tn||1)].first_column,last_column:we[we.length-1].last_column},Et&&(rr._$.range=[we[we.length-(Tn||1)].range[0],we[we.length-1].range[1]]),zi=this.performAction.apply(rr,[We,Cr,or,Dt.yy,Bt[1],Fe,we].concat(Rt)),typeof zi<"u")return zi;Tn&&(ze=ze.slice(0,-1*Tn*2),Fe=Fe.slice(0,-1*Tn),we=we.slice(0,-1*Tn)),ze.push(this.productions_[Bt[1]][0]),Fe.push(rr.$),we.push(rr._$),Ki=Je[ze[ze.length-2]][ze[ze.length-1]],ze.push(Ki);break;case 3:return!0}}return!0},"parse")},pe=function(){var Ie={EOF:1,parseError:s(function(Be,ze){if(this.yy.parser)this.yy.parser.parseError(Be,ze);else throw new Error(Be)},"parseError"),setInput:s(function(Ne,Be){return this.yy=Be||this.yy||{},this._input=Ne,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Ne=this._input[0];this.yytext+=Ne,this.yyleng++,this.offset++,this.match+=Ne,this.matched+=Ne;var Be=Ne.match(/(?:\r\n?|\n).*/g);return Be?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ne},"input"),unput:s(function(Ne){var Be=Ne.length,ze=Ne.split(/(?:\r\n?|\n)/g);this._input=Ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Be),this.offset-=Be;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ze.length-1&&(this.yylineno-=ze.length-1);var Fe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ze?(ze.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-ze.length].length-ze[0].length:this.yylloc.first_column-Be},this.options.ranges&&(this.yylloc.range=[Fe[0],Fe[0]+this.yyleng-Be]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Ne){this.unput(this.match.slice(Ne))},"less"),pastInput:s(function(){var Ne=this.matched.substr(0,this.matched.length-this.match.length);return(Ne.length>20?"...":"")+Ne.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Ne=this.match;return Ne.length<20&&(Ne+=this._input.substr(0,20-Ne.length)),(Ne.substr(0,20)+(Ne.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Ne=this.pastInput(),Be=new Array(Ne.length+1).join("-");return Ne+this.upcomingInput()+` -`+Be+"^"},"showPosition"),test_match:s(function(Ne,Be){var ze,qe,Fe;if(this.options.backtrack_lexer&&(Fe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Fe.yylloc.range=this.yylloc.range.slice(0))),qe=Ne[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ne[0].length},this.yytext+=Ne[0],this.match+=Ne[0],this.matches=Ne,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ne[0].length),this.matched+=Ne[0],ze=this.performAction.call(this,this.yy,this,Be,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ze)return ze;if(this._backtrack){for(var we in Fe)this[we]=Fe[we];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ne,Be,ze,qe;this._more||(this.yytext="",this.match="");for(var Fe=this._currentRules(),we=0;weBe[0].length)){if(Be=ze,qe=we,this.options.backtrack_lexer){if(Ne=this.test_match(ze,Fe[we]),Ne!==!1)return Ne;if(this._backtrack){Be=!1;continue}else return!1}else if(!this.options.flex)break}return Be?(Ne=this.test_match(Be,Fe[qe]),Ne!==!1?Ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var Be=this.next();return Be||this.lex()},"lex"),begin:s(function(Be){this.conditionStack.push(Be)},"begin"),popState:s(function(){var Be=this.conditionStack.length-1;return Be>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(Be){return Be=this.conditionStack.length-1-Math.abs(Be||0),Be>=0?this.conditionStack[Be]:"INITIAL"},"topState"),pushState:s(function(Be){this.begin(Be)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(Be,ze,qe,Fe){var we=Fe;switch(qe){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return Ie}();ae.lexer=pe;function de(){this.yy={}}return s(de,"Parser"),de.prototype=ae,ae.Parser=de,new de}();nN.parser=nN;hle=nN});var Ja,Iw,dle=_(()=>{"use strict";Xt();Pl();it();vb();Ja=j0(),Iw=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{s(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:dr.quadrantChart?.chartWidth||500,chartWidth:dr.quadrantChart?.chartHeight||500,titlePadding:dr.quadrantChart?.titlePadding||10,titleFontSize:dr.quadrantChart?.titleFontSize||20,quadrantPadding:dr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:dr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:dr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:dr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:dr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:dr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:dr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:dr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:dr.quadrantChart?.pointLabelFontSize||12,pointRadius:dr.quadrantChart?.pointRadius||5,xAxisPosition:dr.quadrantChart?.xAxisPosition||"top",yAxisPosition:dr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:dr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:dr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:Ja.quadrant1Fill,quadrant2Fill:Ja.quadrant2Fill,quadrant3Fill:Ja.quadrant3Fill,quadrant4Fill:Ja.quadrant4Fill,quadrant1TextFill:Ja.quadrant1TextFill,quadrant2TextFill:Ja.quadrant2TextFill,quadrant3TextFill:Ja.quadrant3TextFill,quadrant4TextFill:Ja.quadrant4TextFill,quadrantPointFill:Ja.quadrantPointFill,quadrantPointTextFill:Ja.quadrantPointTextFill,quadrantXAxisTextFill:Ja.quadrantXAxisTextFill,quadrantYAxisTextFill:Ja.quadrantYAxisTextFill,quadrantTitleFill:Ja.quadrantTitleFill,quadrantInternalBorderStrokeFill:Ja.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Ja.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,V.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){V.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){V.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,o={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+o.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-o.top-o.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:o,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:o}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+o.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+o.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:o}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:o,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:o,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:o+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:o+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:o}=r,l=rl().domain([0,1]).range([i,o+i]),u=rl().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:o,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o-r,y1:u,x2:o+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o+h,y1:u+r,x2:o+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o-r,y1:u+a,x2:o+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:o,y1:u+r,x2:o,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:o+l,y1:u+r,x2:o+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:o+r,y1:u+i,x2:o+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function iN(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function ple(t){return!/^\d+$/.test(t)}function mle(t){return!/^\d+px$/.test(t)}var m0,gle=_(()=>{"use strict";m0=class extends Error{static{s(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};s(iN,"validateHexCode");s(ple,"validateNumber");s(mle,"validateSizeInPixels")});function $u(t){return $r(t.trim(),xPe)}function bPe(t){fa.setData({quadrant1Text:$u(t.text)})}function kPe(t){fa.setData({quadrant2Text:$u(t.text)})}function wPe(t){fa.setData({quadrant3Text:$u(t.text)})}function TPe(t){fa.setData({quadrant4Text:$u(t.text)})}function EPe(t){fa.setData({xAxisLeftText:$u(t.text)})}function CPe(t){fa.setData({xAxisRightText:$u(t.text)})}function SPe(t){fa.setData({yAxisTopText:$u(t.text)})}function _Pe(t){fa.setData({yAxisBottomText:$u(t.text)})}function aN(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(ple(i))throw new m0(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(iN(i))throw new m0(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(iN(i))throw new m0(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(mle(i))throw new m0(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function APe(t,e,r,n,i){let a=aN(i);fa.addPoints([{x:r,y:n,text:$u(t.text),className:e,...a}])}function LPe(t,e){fa.addClass(t,aN(e))}function DPe(t){fa.setConfig({chartWidth:t})}function RPe(t){fa.setConfig({chartHeight:t})}function MPe(){let t=le(),{themeVariables:e,quadrantChart:r}=t;return r&&fa.setConfig(r),fa.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),fa.setData({titleText:Qr()}),fa.build()}var xPe,fa,IPe,yle,vle=_(()=>{"use strict";gt();Qt();Ci();dle();gle();xPe=le();s($u,"textSanitizer");fa=new Iw;s(bPe,"setQuadrant1Text");s(kPe,"setQuadrant2Text");s(wPe,"setQuadrant3Text");s(TPe,"setQuadrant4Text");s(EPe,"setXAxisLeftText");s(CPe,"setXAxisRightText");s(SPe,"setYAxisTopText");s(_Pe,"setYAxisBottomText");s(aN,"parseStyles");s(APe,"addPoint");s(LPe,"addClass");s(DPe,"setWidth");s(RPe,"setHeight");s(MPe,"getQuadrantData");IPe=s(function(){fa.clear(),br()},"clear"),yle={setWidth:DPe,setHeight:RPe,setQuadrant1Text:bPe,setQuadrant2Text:kPe,setQuadrant3Text:wPe,setQuadrant4Text:TPe,setXAxisLeftText:EPe,setXAxisRightText:CPe,setYAxisTopText:SPe,setYAxisBottomText:_Pe,parseStyles:aN,addPoint:APe,addClass:LPe,getQuadrantData:MPe,clear:IPe,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,getAccDescription:Ur,setAccDescription:Vr}});var NPe,xle,ble=_(()=>{"use strict";Xt();gt();it();Un();NPe=s((t,e,r,n)=>{function i(E){return E==="top"?"hanging":"middle"}s(i,"getDominantBaseLine");function a(E){return E==="left"?"start":"middle"}s(a,"getTextAnchor");function o(E){return`translate(${E.x}, ${E.y}) rotate(${E.rotation||0})`}s(o,"getTransformation");let l=le();V.debug(`Rendering quadrant chart -`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=Me("#i"+e));let d=(u==="sandbox"?Me(h.nodes()[0].contentDocument.body):Me("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;xr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),k=p.append("g").attr("class","labels"),A=p.append("g").attr("class","title");y.title&&A.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",o(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",E=>E.x1).attr("y1",E=>E.y1).attr("x2",E=>E.x2).attr("y2",E=>E.y2).style("stroke",E=>E.strokeFill).style("stroke-width",E=>E.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",E=>E.x).attr("y",E=>E.y).attr("width",E=>E.width).attr("height",E=>E.height).attr("fill",E=>E.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",E=>E.text.fill).attr("font-size",E=>E.text.fontSize).attr("dominant-baseline",E=>i(E.text.horizontalPos)).attr("text-anchor",E=>a(E.text.verticalPos)).attr("transform",E=>o(E.text)).text(E=>E.text.text),k.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(E=>E.text).attr("fill",E=>E.fill).attr("font-size",E=>E.fontSize).attr("dominant-baseline",E=>i(E.horizontalPos)).attr("text-anchor",E=>a(E.verticalPos)).attr("transform",E=>o(E));let C=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");C.append("circle").attr("cx",E=>E.x).attr("cy",E=>E.y).attr("r",E=>E.radius).attr("fill",E=>E.fill).attr("stroke",E=>E.strokeColor).attr("stroke-width",E=>E.strokeWidth),C.append("text").attr("x",0).attr("y",0).text(E=>E.text.text).attr("fill",E=>E.text.fill).attr("font-size",E=>E.text.fontSize).attr("dominant-baseline",E=>i(E.text.horizontalPos)).attr("text-anchor",E=>a(E.text.verticalPos)).attr("transform",E=>o(E.text))},"draw"),xle={draw:NPe}});var kle={};ur(kle,{diagram:()=>OPe});var OPe,wle=_(()=>{"use strict";fle();vle();ble();OPe={parser:hle,db:yle,renderer:xle,styles:s(()=>"","styles")}});var sN,Cle,Sle=_(()=>{"use strict";sN=function(){var t=s(function(F,I,O,z){for(O=O||{},z=F.length;z--;O[F[z]]=I);return O},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],o=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],k=[1,37],A=[1,43],w=[1,42],T=[1,47],C=[1,50],E=[1,10,12,14,16,18,19,21,23,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],R=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],D=[1,64],L={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:s(function(I,O,z,N,U,$,W){var ee=$.length-1;switch(U){case 5:N.setOrientation($[ee]);break;case 9:N.setDiagramTitle($[ee].text.trim());break;case 12:N.setLineData({text:"",type:"text"},$[ee]);break;case 13:N.setLineData($[ee-1],$[ee]);break;case 14:N.setBarData({text:"",type:"text"},$[ee]);break;case 15:N.setBarData($[ee-1],$[ee]);break;case 16:this.$=$[ee].trim(),N.setAccTitle(this.$);break;case 17:case 18:this.$=$[ee].trim(),N.setAccDescription(this.$);break;case 19:this.$=$[ee-1];break;case 20:this.$=[Number($[ee-2]),...$[ee]];break;case 21:this.$=[Number($[ee])];break;case 22:N.setXAxisTitle($[ee]);break;case 23:N.setXAxisTitle($[ee-1]);break;case 24:N.setXAxisTitle({type:"text",text:""});break;case 25:N.setXAxisBand($[ee]);break;case 26:N.setXAxisRangeData(Number($[ee-2]),Number($[ee]));break;case 27:this.$=$[ee-1];break;case 28:this.$=[$[ee-2],...$[ee]];break;case 29:this.$=[$[ee]];break;case 30:N.setYAxisTitle($[ee]);break;case 31:N.setYAxisTitle($[ee-1]);break;case 32:N.setYAxisTitle({type:"text",text:""});break;case 33:N.setYAxisRangeData(Number($[ee-2]),Number($[ee]));break;case 37:this.$={text:$[ee],type:"text"};break;case 38:this.$={text:$[ee],type:"text"};break;case 39:this.$={text:$[ee],type:"markdown"};break;case 40:this.$=$[ee];break;case 41:this.$=$[ee-1]+""+$[ee];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:o}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:o}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:o}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:o}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:o}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:39,13:38,24:A,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:45,15:44,27:T,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:49,17:48,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{11:52,17:51,24:C,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},{20:[1,53]},{22:[1,54]},t(E,[2,18]),{1:[2,2]},t(E,[2,8]),t(E,[2,9]),t(S,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k}),t(S,[2,38]),t(S,[2,39]),t(R,[2,40]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,51]),t(E,[2,10]),t(E,[2,22],{30:41,29:56,24:A,27:w}),t(E,[2,24]),t(E,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},t(E,[2,11]),t(E,[2,30],{33:60,27:T}),t(E,[2,32]),{31:[1,61]},t(E,[2,12]),{17:62,24:C},{25:63,27:D},t(E,[2,14]),{17:65,24:C},t(E,[2,16]),t(E,[2,17]),t(R,[2,41]),t(E,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(E,[2,31]),{27:[1,69]},t(E,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(E,[2,15]),t(E,[2,26]),t(E,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:k},t(E,[2,33]),t(E,[2,19]),{25:73,27:D},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:s(function(I,O){if(O.recoverable)this.trace(I);else{var z=new Error(I);throw z.hash=O,z}},"parseError"),parse:s(function(I){var O=this,z=[0],N=[],U=[null],$=[],W=this.table,ee="",te=0,ce=0,Z=0,fe=2,ne=1,H=$.slice.call(arguments,1),Q=Object.create(this.lexer),K={yy:{}};for(var re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,re)&&(K.yy[re]=this.yy[re]);Q.setInput(I,K.yy),K.yy.lexer=Q,K.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var ie=Q.yylloc;$.push(ie);var ye=Q.options&&Q.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(ae){z.length=z.length-2*ae,U.length=U.length-ae,$.length=$.length-ae}s(j,"popStack");function De(){var ae;return ae=N.pop()||Q.lex()||ne,typeof ae!="number"&&(ae instanceof Array&&(N=ae,ae=N.pop()),ae=O.symbols_[ae]||ae),ae}s(De,"lex");for(var oe,Re,Pe,Se,Ue,Oe,_e={},he,q,se,ue;;){if(Pe=z[z.length-1],this.defaultActions[Pe]?Se=this.defaultActions[Pe]:((oe===null||typeof oe>"u")&&(oe=De()),Se=W[Pe]&&W[Pe][oe]),typeof Se>"u"||!Se.length||!Se[0]){var X="";ue=[];for(he in W[Pe])this.terminals_[he]&&he>fe&&ue.push("'"+this.terminals_[he]+"'");Q.showPosition?X="Parse error on line "+(te+1)+`: -`+Q.showPosition()+` -Expecting `+ue.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":X="Parse error on line "+(te+1)+": Unexpected "+(oe==ne?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(X,{text:Q.match,token:this.terminals_[oe]||oe,line:Q.yylineno,loc:ie,expected:ue})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pe+", token: "+oe);switch(Se[0]){case 1:z.push(oe),U.push(Q.yytext),$.push(Q.yylloc),z.push(Se[1]),oe=null,Re?(oe=Re,Re=null):(ce=Q.yyleng,ee=Q.yytext,te=Q.yylineno,ie=Q.yylloc,Z>0&&Z--);break;case 2:if(q=this.productions_[Se[1]][1],_e.$=U[U.length-q],_e._$={first_line:$[$.length-(q||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(q||1)].first_column,last_column:$[$.length-1].last_column},ye&&(_e._$.range=[$[$.length-(q||1)].range[0],$[$.length-1].range[1]]),Oe=this.performAction.apply(_e,[ee,ce,te,K.yy,Se[1],U,$].concat(H)),typeof Oe<"u")return Oe;q&&(z=z.slice(0,-1*q*2),U=U.slice(0,-1*q),$=$.slice(0,-1*q)),z.push(this.productions_[Se[1]][0]),U.push(_e.$),$.push(_e._$),se=W[z[z.length-2]][z[z.length-1]],z.push(se);break;case 3:return!0}}return!0},"parse")},P=function(){var F={EOF:1,parseError:s(function(O,z){if(this.yy.parser)this.yy.parser.parseError(O,z);else throw new Error(O)},"parseError"),setInput:s(function(I,O){return this.yy=O||this.yy||{},this._input=I,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var O=I.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),I},"input"),unput:s(function(I){var O=I.length,z=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var N=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:z?(z.length===N.length?this.yylloc.first_column:0)+N[N.length-z.length].length-z[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(I){this.unput(this.match.slice(I))},"less"),pastInput:s(function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var I=this.match;return I.length<20&&(I+=this._input.substr(0,20-I.length)),(I.substr(0,20)+(I.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var I=this.pastInput(),O=new Array(I.length+1).join("-");return I+this.upcomingInput()+` -`+O+"^"},"showPosition"),test_match:s(function(I,O){var z,N,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),N=I[0].match(/(?:\r\n?|\n).*/g),N&&(this.yylineno+=N.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:N?N[N.length-1].length-N[N.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+I[0].length},this.yytext+=I[0],this.match+=I[0],this.matches=I,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(I[0].length),this.matched+=I[0],z=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var $ in U)this[$]=U[$];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var I,O,z,N;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),$=0;$O[0].length)){if(O=z,N=$,this.options.backtrack_lexer){if(I=this.test_match(z,U[$]),I!==!1)return I;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(I=this.test_match(O,U[N]),I!==!1?I:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var O=this.next();return O||this.lex()},"lex"),begin:s(function(O){this.conditionStack.push(O)},"begin"),popState:s(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:s(function(O){this.begin(O)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(O,z,N,U){var $=U;switch(N){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";break;case 17:return this.pushState("axis_data"),"Y_AXIS";break;case 18:return this.pushState("axis_band_data"),24;break;case 19:return 31;case 20:return this.pushState("data"),16;break;case 21:return this.pushState("data"),18;break;case 22:return this.pushState("data_inner"),24;break;case 23:return 27;case 24:return this.popState(),26;break;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return F}();L.lexer=P;function M(){this.yy={}}return s(M,"Parser"),M.prototype=L,L.Parser=M,new M}();sN.parser=sN;Cle=sN});function oN(t){return t.type==="bar"}function Nw(t){return t.type==="band"}function yg(t){return t.type==="linear"}var Ow=_(()=>{"use strict";s(oN,"isBarPlot");s(Nw,"isBandAxisData");s(yg,"isLinearAxisData")});var vg,lN=_(()=>{"use strict";ic();vg=class{constructor(e){this.parentGroup=e}static{s(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,o)=>Math.max(o.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let o=KY(i,1,a),l=o?o.width:a.length*r,u=o?o.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var xg,cN=_(()=>{"use strict";xg=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{s(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var Pw,_le=_(()=>{"use strict";Xt();it();cN();Pw=class extends xg{static{s(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=xp().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=xp().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),V.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var Bw,Ale=_(()=>{"use strict";Xt();cN();Bw=class extends xg{static{s(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=rl().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=rl().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function uN(t,e,r,n){let i=new vg(n);return Nw(t)?new Pw(e,r,t.categories,t.title,i):new Bw(e,r,[t.min,t.max],t.title,i)}var Lle=_(()=>{"use strict";Ow();lN();_le();Ale();s(uN,"getAxis")});function Dle(t,e,r,n){let i=new vg(n);return new hN(i,t,e,r)}var hN,Rle=_(()=>{"use strict";lN();hN=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{s(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};s(Dle,"getChartTitleComponent")});var Fw,Mle=_(()=>{"use strict";Xt();Fw=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{s(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=ra().y(n=>n[0]).x(n=>n[1])(e):r=ra().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var zw,Ile=_(()=>{"use strict";zw=class{constructor(e,r,n,i,a,o){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=o}static{s(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function Nle(t,e,r){return new fN(t,e,r)}var fN,Ole=_(()=>{"use strict";Mle();Ile();fN=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{s(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new Fw(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new zw(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};s(Nle,"getPlotComponent")});var $w,Ple=_(()=>{"use strict";Lle();Rle();Ole();Ow();$w=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:Dle(e,r,n,i),plot:Nle(e,r,n),xAxis:uN(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:uN(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{s(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:o}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+o}),this.componentStore.yAxis.setRange([i,i+o]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>oN(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,o=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:o,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(o+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:o,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+o]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>oN(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var Gw,Ble=_(()=>{"use strict";Ple();Gw=class{static{s(this,"XYChartBuilder")}static build(e,r,n,i){return new $w(e,r,n,i).getDrawableElement()}}});function zle(){let t=j0(),e=_r();return ms(t.xyChart,e.themeVariables.xyChart)}function $le(){let t=_r();return ms(dr.xyChart,t.xyChart)}function Gle(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function mN(t){let e=_r();return $r(t.trim(),e)}function zPe(t){Fle=t}function $Pe(t){t==="horizontal"?K2.chartOrientation="horizontal":K2.chartOrientation="vertical"}function GPe(t){Jr.xAxis.title=mN(t.text)}function Vle(t,e){Jr.xAxis={type:"linear",title:Jr.xAxis.title,min:t,max:e},Vw=!0}function VPe(t){Jr.xAxis={type:"band",title:Jr.xAxis.title,categories:t.map(e=>mN(e.text))},Vw=!0}function UPe(t){Jr.yAxis.title=mN(t.text)}function qPe(t,e){Jr.yAxis={type:"linear",title:Jr.yAxis.title,min:t,max:e},pN=!0}function WPe(t){let e=Math.min(...t),r=Math.max(...t),n=yg(Jr.yAxis)?Jr.yAxis.min:1/0,i=yg(Jr.yAxis)?Jr.yAxis.max:-1/0;Jr.yAxis={type:"linear",title:Jr.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function Ule(t){let e=[];if(t.length===0)return e;if(!Vw){let r=yg(Jr.xAxis)?Jr.xAxis.min:1/0,n=yg(Jr.xAxis)?Jr.xAxis.max:-1/0;Vle(Math.min(r,1),Math.max(n,t.length))}if(pN||WPe(t),Nw(Jr.xAxis)&&(e=Jr.xAxis.categories.map((r,n)=>[r,t[n]])),yg(Jr.xAxis)){let r=Jr.xAxis.min,n=Jr.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let o=r;o<=n;o+=i)a.push(`${o}`);e=a.map((o,l)=>[o,t[l]])}return e}function qle(t){return dN[t===0?0:t%dN.length]}function HPe(t,e){let r=Ule(e);Jr.plots.push({type:"line",strokeFill:qle(j2),strokeWidth:2,data:r}),j2++}function YPe(t,e){let r=Ule(e);Jr.plots.push({type:"bar",fill:qle(j2),data:r}),j2++}function XPe(){if(Jr.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Jr.title=Qr(),Gw.build(K2,Jr,Q2,Fle)}function jPe(){return Q2}function KPe(){return K2}var j2,Fle,K2,Q2,Jr,dN,Vw,pN,QPe,Wle,Hle=_(()=>{"use strict";zs();Pl();vb();pr();Qt();Ci();Ble();Ow();j2=0,K2=$le(),Q2=zle(),Jr=Gle(),dN=Q2.plotColorPalette.split(",").map(t=>t.trim()),Vw=!1,pN=!1;s(zle,"getChartDefaultThemeConfig");s($le,"getChartDefaultConfig");s(Gle,"getChartDefaultData");s(mN,"textSanitizer");s(zPe,"setTmpSVGG");s($Pe,"setOrientation");s(GPe,"setXAxisTitle");s(Vle,"setXAxisRangeData");s(VPe,"setXAxisBand");s(UPe,"setYAxisTitle");s(qPe,"setYAxisRangeData");s(WPe,"setYAxisRangeFromPlotData");s(Ule,"transformDataWithoutCategory");s(qle,"getPlotColorFromPalette");s(HPe,"setLineData");s(YPe,"setBarData");s(XPe,"getDrawableElem");s(jPe,"getChartThemeConfig");s(KPe,"getChartConfig");QPe=s(function(){br(),j2=0,K2=$le(),Jr=Gle(),Q2=zle(),dN=Q2.plotColorPalette.split(",").map(t=>t.trim()),Vw=!1,pN=!1},"clear"),Wle={getDrawableElem:XPe,clear:QPe,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,getAccDescription:Ur,setAccDescription:Vr,setOrientation:$Pe,setXAxisTitle:GPe,setXAxisRangeData:Vle,setXAxisBand:VPe,setYAxisTitle:UPe,setYAxisRangeData:qPe,setLineData:HPe,setBarData:YPe,setTmpSVGG:zPe,getChartThemeConfig:jPe,getChartConfig:KPe}});var ZPe,Yle,Xle=_(()=>{"use strict";it();p0();Un();ZPe=s((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),o=i.getChartConfig();function l(v){return v==="top"?"text-before-edge":"middle"}s(l,"getDominantBaseLine");function u(v){return v==="left"?"start":v==="right"?"end":"middle"}s(u,"getTextAnchor");function h(v){return`translate(${v.x}, ${v.y}) rotate(${v.rotation||0})`}s(h,"getTextTransformation"),V.debug(`Rendering xychart chart -`+t);let f=Bo(e),d=f.append("g").attr("class","main"),p=d.append("rect").attr("width",o.width).attr("height",o.height).attr("class","background");xr(f,o.height,o.width,!0),f.attr("viewBox",`0 0 ${o.width} ${o.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(f.append("g").attr("class","mermaid-tmp-group"));let m=i.getDrawableElem(),g={};function y(v){let x=d,b="";for(let[k]of v.entries()){let A=d;k>0&&g[b]&&(A=g[b]),b+=v[k],x=g[b],x||(x=g[b]=A.append("g").attr("class",v[k]))}return x}s(y,"getGroup");for(let v of m){if(v.data.length===0)continue;let x=y(v.groupTexts);switch(v.type){case"rect":x.selectAll("rect").data(v.data).enter().append("rect").attr("x",b=>b.x).attr("y",b=>b.y).attr("width",b=>b.width).attr("height",b=>b.height).attr("fill",b=>b.fill).attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break;case"text":x.selectAll("text").data(v.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",b=>b.fill).attr("font-size",b=>b.fontSize).attr("dominant-baseline",b=>l(b.verticalPos)).attr("text-anchor",b=>u(b.horizontalPos)).attr("transform",b=>h(b)).text(b=>b.text);break;case"path":x.selectAll("path").data(v.data).enter().append("path").attr("d",b=>b.path).attr("fill",b=>b.fill?b.fill:"none").attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break}}},"draw"),Yle={draw:ZPe}});var jle={};ur(jle,{diagram:()=>JPe});var JPe,Kle=_(()=>{"use strict";Sle();Hle();Xle();JPe={parser:Cle,db:Wle,renderer:Yle}});var gN,Jle,ece=_(()=>{"use strict";gN=function(){var t=s(function(ce,Z,fe,ne){for(fe=fe||{},ne=ce.length;ne--;fe[ce[ne]]=Z);return fe},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],o=[1,18],l=[2,7],u=[1,22],h=[1,23],f=[1,24],d=[1,25],p=[1,26],m=[1,27],g=[1,20],y=[1,28],v=[1,29],x=[62,63],b=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],k=[1,47],A=[1,48],w=[1,49],T=[1,50],C=[1,51],E=[1,52],S=[1,53],R=[53,54],D=[1,64],L=[1,60],P=[1,61],M=[1,62],F=[1,63],I=[1,65],O=[1,69],z=[1,70],N=[1,67],U=[1,68],$=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],W={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:s(function(Z,fe,ne,H,Q,K,re){var ie=K.length-1;switch(Q){case 4:this.$=K[ie].trim(),H.setAccTitle(this.$);break;case 5:case 6:this.$=K[ie].trim(),H.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:H.addRequirement(K[ie-3],K[ie-4]);break;case 14:H.setNewReqId(K[ie-2]);break;case 15:H.setNewReqText(K[ie-2]);break;case 16:H.setNewReqRisk(K[ie-2]);break;case 17:H.setNewReqVerifyMethod(K[ie-2]);break;case 20:this.$=H.RequirementType.REQUIREMENT;break;case 21:this.$=H.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=H.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=H.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=H.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=H.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=H.RiskLevel.LOW_RISK;break;case 27:this.$=H.RiskLevel.MED_RISK;break;case 28:this.$=H.RiskLevel.HIGH_RISK;break;case 29:this.$=H.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=H.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=H.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=H.VerifyType.VERIFY_TEST;break;case 33:H.addElement(K[ie-3]);break;case 34:H.setNewElementType(K[ie-2]);break;case 35:H.setNewElementDocRef(K[ie-2]);break;case 38:H.addRelationship(K[ie-2],K[ie],K[ie-4]);break;case 39:H.addRelationship(K[ie-2],K[ie-4],K[ie]);break;case 40:this.$=H.Relationships.CONTAINS;break;case 41:this.$=H.Relationships.COPIES;break;case 42:this.$=H.Relationships.DERIVES;break;case 43:this.$=H.Relationships.SATISFIES;break;case 44:this.$=H.Relationships.VERIFIES;break;case 45:this.$=H.Relationships.REFINES;break;case 46:this.$=H.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:o,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:o,7:31,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:32,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:33,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:34,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:o,7:35,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(x,[2,20]),t(x,[2,21]),t(x,[2,22]),t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(b,[2,49]),t(b,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:k,56:A,57:w,58:T,59:C,60:E,61:S},{52:54,55:k,56:A,57:w,58:T,59:C,60:E,61:S},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(R,[2,40]),t(R,[2,41]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),{54:[1,58]},{5:D,20:59,21:L,24:P,26:M,28:F,30:I},{5:O,30:z,46:66,47:N,49:U},{23:71,62:y,63:v},{23:72,62:y,63:v},t($,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:D,20:77,21:L,24:P,26:M,28:F,30:I},t($,[2,19]),t($,[2,33]),{22:[1,78]},{22:[1,79]},{5:O,30:z,46:80,47:N,49:U},t($,[2,37]),t($,[2,38]),t($,[2,39]),{23:81,62:y,63:v},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t($,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t($,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:D,20:106,21:L,24:P,26:M,28:F,30:I},{5:D,20:107,21:L,24:P,26:M,28:F,30:I},{5:D,20:108,21:L,24:P,26:M,28:F,30:I},{5:D,20:109,21:L,24:P,26:M,28:F,30:I},{5:O,30:z,46:110,47:N,49:U},{5:O,30:z,46:111,47:N,49:U},t($,[2,14]),t($,[2,15]),t($,[2,16]),t($,[2,17]),t($,[2,34]),t($,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:s(function(Z,fe){if(fe.recoverable)this.trace(Z);else{var ne=new Error(Z);throw ne.hash=fe,ne}},"parseError"),parse:s(function(Z){var fe=this,ne=[0],H=[],Q=[null],K=[],re=this.table,ie="",ye=0,j=0,De=0,oe=2,Re=1,Pe=K.slice.call(arguments,1),Se=Object.create(this.lexer),Ue={yy:{}};for(var Oe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Oe)&&(Ue.yy[Oe]=this.yy[Oe]);Se.setInput(Z,Ue.yy),Ue.yy.lexer=Se,Ue.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var _e=Se.yylloc;K.push(_e);var he=Se.options&&Se.options.ranges;typeof Ue.yy.parseError=="function"?this.parseError=Ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function q(Je){ne.length=ne.length-2*Je,Q.length=Q.length-Je,K.length=K.length-Je}s(q,"popStack");function se(){var Je;return Je=H.pop()||Se.lex()||Re,typeof Je!="number"&&(Je instanceof Array&&(H=Je,Je=H.pop()),Je=fe.symbols_[Je]||Je),Je}s(se,"lex");for(var ue,X,ae,pe,de,Ie,Ne={},Be,ze,qe,Fe;;){if(ae=ne[ne.length-1],this.defaultActions[ae]?pe=this.defaultActions[ae]:((ue===null||typeof ue>"u")&&(ue=se()),pe=re[ae]&&re[ae][ue]),typeof pe>"u"||!pe.length||!pe[0]){var we="";Fe=[];for(Be in re[ae])this.terminals_[Be]&&Be>oe&&Fe.push("'"+this.terminals_[Be]+"'");Se.showPosition?we="Parse error on line "+(ye+1)+`: +`,"getStyles"),Mce=zFe});var $Fe,GFe,Oce,Pce=R(()=>{"use strict";Zt();_t();ut();pf();Yn();xr();$Fe=o(t=>{let e=[...t.entries()].map(n=>({label:n[0],value:n[1]})).sort((n,i)=>i.value-n.value);return O3().value(n=>n.value)(e)},"createPieArcs"),GFe=o((t,e,r,n)=>{V.debug(`rendering pie chart +`+t);let i=n.db,a=de(),s=Ts(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Ps(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=mc(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=bl().innerRadius(0).outerRadius(x),w=bl().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let S=i.getSections(),T=$Fe(S),E=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],_=pu(E);m.selectAll("mySlices").data(T).enter().append("path").attr("d",b).attr("fill",k=>_(k.data.label)).attr("class","pieCircle");let A=0;S.forEach(k=>{A+=k}),m.selectAll("mySlices").data(T).enter().append("text").text(k=>(k.data.value/A*100).toFixed(0)+"%").attr("transform",k=>"translate("+w.centroid(k)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let L=m.selectAll(".legend").data(_.domain()).enter().append("g").attr("class","legend").attr("transform",(k,I)=>{let C=u+h,O=C*_.domain().length/2,D=12*u,P=I*C-O;return"translate("+D+","+P+")"});L.append("rect").attr("width",u).attr("height",u).style("fill",_).style("stroke",_),L.data(T).append("text").attr("x",u+h).attr("y",u-h).text(k=>{let{label:I,value:C}=k.data;return i.getShowData()?`${I} [${C}]`:I});let M=Math.max(...L.selectAll("text").nodes().map(k=>k?.getBoundingClientRect().width??0)),N=d+l+u+h+M;p.attr("viewBox",`0 0 ${N} ${f}`),Sr(p,f,N,s.useMaxWidth)},"draw"),Oce={draw:GFe}});var Bce={};hr(Bce,{diagram:()=>VFe});var VFe,Fce=R(()=>{"use strict";Nce();qI();Ice();Pce();VFe={parser:Rce,db:cE,renderer:Oce,styles:Mce}});var XI,Gce,Vce=R(()=>{"use strict";XI=function(){var t=o(function(we,Te,Ce,Ae){for(Ce=Ce||{},Ae=we.length;Ae--;Ce[we[Ae]]=Te);return Ce},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],w=[1,19],S=[1,20],T=[1,21],E=[1,22],_=[1,24],A=[1,25],L=[1,26],M=[1,27],N=[1,28],k=[1,29],I=[1,32],C=[1,33],O=[1,34],D=[1,39],P=[1,40],F=[1,42],B=[1,44],G=[1,62],z=[1,61],Y=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Q=[1,65],X=[1,66],ie=[1,67],j=[1,68],J=[1,69],Z=[1,70],H=[1,71],q=[1,72],K=[1,73],se=[1,74],ce=[1,75],ue=[1,76],te=[4,5,6,7,8,9,10,11,12,13,14,15,18],De=[1,90],oe=[1,91],ke=[1,92],Ie=[1,99],Se=[1,93],Ue=[1,96],Pe=[1,94],_e=[1,95],me=[1,97],W=[1,98],fe=[1,102],ge=[10,55,56,57],re=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],he={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(Te,Ce,Ae,$e,Me,ye,He){var ze=ye.length-1;switch(Me){case 23:this.$=ye[ze];break;case 24:this.$=ye[ze-1]+""+ye[ze];break;case 26:this.$=ye[ze-1]+ye[ze];break;case 27:this.$=[ye[ze].trim()];break;case 28:ye[ze-2].push(ye[ze].trim()),this.$=ye[ze-2];break;case 29:this.$=ye[ze-4],$e.addClass(ye[ze-2],ye[ze]);break;case 37:this.$=[];break;case 42:this.$=ye[ze].trim(),$e.setDiagramTitle(this.$);break;case 43:this.$=ye[ze].trim(),$e.setAccTitle(this.$);break;case 44:case 45:this.$=ye[ze].trim(),$e.setAccDescription(this.$);break;case 46:$e.addSection(ye[ze].substr(8)),this.$=ye[ze].substr(8);break;case 47:$e.addPoint(ye[ze-3],"",ye[ze-1],ye[ze],[]);break;case 48:$e.addPoint(ye[ze-4],ye[ze-3],ye[ze-1],ye[ze],[]);break;case 49:$e.addPoint(ye[ze-4],"",ye[ze-2],ye[ze-1],ye[ze]);break;case 50:$e.addPoint(ye[ze-5],ye[ze-4],ye[ze-2],ye[ze-1],ye[ze]);break;case 51:$e.setXAxisLeftText(ye[ze-2]),$e.setXAxisRightText(ye[ze]);break;case 52:ye[ze-1].text+=" \u27F6 ",$e.setXAxisLeftText(ye[ze-1]);break;case 53:$e.setXAxisLeftText(ye[ze]);break;case 54:$e.setYAxisBottomText(ye[ze-2]),$e.setYAxisTopText(ye[ze]);break;case 55:ye[ze-1].text+=" \u27F6 ",$e.setYAxisBottomText(ye[ze-1]);break;case 56:$e.setYAxisBottomText(ye[ze]);break;case 57:$e.setQuadrant1Text(ye[ze]);break;case 58:$e.setQuadrant2Text(ye[ze]);break;case 59:$e.setQuadrant3Text(ye[ze]);break;case 60:$e.setQuadrant4Text(ye[ze]);break;case 64:this.$={text:ye[ze],type:"text"};break;case 65:this.$={text:ye[ze-1].text+""+ye[ze],type:ye[ze-1].type};break;case 66:this.$={text:ye[ze],type:"text"};break;case 67:this.$={text:ye[ze],type:"markdown"};break;case 68:this.$=ye[ze];break;case 69:this.$=ye[ze-1]+""+ye[ze];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:w,39:S,41:T,42:E,48:_,50:A,51:L,52:M,53:N,54:k,60:I,61:C,63:O,64:D,65:P,66:F,67:B}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:w,39:S,41:T,42:E,48:_,50:A,51:L,52:M,53:N,54:k,60:I,61:C,63:O,64:D,65:P,66:F,67:B}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:I,61:C,63:O,64:D,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:I,61:C,63:O,64:D,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:I,61:C,63:O,64:D,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:I,61:C,63:O,64:D,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:I,61:C,63:O,64:D,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:I,61:C,63:O,64:D,65:P,66:F,67:B},{4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,44:[1,57],47:[1,58],58:60,59:59,63:O,64:D,65:P,66:F,67:B},t(Y,[2,64]),t(Y,[2,66]),t(Y,[2,67]),t(Y,[2,70]),t(Y,[2,71]),t(Y,[2,72]),t(Y,[2,73]),t(Y,[2,74]),t(Y,[2,75]),t(Y,[2,76]),t(Y,[2,77]),t(Y,[2,78]),t(Y,[2,79]),t(Y,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:Q,5:X,6:ie,7:j,8:J,9:Z,10:H,11:q,12:K,13:se,14:ce,15:ue,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,49:[1,77],63:O,64:D,65:P,66:F,67:B}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,49:[1,78],63:O,64:D,65:P,66:F,67:B}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,63:O,64:D,65:P,66:F,67:B}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,63:O,64:D,65:P,66:F,67:B}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,63:O,64:D,65:P,66:F,67:B}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,63:O,64:D,65:P,66:F,67:B}),{45:[1,79]},{44:[1,80]},t(Y,[2,65]),t(Y,[2,81]),t(Y,[2,82]),t(Y,[2,83]),{3:82,4:Q,5:X,6:ie,7:j,8:J,9:Z,10:H,11:q,12:K,13:se,14:ce,15:ue,18:[1,81]},t(te,[2,23]),t(te,[2,1]),t(te,[2,2]),t(te,[2,3]),t(te,[2,4]),t(te,[2,5]),t(te,[2,6]),t(te,[2,7]),t(te,[2,8]),t(te,[2,9]),t(te,[2,10]),t(te,[2,11]),t(te,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:I,61:C,63:O,64:D,65:P,66:F,67:B}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:I,61:C,63:O,64:D,65:P,66:F,67:B}),{46:[1,85]},{45:[1,86]},{4:De,5:oe,6:ke,8:Ie,11:Se,13:Ue,16:89,17:Pe,18:_e,19:me,20:W,22:88,23:87},t(te,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,63:O,64:D,65:P,66:F,67:B}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:G,10:p,12:m,13:g,14:y,18:z,63:O,64:D,65:P,66:F,67:B}),t(u,[2,47],{22:88,16:89,23:100,4:De,5:oe,6:ke,8:Ie,11:Se,13:Ue,17:Pe,18:_e,19:me,20:W}),{46:[1,101]},t(u,[2,29],{10:fe}),t(ge,[2,27],{16:103,4:De,5:oe,6:ke,8:Ie,11:Se,13:Ue,17:Pe,18:_e,19:me,20:W}),t(re,[2,25]),t(re,[2,13]),t(re,[2,14]),t(re,[2,15]),t(re,[2,16]),t(re,[2,17]),t(re,[2,18]),t(re,[2,19]),t(re,[2,20]),t(re,[2,21]),t(re,[2,22]),t(u,[2,49],{10:fe}),t(u,[2,48],{22:88,16:89,23:104,4:De,5:oe,6:ke,8:Ie,11:Se,13:Ue,17:Pe,18:_e,19:me,20:W}),{4:De,5:oe,6:ke,8:Ie,11:Se,13:Ue,16:89,17:Pe,18:_e,19:me,20:W,22:105},t(re,[2,26]),t(u,[2,50],{10:fe}),t(ge,[2,28],{16:103,4:De,5:oe,6:ke,8:Ie,11:Se,13:Ue,17:Pe,18:_e,19:me,20:W})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(Te,Ce){if(Ce.recoverable)this.trace(Te);else{var Ae=new Error(Te);throw Ae.hash=Ce,Ae}},"parseError"),parse:o(function(Te){var Ce=this,Ae=[0],$e=[],Me=[null],ye=[],He=this.table,ze="",Ze=0,gt=0,yt=0,tt=2,Ye=1,Je=ye.slice.call(arguments,1),Ve=Object.create(this.lexer),je={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(je.yy[kt]=this.yy[kt]);Ve.setInput(Te,je.yy),je.yy.lexer=Ve,je.yy.parser=this,typeof Ve.yylloc>"u"&&(Ve.yylloc={});var at=Ve.yylloc;ye.push(at);var xt=Ve.options&&Ve.options.ranges;typeof je.yy.parseError=="function"?this.parseError=je.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function it(on){Ae.length=Ae.length-2*on,Me.length=Me.length-on,ye.length=ye.length-on}o(it,"popStack");function dt(){var on;return on=$e.pop()||Ve.lex()||Ye,typeof on!="number"&&(on instanceof Array&&($e=on,on=$e.pop()),on=Ce.symbols_[on]||on),on}o(dt,"lex");for(var lt,It,mt,St,gr,xn,jt={},rn,Er,Kn,hn;;){if(mt=Ae[Ae.length-1],this.defaultActions[mt]?St=this.defaultActions[mt]:((lt===null||typeof lt>"u")&&(lt=dt()),St=He[mt]&&He[mt][lt]),typeof St>"u"||!St.length||!St[0]){var Qn="";hn=[];for(rn in He[mt])this.terminals_[rn]&&rn>tt&&hn.push("'"+this.terminals_[rn]+"'");Ve.showPosition?Qn="Parse error on line "+(Ze+1)+`: +`+Ve.showPosition()+` +Expecting `+hn.join(", ")+", got '"+(this.terminals_[lt]||lt)+"'":Qn="Parse error on line "+(Ze+1)+": Unexpected "+(lt==Ye?"end of input":"'"+(this.terminals_[lt]||lt)+"'"),this.parseError(Qn,{text:Ve.match,token:this.terminals_[lt]||lt,line:Ve.yylineno,loc:at,expected:hn})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+mt+", token: "+lt);switch(St[0]){case 1:Ae.push(lt),Me.push(Ve.yytext),ye.push(Ve.yylloc),Ae.push(St[1]),lt=null,It?(lt=It,It=null):(gt=Ve.yyleng,ze=Ve.yytext,Ze=Ve.yylineno,at=Ve.yylloc,yt>0&&yt--);break;case 2:if(Er=this.productions_[St[1]][1],jt.$=Me[Me.length-Er],jt._$={first_line:ye[ye.length-(Er||1)].first_line,last_line:ye[ye.length-1].last_line,first_column:ye[ye.length-(Er||1)].first_column,last_column:ye[ye.length-1].last_column},xt&&(jt._$.range=[ye[ye.length-(Er||1)].range[0],ye[ye.length-1].range[1]]),xn=this.performAction.apply(jt,[ze,gt,Ze,je.yy,St[1],Me,ye].concat(Je)),typeof xn<"u")return xn;Er&&(Ae=Ae.slice(0,-1*Er*2),Me=Me.slice(0,-1*Er),ye=ye.slice(0,-1*Er)),Ae.push(this.productions_[St[1]][0]),Me.push(jt.$),ye.push(jt._$),Kn=He[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push(Kn);break;case 3:return!0}}return!0},"parse")},ne=function(){var we={EOF:1,parseError:o(function(Ce,Ae){if(this.yy.parser)this.yy.parser.parseError(Ce,Ae);else throw new Error(Ce)},"parseError"),setInput:o(function(Te,Ce){return this.yy=Ce||this.yy||{},this._input=Te,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Te=this._input[0];this.yytext+=Te,this.yyleng++,this.offset++,this.match+=Te,this.matched+=Te;var Ce=Te.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Te},"input"),unput:o(function(Te){var Ce=Te.length,Ae=Te.split(/(?:\r\n?|\n)/g);this._input=Te+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;var $e=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ae.length-1&&(this.yylineno-=Ae.length-1);var Me=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ae?(Ae.length===$e.length?this.yylloc.first_column:0)+$e[$e.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[Me[0],Me[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Te){this.unput(this.match.slice(Te))},"less"),pastInput:o(function(){var Te=this.matched.substr(0,this.matched.length-this.match.length);return(Te.length>20?"...":"")+Te.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Te=this.match;return Te.length<20&&(Te+=this._input.substr(0,20-Te.length)),(Te.substr(0,20)+(Te.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Te=this.pastInput(),Ce=new Array(Te.length+1).join("-");return Te+this.upcomingInput()+` +`+Ce+"^"},"showPosition"),test_match:o(function(Te,Ce){var Ae,$e,Me;if(this.options.backtrack_lexer&&(Me={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Me.yylloc.range=this.yylloc.range.slice(0))),$e=Te[0].match(/(?:\r\n?|\n).*/g),$e&&(this.yylineno+=$e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:$e?$e[$e.length-1].length-$e[$e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Te[0].length},this.yytext+=Te[0],this.match+=Te[0],this.matches=Te,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Te[0].length),this.matched+=Te[0],Ae=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae)return Ae;if(this._backtrack){for(var ye in Me)this[ye]=Me[ye];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Te,Ce,Ae,$e;this._more||(this.yytext="",this.match="");for(var Me=this._currentRules(),ye=0;yeCe[0].length)){if(Ce=Ae,$e=ye,this.options.backtrack_lexer){if(Te=this.test_match(Ae,Me[ye]),Te!==!1)return Te;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Te=this.test_match(Ce,Me[$e]),Te!==!1?Te:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ce=this.next();return Ce||this.lex()},"lex"),begin:o(function(Ce){this.conditionStack.push(Ce)},"begin"),popState:o(function(){var Ce=this.conditionStack.length-1;return Ce>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},"topState"),pushState:o(function(Ce){this.begin(Ce)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Ce,Ae,$e,Me){var ye=Me;switch($e){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return we}();he.lexer=ne;function ae(){this.yy={}}return o(ae,"Parser"),ae.prototype=he,he.Parser=ae,new ae}();XI.parser=XI;Gce=XI});var os,uE,Uce=R(()=>{"use strict";Zt();sl();ut();jb();os=hp(),uE=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:mr.quadrantChart?.chartWidth||500,chartWidth:mr.quadrantChart?.chartHeight||500,titlePadding:mr.quadrantChart?.titlePadding||10,titleFontSize:mr.quadrantChart?.titleFontSize||20,quadrantPadding:mr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:mr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:mr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:mr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:mr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:mr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:mr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:mr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:mr.quadrantChart?.pointLabelFontSize||12,pointRadius:mr.quadrantChart?.pointRadius||5,xAxisPosition:mr.quadrantChart?.xAxisPosition||"top",yAxisPosition:mr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:mr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:mr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:os.quadrant1Fill,quadrant2Fill:os.quadrant2Fill,quadrant3Fill:os.quadrant3Fill,quadrant4Fill:os.quadrant4Fill,quadrant1TextFill:os.quadrant1TextFill,quadrant2TextFill:os.quadrant2TextFill,quadrant3TextFill:os.quadrant3TextFill,quadrant4TextFill:os.quadrant4TextFill,quadrantPointFill:os.quadrantPointFill,quadrantPointTextFill:os.quadrantPointTextFill,quadrantXAxisTextFill:os.quadrantXAxisTextFill,quadrantYAxisTextFill:os.quadrantYAxisTextFill,quadrantTitleFill:os.quadrantTitleFill,quadrantInternalBorderStrokeFill:os.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:os.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,V.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){V.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){V.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=gl().domain([0,1]).range([i,s+i]),u=gl().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function jI(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function Hce(t){return!/^\d+$/.test(t)}function Yce(t){return!/^\d+px$/.test(t)}var S0,Wce=R(()=>{"use strict";S0=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(jI,"validateHexCode");o(Hce,"validateNumber");o(Yce,"validateSizeInPixels")});function Wu(t){return qr(t.trim(),YFe)}function WFe(t){wa.setData({quadrant1Text:Wu(t.text)})}function qFe(t){wa.setData({quadrant2Text:Wu(t.text)})}function XFe(t){wa.setData({quadrant3Text:Wu(t.text)})}function jFe(t){wa.setData({quadrant4Text:Wu(t.text)})}function KFe(t){wa.setData({xAxisLeftText:Wu(t.text)})}function QFe(t){wa.setData({xAxisRightText:Wu(t.text)})}function ZFe(t){wa.setData({yAxisTopText:Wu(t.text)})}function JFe(t){wa.setData({yAxisBottomText:Wu(t.text)})}function KI(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(Hce(i))throw new S0(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(jI(i))throw new S0(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(jI(i))throw new S0(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Yce(i))throw new S0(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function eze(t,e,r,n,i){let a=KI(i);wa.addPoints([{x:r,y:n,text:Wu(t.text),className:e,...a}])}function tze(t,e){wa.addClass(t,KI(e))}function rze(t){wa.setConfig({chartWidth:t})}function nze(t){wa.setConfig({chartHeight:t})}function ize(){let t=de(),{themeVariables:e,quadrantChart:r}=t;return r&&wa.setConfig(r),wa.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),wa.setData({titleText:Xr()}),wa.build()}var YFe,wa,aze,qce,Xce=R(()=>{"use strict";_t();rr();bi();Uce();Wce();YFe=de();o(Wu,"textSanitizer");wa=new uE;o(WFe,"setQuadrant1Text");o(qFe,"setQuadrant2Text");o(XFe,"setQuadrant3Text");o(jFe,"setQuadrant4Text");o(KFe,"setXAxisLeftText");o(QFe,"setXAxisRightText");o(ZFe,"setYAxisTopText");o(JFe,"setYAxisBottomText");o(KI,"parseStyles");o(eze,"addPoint");o(tze,"addClass");o(rze,"setWidth");o(nze,"setHeight");o(ize,"getQuadrantData");aze=o(function(){wa.clear(),vr()},"clear"),qce={setWidth:rze,setHeight:nze,setQuadrant1Text:WFe,setQuadrant2Text:qFe,setQuadrant3Text:XFe,setQuadrant4Text:jFe,setXAxisLeftText:KFe,setXAxisRightText:QFe,setYAxisTopText:ZFe,setYAxisBottomText:JFe,parseStyles:KI,addPoint:eze,addClass:tze,getQuadrantData:ize,clear:aze,setAccTitle:kr,getAccTitle:Ar,setDiagramTitle:nn,getDiagramTitle:Xr,getAccDescription:Lr,setAccDescription:_r}});var sze,jce,Kce=R(()=>{"use strict";Zt();_t();ut();Yn();sze=o((t,e,r,n)=>{function i(A){return A==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(A){return A==="left"?"start":"middle"}o(a,"getTextAnchor");function s(A){return`translate(${A.x}, ${A.y}) rotate(${A.rotation||0})`}o(s,"getTransformation");let l=de();V.debug(`Rendering quadrant chart +`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=Ge("#i"+e));let d=(u==="sandbox"?Ge(h.nodes()[0].contentDocument.body):Ge("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;Sr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),w=p.append("g").attr("class","labels"),S=p.append("g").attr("class","title");y.title&&S.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",A=>A.x1).attr("y1",A=>A.y1).attr("x2",A=>A.x2).attr("y2",A=>A.y2).style("stroke",A=>A.strokeFill).style("stroke-width",A=>A.strokeWidth);let T=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");T.append("rect").attr("x",A=>A.x).attr("y",A=>A.y).attr("width",A=>A.width).attr("height",A=>A.height).attr("fill",A=>A.fill),T.append("text").attr("x",0).attr("y",0).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text)).text(A=>A.text.text),w.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(A=>A.text).attr("fill",A=>A.fill).attr("font-size",A=>A.fontSize).attr("dominant-baseline",A=>i(A.horizontalPos)).attr("text-anchor",A=>a(A.verticalPos)).attr("transform",A=>s(A));let _=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");_.append("circle").attr("cx",A=>A.x).attr("cy",A=>A.y).attr("r",A=>A.radius).attr("fill",A=>A.fill).attr("stroke",A=>A.strokeColor).attr("stroke-width",A=>A.strokeWidth),_.append("text").attr("x",0).attr("y",0).text(A=>A.text.text).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text))},"draw"),jce={draw:sze}});var Qce={};hr(Qce,{diagram:()=>oze});var oze,Zce=R(()=>{"use strict";Vce();Xce();Kce();oze={parser:Gce,db:qce,renderer:jce,styles:o(()=>"","styles")}});var QI,tue,rue=R(()=>{"use strict";QI=function(){var t=o(function(O,D,P,F){for(P=P||{},F=O.length;F--;P[O[F]]=D);return P},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],w=[1,37],S=[1,43],T=[1,42],E=[1,47],_=[1,50],A=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],M=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],N=[1,64],k={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(D,P,F,B,G,z,Y){var Q=z.length-1;switch(G){case 5:B.setOrientation(z[Q]);break;case 9:B.setDiagramTitle(z[Q].text.trim());break;case 12:B.setLineData({text:"",type:"text"},z[Q]);break;case 13:B.setLineData(z[Q-1],z[Q]);break;case 14:B.setBarData({text:"",type:"text"},z[Q]);break;case 15:B.setBarData(z[Q-1],z[Q]);break;case 16:this.$=z[Q].trim(),B.setAccTitle(this.$);break;case 17:case 18:this.$=z[Q].trim(),B.setAccDescription(this.$);break;case 19:this.$=z[Q-1];break;case 20:this.$=[Number(z[Q-2]),...z[Q]];break;case 21:this.$=[Number(z[Q])];break;case 22:B.setXAxisTitle(z[Q]);break;case 23:B.setXAxisTitle(z[Q-1]);break;case 24:B.setXAxisTitle({type:"text",text:""});break;case 25:B.setXAxisBand(z[Q]);break;case 26:B.setXAxisRangeData(Number(z[Q-2]),Number(z[Q]));break;case 27:this.$=z[Q-1];break;case 28:this.$=[z[Q-2],...z[Q]];break;case 29:this.$=[z[Q]];break;case 30:B.setYAxisTitle(z[Q]);break;case 31:B.setYAxisTitle(z[Q-1]);break;case 32:B.setYAxisTitle({type:"text",text:""});break;case 33:B.setYAxisRangeData(Number(z[Q-2]),Number(z[Q]));break;case 37:this.$={text:z[Q],type:"text"};break;case 38:this.$={text:z[Q],type:"text"};break;case 39:this.$={text:z[Q],type:"markdown"};break;case 40:this.$=z[Q];break;case 41:this.$=z[Q-1]+""+z[Q];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:39,13:38,24:S,27:T,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:45,15:44,27:E,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:49,17:48,24:_,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:52,17:51,24:_,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{20:[1,53]},{22:[1,54]},t(A,[2,18]),{1:[2,2]},t(A,[2,8]),t(A,[2,9]),t(L,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w}),t(L,[2,38]),t(L,[2,39]),t(M,[2,40]),t(M,[2,42]),t(M,[2,43]),t(M,[2,44]),t(M,[2,45]),t(M,[2,46]),t(M,[2,47]),t(M,[2,48]),t(M,[2,49]),t(M,[2,50]),t(M,[2,51]),t(A,[2,10]),t(A,[2,22],{30:41,29:56,24:S,27:T}),t(A,[2,24]),t(A,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},t(A,[2,11]),t(A,[2,30],{33:60,27:E}),t(A,[2,32]),{31:[1,61]},t(A,[2,12]),{17:62,24:_},{25:63,27:N},t(A,[2,14]),{17:65,24:_},t(A,[2,16]),t(A,[2,17]),t(M,[2,41]),t(A,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(A,[2,31]),{27:[1,69]},t(A,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(A,[2,15]),t(A,[2,26]),t(A,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},t(A,[2,33]),t(A,[2,19]),{25:73,27:N},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(D,P){if(P.recoverable)this.trace(D);else{var F=new Error(D);throw F.hash=P,F}},"parseError"),parse:o(function(D){var P=this,F=[0],B=[],G=[null],z=[],Y=this.table,Q="",X=0,ie=0,j=0,J=2,Z=1,H=z.slice.call(arguments,1),q=Object.create(this.lexer),K={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(K.yy[se]=this.yy[se]);q.setInput(D,K.yy),K.yy.lexer=q,K.yy.parser=this,typeof q.yylloc>"u"&&(q.yylloc={});var ce=q.yylloc;z.push(ce);var ue=q.options&&q.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(he){F.length=F.length-2*he,G.length=G.length-he,z.length=z.length-he}o(te,"popStack");function De(){var he;return he=B.pop()||q.lex()||Z,typeof he!="number"&&(he instanceof Array&&(B=he,he=B.pop()),he=P.symbols_[he]||he),he}o(De,"lex");for(var oe,ke,Ie,Se,Ue,Pe,_e={},me,W,fe,ge;;){if(Ie=F[F.length-1],this.defaultActions[Ie]?Se=this.defaultActions[Ie]:((oe===null||typeof oe>"u")&&(oe=De()),Se=Y[Ie]&&Y[Ie][oe]),typeof Se>"u"||!Se.length||!Se[0]){var re="";ge=[];for(me in Y[Ie])this.terminals_[me]&&me>J&&ge.push("'"+this.terminals_[me]+"'");q.showPosition?re="Parse error on line "+(X+1)+`: +`+q.showPosition()+` +Expecting `+ge.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":re="Parse error on line "+(X+1)+": Unexpected "+(oe==Z?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(re,{text:q.match,token:this.terminals_[oe]||oe,line:q.yylineno,loc:ce,expected:ge})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ie+", token: "+oe);switch(Se[0]){case 1:F.push(oe),G.push(q.yytext),z.push(q.yylloc),F.push(Se[1]),oe=null,ke?(oe=ke,ke=null):(ie=q.yyleng,Q=q.yytext,X=q.yylineno,ce=q.yylloc,j>0&&j--);break;case 2:if(W=this.productions_[Se[1]][1],_e.$=G[G.length-W],_e._$={first_line:z[z.length-(W||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(W||1)].first_column,last_column:z[z.length-1].last_column},ue&&(_e._$.range=[z[z.length-(W||1)].range[0],z[z.length-1].range[1]]),Pe=this.performAction.apply(_e,[Q,ie,X,K.yy,Se[1],G,z].concat(H)),typeof Pe<"u")return Pe;W&&(F=F.slice(0,-1*W*2),G=G.slice(0,-1*W),z=z.slice(0,-1*W)),F.push(this.productions_[Se[1]][0]),G.push(_e.$),z.push(_e._$),fe=Y[F[F.length-2]][F[F.length-1]],F.push(fe);break;case 3:return!0}}return!0},"parse")},I=function(){var O={EOF:1,parseError:o(function(P,F){if(this.yy.parser)this.yy.parser.parseError(P,F);else throw new Error(P)},"parseError"),setInput:o(function(D,P){return this.yy=P||this.yy||{},this._input=D,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var P=D.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),D},"input"),unput:o(function(D){var P=D.length,F=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var G=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===B.length?this.yylloc.first_column:0)+B[B.length-F.length].length-F[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[G[0],G[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(D){this.unput(this.match.slice(D))},"less"),pastInput:o(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var D=this.pastInput(),P=new Array(D.length+1).join("-");return D+this.upcomingInput()+` +`+P+"^"},"showPosition"),test_match:o(function(D,P){var F,B,G;if(this.options.backtrack_lexer&&(G={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(G.yylloc.range=this.yylloc.range.slice(0))),B=D[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(D[0].length),this.matched+=D[0],F=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in G)this[z]=G[z];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,P,F,B;this._more||(this.yytext="",this.match="");for(var G=this._currentRules(),z=0;zP[0].length)){if(P=F,B=z,this.options.backtrack_lexer){if(D=this.test_match(F,G[z]),D!==!1)return D;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(D=this.test_match(P,G[B]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,F,B,G){var z=G;switch(B){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";break;case 17:return this.pushState("axis_data"),"Y_AXIS";break;case 18:return this.pushState("axis_band_data"),24;break;case 19:return 31;case 20:return this.pushState("data"),16;break;case 21:return this.pushState("data"),18;break;case 22:return this.pushState("data_inner"),24;break;case 23:return 27;case 24:return this.popState(),26;break;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return O}();k.lexer=I;function C(){this.yy={}}return o(C,"Parser"),C.prototype=k,k.Parser=C,new C}();QI.parser=QI;tue=QI});function ZI(t){return t.type==="bar"}function hE(t){return t.type==="band"}function Ng(t){return t.type==="linear"}var fE=R(()=>{"use strict";o(ZI,"isBarPlot");o(hE,"isBandAxisData");o(Ng,"isLinearAxisData")});var Mg,JI=R(()=>{"use strict";Al();Mg=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=bj(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var Ig,eO=R(()=>{"use strict";Ig=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var dE,nue=R(()=>{"use strict";Zt();ut();eO();dE=class extends Ig{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=Op().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=Op().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),V.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var pE,iue=R(()=>{"use strict";Zt();eO();pE=class extends Ig{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=gl().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=gl().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function tO(t,e,r,n){let i=new Mg(n);return hE(t)?new dE(e,r,t.categories,t.title,i):new pE(e,r,[t.min,t.max],t.title,i)}var aue=R(()=>{"use strict";fE();JI();nue();iue();o(tO,"getAxis")});function sue(t,e,r,n){let i=new Mg(n);return new rO(i,t,e,r)}var rO,oue=R(()=>{"use strict";JI();rO=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(sue,"getChartTitleComponent")});var mE,lue=R(()=>{"use strict";Zt();mE=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=ha().y(n=>n[0]).x(n=>n[1])(e):r=ha().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var gE,cue=R(()=>{"use strict";gE=class{constructor(e,r,n,i,a,s){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function uue(t,e,r){return new nO(t,e,r)}var nO,hue=R(()=>{"use strict";lue();cue();nO=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new mE(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new gE(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(uue,"getPlotComponent")});var yE,fue=R(()=>{"use strict";aue();oue();hue();fE();yE=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:sue(e,r,n,i),plot:uue(e,r,n),xAxis:tO(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:tO(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>ZI(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>ZI(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var vE,due=R(()=>{"use strict";fue();vE=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new yE(e,r,n,i).getDrawableElement()}}});function mue(){let t=hp(),e=Or();return Ts(t.xyChart,e.themeVariables.xyChart)}function gue(){let t=Or();return Ts(mr.xyChart,t.xyChart)}function yue(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function sO(t){let e=Or();return qr(t.trim(),e)}function hze(t){pue=t}function fze(t){t==="horizontal"?px.chartOrientation="horizontal":px.chartOrientation="vertical"}function dze(t){sn.xAxis.title=sO(t.text)}function vue(t,e){sn.xAxis={type:"linear",title:sn.xAxis.title,min:t,max:e},xE=!0}function pze(t){sn.xAxis={type:"band",title:sn.xAxis.title,categories:t.map(e=>sO(e.text))},xE=!0}function mze(t){sn.yAxis.title=sO(t.text)}function gze(t,e){sn.yAxis={type:"linear",title:sn.yAxis.title,min:t,max:e},aO=!0}function yze(t){let e=Math.min(...t),r=Math.max(...t),n=Ng(sn.yAxis)?sn.yAxis.min:1/0,i=Ng(sn.yAxis)?sn.yAxis.max:-1/0;sn.yAxis={type:"linear",title:sn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function xue(t){let e=[];if(t.length===0)return e;if(!xE){let r=Ng(sn.xAxis)?sn.xAxis.min:1/0,n=Ng(sn.xAxis)?sn.xAxis.max:-1/0;vue(Math.min(r,1),Math.max(n,t.length))}if(aO||yze(t),hE(sn.xAxis)&&(e=sn.xAxis.categories.map((r,n)=>[r,t[n]])),Ng(sn.xAxis)){let r=sn.xAxis.min,n=sn.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function bue(t){return iO[t===0?0:t%iO.length]}function vze(t,e){let r=xue(e);sn.plots.push({type:"line",strokeFill:bue(dx),strokeWidth:2,data:r}),dx++}function xze(t,e){let r=xue(e);sn.plots.push({type:"bar",fill:bue(dx),data:r}),dx++}function bze(){if(sn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return sn.title=Xr(),vE.build(px,sn,mx,pue)}function wze(){return mx}function Tze(){return px}var dx,pue,px,mx,sn,iO,xE,aO,kze,wue,Tue=R(()=>{"use strict";qs();sl();jb();xr();rr();bi();due();fE();dx=0,px=gue(),mx=mue(),sn=yue(),iO=mx.plotColorPalette.split(",").map(t=>t.trim()),xE=!1,aO=!1;o(mue,"getChartDefaultThemeConfig");o(gue,"getChartDefaultConfig");o(yue,"getChartDefaultData");o(sO,"textSanitizer");o(hze,"setTmpSVGG");o(fze,"setOrientation");o(dze,"setXAxisTitle");o(vue,"setXAxisRangeData");o(pze,"setXAxisBand");o(mze,"setYAxisTitle");o(gze,"setYAxisRangeData");o(yze,"setYAxisRangeFromPlotData");o(xue,"transformDataWithoutCategory");o(bue,"getPlotColorFromPalette");o(vze,"setLineData");o(xze,"setBarData");o(bze,"getDrawableElem");o(wze,"getChartThemeConfig");o(Tze,"getChartConfig");kze=o(function(){vr(),dx=0,px=gue(),sn=yue(),mx=mue(),iO=mx.plotColorPalette.split(",").map(t=>t.trim()),xE=!1,aO=!1},"clear"),wue={getDrawableElem:bze,clear:kze,setAccTitle:kr,getAccTitle:Ar,setDiagramTitle:nn,getDiagramTitle:Xr,getAccDescription:Lr,setAccDescription:_r,setOrientation:fze,setXAxisTitle:dze,setXAxisRangeData:vue,setXAxisBand:pze,setYAxisTitle:mze,setYAxisRangeData:gze,setLineData:vze,setBarData:xze,setTmpSVGG:hze,getChartThemeConfig:wze,getChartConfig:Tze}});var Eze,kue,Eue=R(()=>{"use strict";ut();pf();Yn();Eze=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig();function l(v){return v==="top"?"text-before-edge":"middle"}o(l,"getDominantBaseLine");function u(v){return v==="left"?"start":v==="right"?"end":"middle"}o(u,"getTextAnchor");function h(v){return`translate(${v.x}, ${v.y}) rotate(${v.rotation||0})`}o(h,"getTextTransformation"),V.debug(`Rendering xychart chart +`+t);let f=Ps(e),d=f.append("g").attr("class","main"),p=d.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Sr(f,s.height,s.width,!0),f.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(f.append("g").attr("class","mermaid-tmp-group"));let m=i.getDrawableElem(),g={};function y(v){let x=d,b="";for(let[w]of v.entries()){let S=d;w>0&&g[b]&&(S=g[b]),b+=v[w],x=g[b],x||(x=g[b]=S.append("g").attr("class",v[w]))}return x}o(y,"getGroup");for(let v of m){if(v.data.length===0)continue;let x=y(v.groupTexts);switch(v.type){case"rect":x.selectAll("rect").data(v.data).enter().append("rect").attr("x",b=>b.x).attr("y",b=>b.y).attr("width",b=>b.width).attr("height",b=>b.height).attr("fill",b=>b.fill).attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break;case"text":x.selectAll("text").data(v.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",b=>b.fill).attr("font-size",b=>b.fontSize).attr("dominant-baseline",b=>l(b.verticalPos)).attr("text-anchor",b=>u(b.horizontalPos)).attr("transform",b=>h(b)).text(b=>b.text);break;case"path":x.selectAll("path").data(v.data).enter().append("path").attr("d",b=>b.path).attr("fill",b=>b.fill?b.fill:"none").attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break}}},"draw"),kue={draw:Eze}});var Cue={};hr(Cue,{diagram:()=>Cze});var Cze,Sue=R(()=>{"use strict";rue();Tue();Eue();Cze={parser:tue,db:wue,renderer:kue}});var oO,Lue,Due=R(()=>{"use strict";oO=function(){var t=o(function(ie,j,J,Z){for(J=J||{},Z=ie.length;Z--;J[ie[Z]]=j);return J},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],s=[1,18],l=[2,7],u=[1,22],h=[1,23],f=[1,24],d=[1,25],p=[1,26],m=[1,27],g=[1,20],y=[1,28],v=[1,29],x=[62,63],b=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],w=[1,47],S=[1,48],T=[1,49],E=[1,50],_=[1,51],A=[1,52],L=[1,53],M=[53,54],N=[1,64],k=[1,60],I=[1,61],C=[1,62],O=[1,63],D=[1,65],P=[1,69],F=[1,70],B=[1,67],G=[1,68],z=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Y={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:o(function(j,J,Z,H,q,K,se){var ce=K.length-1;switch(q){case 4:this.$=K[ce].trim(),H.setAccTitle(this.$);break;case 5:case 6:this.$=K[ce].trim(),H.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:H.addRequirement(K[ce-3],K[ce-4]);break;case 14:H.setNewReqId(K[ce-2]);break;case 15:H.setNewReqText(K[ce-2]);break;case 16:H.setNewReqRisk(K[ce-2]);break;case 17:H.setNewReqVerifyMethod(K[ce-2]);break;case 20:this.$=H.RequirementType.REQUIREMENT;break;case 21:this.$=H.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=H.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=H.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=H.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=H.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=H.RiskLevel.LOW_RISK;break;case 27:this.$=H.RiskLevel.MED_RISK;break;case 28:this.$=H.RiskLevel.HIGH_RISK;break;case 29:this.$=H.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=H.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=H.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=H.VerifyType.VERIFY_TEST;break;case 33:H.addElement(K[ce-3]);break;case 34:H.setNewElementType(K[ce-2]);break;case 35:H.setNewElementDocRef(K[ce-2]);break;case 38:H.addRelationship(K[ce-2],K[ce],K[ce-4]);break;case 39:H.addRelationship(K[ce-2],K[ce-4],K[ce]);break;case 40:this.$=H.Relationships.CONTAINS;break;case 41:this.$=H.Relationships.COPIES;break;case 42:this.$=H.Relationships.DERIVES;break;case 43:this.$=H.Relationships.SATISFIES;break;case 44:this.$=H.Relationships.VERIFIES;break;case 45:this.$=H.Relationships.REFINES;break;case 46:this.$=H.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:s,7:31,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:32,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:33,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:34,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:35,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(x,[2,20]),t(x,[2,21]),t(x,[2,22]),t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(b,[2,49]),t(b,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:w,56:S,57:T,58:E,59:_,60:A,61:L},{52:54,55:w,56:S,57:T,58:E,59:_,60:A,61:L},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(M,[2,40]),t(M,[2,41]),t(M,[2,42]),t(M,[2,43]),t(M,[2,44]),t(M,[2,45]),t(M,[2,46]),{54:[1,58]},{5:N,20:59,21:k,24:I,26:C,28:O,30:D},{5:P,30:F,46:66,47:B,49:G},{23:71,62:y,63:v},{23:72,62:y,63:v},t(z,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:N,20:77,21:k,24:I,26:C,28:O,30:D},t(z,[2,19]),t(z,[2,33]),{22:[1,78]},{22:[1,79]},{5:P,30:F,46:80,47:B,49:G},t(z,[2,37]),t(z,[2,38]),t(z,[2,39]),{23:81,62:y,63:v},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t(z,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t(z,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:N,20:106,21:k,24:I,26:C,28:O,30:D},{5:N,20:107,21:k,24:I,26:C,28:O,30:D},{5:N,20:108,21:k,24:I,26:C,28:O,30:D},{5:N,20:109,21:k,24:I,26:C,28:O,30:D},{5:P,30:F,46:110,47:B,49:G},{5:P,30:F,46:111,47:B,49:G},t(z,[2,14]),t(z,[2,15]),t(z,[2,16]),t(z,[2,17]),t(z,[2,34]),t(z,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:o(function(j,J){if(J.recoverable)this.trace(j);else{var Z=new Error(j);throw Z.hash=J,Z}},"parseError"),parse:o(function(j){var J=this,Z=[0],H=[],q=[null],K=[],se=this.table,ce="",ue=0,te=0,De=0,oe=2,ke=1,Ie=K.slice.call(arguments,1),Se=Object.create(this.lexer),Ue={yy:{}};for(var Pe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Pe)&&(Ue.yy[Pe]=this.yy[Pe]);Se.setInput(j,Ue.yy),Ue.yy.lexer=Se,Ue.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var _e=Se.yylloc;K.push(_e);var me=Se.options&&Se.options.ranges;typeof Ue.yy.parseError=="function"?this.parseError=Ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function W(He){Z.length=Z.length-2*He,q.length=q.length-He,K.length=K.length-He}o(W,"popStack");function fe(){var He;return He=H.pop()||Se.lex()||ke,typeof He!="number"&&(He instanceof Array&&(H=He,He=H.pop()),He=J.symbols_[He]||He),He}o(fe,"lex");for(var ge,re,he,ne,ae,we,Te={},Ce,Ae,$e,Me;;){if(he=Z[Z.length-1],this.defaultActions[he]?ne=this.defaultActions[he]:((ge===null||typeof ge>"u")&&(ge=fe()),ne=se[he]&&se[he][ge]),typeof ne>"u"||!ne.length||!ne[0]){var ye="";Me=[];for(Ce in se[he])this.terminals_[Ce]&&Ce>oe&&Me.push("'"+this.terminals_[Ce]+"'");Se.showPosition?ye="Parse error on line "+(ue+1)+`: `+Se.showPosition()+` -Expecting `+Fe.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":we="Parse error on line "+(ye+1)+": Unexpected "+(ue==Re?"end of input":"'"+(this.terminals_[ue]||ue)+"'"),this.parseError(we,{text:Se.match,token:this.terminals_[ue]||ue,line:Se.yylineno,loc:_e,expected:Fe})}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ae+", token: "+ue);switch(pe[0]){case 1:ne.push(ue),Q.push(Se.yytext),K.push(Se.yylloc),ne.push(pe[1]),ue=null,X?(ue=X,X=null):(j=Se.yyleng,ie=Se.yytext,ye=Se.yylineno,_e=Se.yylloc,De>0&&De--);break;case 2:if(ze=this.productions_[pe[1]][1],Ne.$=Q[Q.length-ze],Ne._$={first_line:K[K.length-(ze||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(ze||1)].first_column,last_column:K[K.length-1].last_column},he&&(Ne._$.range=[K[K.length-(ze||1)].range[0],K[K.length-1].range[1]]),Ie=this.performAction.apply(Ne,[ie,j,ye,Ue.yy,pe[1],Q,K].concat(Pe)),typeof Ie<"u")return Ie;ze&&(ne=ne.slice(0,-1*ze*2),Q=Q.slice(0,-1*ze),K=K.slice(0,-1*ze)),ne.push(this.productions_[pe[1]][0]),Q.push(Ne.$),K.push(Ne._$),qe=re[ne[ne.length-2]][ne[ne.length-1]],ne.push(qe);break;case 3:return!0}}return!0},"parse")},ee=function(){var ce={EOF:1,parseError:s(function(fe,ne){if(this.yy.parser)this.yy.parser.parseError(fe,ne);else throw new Error(fe)},"parseError"),setInput:s(function(Z,fe){return this.yy=fe||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var fe=Z.match(/(?:\r\n?|\n).*/g);return fe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Z},"input"),unput:s(function(Z){var fe=Z.length,ne=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-fe),this.offset-=fe;var H=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ne.length-1&&(this.yylineno-=ne.length-1);var Q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ne?(ne.length===H.length?this.yylloc.first_column:0)+H[H.length-ne.length].length-ne[0].length:this.yylloc.first_column-fe},this.options.ranges&&(this.yylloc.range=[Q[0],Q[0]+this.yyleng-fe]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Z){this.unput(this.match.slice(Z))},"less"),pastInput:s(function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Z=this.match;return Z.length<20&&(Z+=this._input.substr(0,20-Z.length)),(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Z=this.pastInput(),fe=new Array(Z.length+1).join("-");return Z+this.upcomingInput()+` -`+fe+"^"},"showPosition"),test_match:s(function(Z,fe){var ne,H,Q;if(this.options.backtrack_lexer&&(Q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Q.yylloc.range=this.yylloc.range.slice(0))),H=Z[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],ne=this.performAction.call(this,this.yy,this,fe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var K in Q)this[K]=Q[K];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Z,fe,ne,H;this._more||(this.yytext="",this.match="");for(var Q=this._currentRules(),K=0;Kfe[0].length)){if(fe=ne,H=K,this.options.backtrack_lexer){if(Z=this.test_match(ne,Q[K]),Z!==!1)return Z;if(this._backtrack){fe=!1;continue}else return!1}else if(!this.options.flex)break}return fe?(Z=this.test_match(fe,Q[H]),Z!==!1?Z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var fe=this.next();return fe||this.lex()},"lex"),begin:s(function(fe){this.conditionStack.push(fe)},"begin"),popState:s(function(){var fe=this.conditionStack.length-1;return fe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(fe){return fe=this.conditionStack.length-1-Math.abs(fe||0),fe>=0?this.conditionStack[fe]:"INITIAL"},"topState"),pushState:s(function(fe){this.begin(fe)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(fe,ne,H,Q){var K=Q;switch(H){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return ne.yytext=ne.yytext.trim(),62;break}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return ce}();W.lexer=ee;function te(){this.yy={}}return s(te,"Parser"),te.prototype=W,W.Parser=te,new te}();gN.parser=gN;Jle=gN});var yN,Ds,Z2,af,J2,nBe,iBe,aBe,sBe,oBe,lBe,cBe,uBe,hBe,fBe,dBe,pBe,mBe,gBe,yBe,vBe,xBe,tce,rce=_(()=>{"use strict";gt();it();Ci();yN=[],Ds={},Z2=new Map,af={},J2=new Map,nBe={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},iBe={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},aBe={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},sBe={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},oBe=s((t,e)=>(Z2.has(t)||Z2.set(t,{name:t,type:e,id:Ds.id,text:Ds.text,risk:Ds.risk,verifyMethod:Ds.verifyMethod}),Ds={},Z2.get(t)),"addRequirement"),lBe=s(()=>Z2,"getRequirements"),cBe=s(t=>{Ds!==void 0&&(Ds.id=t)},"setNewReqId"),uBe=s(t=>{Ds!==void 0&&(Ds.text=t)},"setNewReqText"),hBe=s(t=>{Ds!==void 0&&(Ds.risk=t)},"setNewReqRisk"),fBe=s(t=>{Ds!==void 0&&(Ds.verifyMethod=t)},"setNewReqVerifyMethod"),dBe=s(t=>(J2.has(t)||(J2.set(t,{name:t,type:af.type,docRef:af.docRef}),V.info("Added new requirement: ",t)),af={},J2.get(t)),"addElement"),pBe=s(()=>J2,"getElements"),mBe=s(t=>{af!==void 0&&(af.type=t)},"setNewElementType"),gBe=s(t=>{af!==void 0&&(af.docRef=t)},"setNewElementDocRef"),yBe=s((t,e,r)=>{yN.push({type:t,src:e,dst:r})},"addRelationship"),vBe=s(()=>yN,"getRelationships"),xBe=s(()=>{yN=[],Ds={},Z2=new Map,af={},J2=new Map,br()},"clear"),tce={RequirementType:nBe,RiskLevel:iBe,VerifyType:aBe,Relationships:sBe,getConfig:s(()=>le().req,"getConfig"),addRequirement:oBe,getRequirements:lBe,setNewReqId:cBe,setNewReqText:uBe,setNewReqRisk:hBe,setNewReqVerifyMethod:fBe,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addElement:dBe,getElements:pBe,setNewElementType:mBe,setNewElementDocRef:gBe,addRelationship:yBe,getRelationships:vBe,clear:xBe}});var bBe,nce,ice=_(()=>{"use strict";bBe=s(t=>` +Expecting `+Me.join(", ")+", got '"+(this.terminals_[ge]||ge)+"'":ye="Parse error on line "+(ue+1)+": Unexpected "+(ge==ke?"end of input":"'"+(this.terminals_[ge]||ge)+"'"),this.parseError(ye,{text:Se.match,token:this.terminals_[ge]||ge,line:Se.yylineno,loc:_e,expected:Me})}if(ne[0]instanceof Array&&ne.length>1)throw new Error("Parse Error: multiple actions possible at state: "+he+", token: "+ge);switch(ne[0]){case 1:Z.push(ge),q.push(Se.yytext),K.push(Se.yylloc),Z.push(ne[1]),ge=null,re?(ge=re,re=null):(te=Se.yyleng,ce=Se.yytext,ue=Se.yylineno,_e=Se.yylloc,De>0&&De--);break;case 2:if(Ae=this.productions_[ne[1]][1],Te.$=q[q.length-Ae],Te._$={first_line:K[K.length-(Ae||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(Ae||1)].first_column,last_column:K[K.length-1].last_column},me&&(Te._$.range=[K[K.length-(Ae||1)].range[0],K[K.length-1].range[1]]),we=this.performAction.apply(Te,[ce,te,ue,Ue.yy,ne[1],q,K].concat(Ie)),typeof we<"u")return we;Ae&&(Z=Z.slice(0,-1*Ae*2),q=q.slice(0,-1*Ae),K=K.slice(0,-1*Ae)),Z.push(this.productions_[ne[1]][0]),q.push(Te.$),K.push(Te._$),$e=se[Z[Z.length-2]][Z[Z.length-1]],Z.push($e);break;case 3:return!0}}return!0},"parse")},Q=function(){var ie={EOF:1,parseError:o(function(J,Z){if(this.yy.parser)this.yy.parser.parseError(J,Z);else throw new Error(J)},"parseError"),setInput:o(function(j,J){return this.yy=J||this.yy||{},this._input=j,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var j=this._input[0];this.yytext+=j,this.yyleng++,this.offset++,this.match+=j,this.matched+=j;var J=j.match(/(?:\r\n?|\n).*/g);return J?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),j},"input"),unput:o(function(j){var J=j.length,Z=j.split(/(?:\r\n?|\n)/g);this._input=j+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-J),this.offset-=J;var H=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Z.length-1&&(this.yylineno-=Z.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Z?(Z.length===H.length?this.yylloc.first_column:0)+H[H.length-Z.length].length-Z[0].length:this.yylloc.first_column-J},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-J]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(j){this.unput(this.match.slice(j))},"less"),pastInput:o(function(){var j=this.matched.substr(0,this.matched.length-this.match.length);return(j.length>20?"...":"")+j.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var j=this.match;return j.length<20&&(j+=this._input.substr(0,20-j.length)),(j.substr(0,20)+(j.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var j=this.pastInput(),J=new Array(j.length+1).join("-");return j+this.upcomingInput()+` +`+J+"^"},"showPosition"),test_match:o(function(j,J){var Z,H,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),H=j[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+j[0].length},this.yytext+=j[0],this.match+=j[0],this.matches=j,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(j[0].length),this.matched+=j[0],Z=this.performAction.call(this,this.yy,this,J,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Z)return Z;if(this._backtrack){for(var K in q)this[K]=q[K];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var j,J,Z,H;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),K=0;KJ[0].length)){if(J=Z,H=K,this.options.backtrack_lexer){if(j=this.test_match(Z,q[K]),j!==!1)return j;if(this._backtrack){J=!1;continue}else return!1}else if(!this.options.flex)break}return J?(j=this.test_match(J,q[H]),j!==!1?j:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var J=this.next();return J||this.lex()},"lex"),begin:o(function(J){this.conditionStack.push(J)},"begin"),popState:o(function(){var J=this.conditionStack.length-1;return J>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(J){return J=this.conditionStack.length-1-Math.abs(J||0),J>=0?this.conditionStack[J]:"INITIAL"},"topState"),pushState:o(function(J){this.begin(J)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(J,Z,H,q){var K=q;switch(H){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return Z.yytext=Z.yytext.trim(),62;break}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return ie}();Y.lexer=Q;function X(){this.yy={}}return o(X,"Parser"),X.prototype=Y,Y.Parser=X,new X}();oO.parser=oO;Lue=oO});var lO,Bs,gx,mf,yx,Lze,Dze,Rze,Nze,Mze,Ize,Oze,Pze,Bze,Fze,zze,$ze,Gze,Vze,Uze,Hze,Yze,Rue,Nue=R(()=>{"use strict";_t();ut();bi();lO=[],Bs={},gx=new Map,mf={},yx=new Map,Lze={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},Dze={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},Rze={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Nze={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},Mze=o((t,e)=>(gx.has(t)||gx.set(t,{name:t,type:e,id:Bs.id,text:Bs.text,risk:Bs.risk,verifyMethod:Bs.verifyMethod}),Bs={},gx.get(t)),"addRequirement"),Ize=o(()=>gx,"getRequirements"),Oze=o(t=>{Bs!==void 0&&(Bs.id=t)},"setNewReqId"),Pze=o(t=>{Bs!==void 0&&(Bs.text=t)},"setNewReqText"),Bze=o(t=>{Bs!==void 0&&(Bs.risk=t)},"setNewReqRisk"),Fze=o(t=>{Bs!==void 0&&(Bs.verifyMethod=t)},"setNewReqVerifyMethod"),zze=o(t=>(yx.has(t)||(yx.set(t,{name:t,type:mf.type,docRef:mf.docRef}),V.info("Added new requirement: ",t)),mf={},yx.get(t)),"addElement"),$ze=o(()=>yx,"getElements"),Gze=o(t=>{mf!==void 0&&(mf.type=t)},"setNewElementType"),Vze=o(t=>{mf!==void 0&&(mf.docRef=t)},"setNewElementDocRef"),Uze=o((t,e,r)=>{lO.push({type:t,src:e,dst:r})},"addRelationship"),Hze=o(()=>lO,"getRelationships"),Yze=o(()=>{lO=[],Bs={},gx=new Map,mf={},yx=new Map,vr()},"clear"),Rue={RequirementType:Lze,RiskLevel:Dze,VerifyType:Rze,Relationships:Nze,getConfig:o(()=>de().req,"getConfig"),addRequirement:Mze,getRequirements:Ize,setNewReqId:Oze,setNewReqText:Pze,setNewReqRisk:Bze,setNewReqVerifyMethod:Fze,setAccTitle:kr,getAccTitle:Ar,setAccDescription:_r,getAccDescription:Lr,addElement:zze,getElements:$ze,setNewElementType:Gze,setNewElementDocRef:Vze,addRelationship:Uze,getRelationships:Hze,clear:Yze}});var Wze,Mue,Iue=R(()=>{"use strict";Wze=o(t=>` marker { fill: ${t.relationColor}; @@ -1117,15 +1117,15 @@ Expecting `+Fe.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":we="Parse erro fill: ${t.relationLabelColor}; } -`,"getStyles"),nce=bBe});var vN,kBe,xN,ace=_(()=>{"use strict";vN={CONTAINS:"contains",ARROW:"arrow"},kBe=s((t,e)=>{let r=t.append("defs").append("marker").attr("id",vN.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");r.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),r.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),r.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",vN.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0 +`,"getStyles"),Mue=Wze});var cO,qze,uO,Oue=R(()=>{"use strict";cO={CONTAINS:"contains",ARROW:"arrow"},qze=o((t,e)=>{let r=t.append("defs").append("marker").attr("id",cO.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");r.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),r.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),r.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",cO.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0 L${e.line_height},${e.line_height/2} M${e.line_height},${e.line_height/2} - L0,${e.line_height}`).attr("stroke-width",1)},"insertLineEndings"),xN={ReqMarkers:vN,insertLineEndings:kBe}});var Qn,sce,oce,lce,cce,wBe,TBe,EBe,CBe,SBe,_Be,bg,ABe,uce,hce=_(()=>{"use strict";Xt();Dd();la();gt();it();Un();Qt();ace();Qn={},sce=0,oce=s((t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Qn.rect_min_width+"px").attr("height",Qn.rect_min_height+"px"),"newRectNode"),lce=s((t,e,r)=>{let n=Qn.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",n).attr("y",Qn.rect_padding).attr("dominant-baseline","hanging"),a=0;r.forEach(h=>{a==0?i.append("tspan").attr("text-anchor","middle").attr("x",Qn.rect_min_width/2).attr("dy",0).text(h):i.append("tspan").attr("text-anchor","middle").attr("x",Qn.rect_min_width/2).attr("dy",Qn.line_height*.75).text(h),a++});let o=1.5*Qn.rect_padding,l=a*Qn.line_height*.75,u=o+l;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Qn.rect_min_width).attr("y1",u).attr("y2",u),{titleNode:i,y:u}},"newTitleNode"),cce=s((t,e,r,n)=>{let i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",Qn.rect_padding).attr("y",n).attr("dominant-baseline","hanging"),a=0,o=30,l=[];return r.forEach(u=>{let h=u.length;for(;h>o&&a<3;){let f=u.substring(0,o);u=u.substring(o,u.length),h=u.length,l[l.length]=f,a++}if(a==3){let f=l[l.length-1];l[l.length-1]=f.substring(0,f.length-4)+"..."}else l[l.length]=u;a=0}),l.forEach(u=>{i.append("tspan").attr("x",Qn.rect_padding).attr("dy",Qn.line_height).text(u)}),i},"newBodyNode"),wBe=s((t,e,r,n)=>{let i=e.node().getTotalLength(),a=e.node().getPointAtLength(i*.5),o="rel"+sce;sce++;let u=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-u.width/2).attr("y",a.y-u.height/2).attr("width",u.width).attr("height",u.height).attr("fill","white").attr("fill-opacity","85%")},"addEdgeLabel"),TBe=s(function(t,e,r,n,i){let a=r.edge(bg(e.src),bg(e.dst)),o=ra().x(function(u){return u.x}).y(function(u){return u.y}),l=t.insert("path","#"+n).attr("class","er relationshipLine").attr("d",o(a.points)).attr("fill","none");e.type==i.db.Relationships.CONTAINS?l.attr("marker-start","url("+$e.getUrl(Qn.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(l.attr("stroke-dasharray","10,7"),l.attr("marker-end","url("+$e.getUrl(Qn.arrowMarkerAbsolute)+"#"+xN.ReqMarkers.ARROW+"_line_ending)")),wBe(t,l,Qn,`<<${e.type}>>`)},"drawRelationshipFromLayout"),EBe=s((t,e,r)=>{t.forEach((n,i)=>{i=bg(i),V.info("Added new requirement: ",i);let a=r.append("g").attr("id",i),o="req-"+i,l=oce(a,o),u=[],h=lce(a,i+"_title",[`<<${n.type}>>`,`${n.name}`]);u.push(h.titleNode);let f=cce(a,i+"_body",[`Id: ${n.id}`,`Text: ${n.text}`,`Risk: ${n.risk}`,`Verification: ${n.verifyMethod}`],h.y);u.push(f);let d=l.node().getBBox();e.setNode(i,{width:d.width,height:d.height,shape:"rect",id:i})})},"drawReqs"),CBe=s((t,e,r)=>{t.forEach((n,i)=>{let a=bg(i),o=r.append("g").attr("id",a),l="element-"+a,u=oce(o,l),h=[],f=lce(o,l+"_title",["<>",`${i}`]);h.push(f.titleNode);let d=cce(o,l+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],f.y);h.push(d);let p=u.node().getBBox();e.setNode(a,{width:p.width,height:p.height,shape:"rect",id:a})})},"drawElements"),SBe=s((t,e)=>(t.forEach(function(r){let n=bg(r.src),i=bg(r.dst);e.setEdge(n,i,{relationship:r})}),t),"addRelationships"),_Be=s(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&(t.select("#"+r),t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )"))})},"adjustEntities"),bg=s(t=>t.replace(/\s/g,"").replace(/\./g,"_"),"elementString"),ABe=s((t,e,r,n)=>{Qn=le().requirement;let i=Qn.securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let l=(i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body")).select(`[id='${e}']`);xN.insertLineEndings(l,Qn);let u=new ir({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Qn.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getRequirements(),f=n.db.getElements(),d=n.db.getRelationships();EBe(h,u,l),CBe(f,u,l),SBe(d,u),eo(u),_Be(l,u),d.forEach(function(v){TBe(l,v,u,e,n)});let p=Qn.rect_padding,m=l.node().getBBox(),g=m.width+p*2,y=m.height+p*2;xr(l,y,g,Qn.useMaxWidth),l.attr("viewBox",`${m.x-p} ${m.y-p} ${g} ${y}`)},"draw"),uce={draw:ABe}});var fce={};ur(fce,{diagram:()=>LBe});var LBe,dce=_(()=>{"use strict";ece();rce();ice();hce();LBe={parser:Jle,db:tce,renderer:uce,styles:nce}});var bN,gce,yce=_(()=>{"use strict";bN=function(){var t=s(function(H,Q,K,re){for(K=K||{},re=H.length;re--;K[H[re]]=Q);return K},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],k=[1,31],A=[1,32],w=[1,33],T=[1,34],C=[1,35],E=[1,36],S=[1,37],R=[1,38],D=[1,39],L=[1,41],P=[1,42],M=[1,43],F=[1,44],I=[1,45],O=[1,46],z=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],N=[4,5,16,50,52,53],U=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],W=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],ee=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],te=[68,69,70],ce=[1,122],Z={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:s(function(Q,K,re,ie,ye,j,De){var oe=j.length-1;switch(ye){case 3:return ie.apply(j[oe]),j[oe];break;case 4:case 9:this.$=[];break;case 5:case 10:j[oe-1].push(j[oe]),this.$=j[oe-1];break;case 6:case 7:case 11:case 12:this.$=j[oe];break;case 8:case 13:this.$=[];break;case 15:j[oe].type="createParticipant",this.$=j[oe];break;case 16:j[oe-1].unshift({type:"boxStart",boxData:ie.parseBoxData(j[oe-2])}),j[oe-1].push({type:"boxEnd",boxText:j[oe-2]}),this.$=j[oe-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(j[oe-2]),sequenceIndexStep:Number(j[oe-1]),sequenceVisible:!0,signalType:ie.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(j[oe-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:ie.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:ie.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:ie.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:ie.LINETYPE.ACTIVE_START,actor:j[oe-1].actor};break;case 23:this.$={type:"activeEnd",signalType:ie.LINETYPE.ACTIVE_END,actor:j[oe-1].actor};break;case 29:ie.setDiagramTitle(j[oe].substring(6)),this.$=j[oe].substring(6);break;case 30:ie.setDiagramTitle(j[oe].substring(7)),this.$=j[oe].substring(7);break;case 31:this.$=j[oe].trim(),ie.setAccTitle(this.$);break;case 32:case 33:this.$=j[oe].trim(),ie.setAccDescription(this.$);break;case 34:j[oe-1].unshift({type:"loopStart",loopText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.LOOP_START}),j[oe-1].push({type:"loopEnd",loopText:j[oe-2],signalType:ie.LINETYPE.LOOP_END}),this.$=j[oe-1];break;case 35:j[oe-1].unshift({type:"rectStart",color:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.RECT_START}),j[oe-1].push({type:"rectEnd",color:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.RECT_END}),this.$=j[oe-1];break;case 36:j[oe-1].unshift({type:"optStart",optText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.OPT_START}),j[oe-1].push({type:"optEnd",optText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.OPT_END}),this.$=j[oe-1];break;case 37:j[oe-1].unshift({type:"altStart",altText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.ALT_START}),j[oe-1].push({type:"altEnd",signalType:ie.LINETYPE.ALT_END}),this.$=j[oe-1];break;case 38:j[oe-1].unshift({type:"parStart",parText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.PAR_START}),j[oe-1].push({type:"parEnd",signalType:ie.LINETYPE.PAR_END}),this.$=j[oe-1];break;case 39:j[oe-1].unshift({type:"parStart",parText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.PAR_OVER_START}),j[oe-1].push({type:"parEnd",signalType:ie.LINETYPE.PAR_END}),this.$=j[oe-1];break;case 40:j[oe-1].unshift({type:"criticalStart",criticalText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.CRITICAL_START}),j[oe-1].push({type:"criticalEnd",signalType:ie.LINETYPE.CRITICAL_END}),this.$=j[oe-1];break;case 41:j[oe-1].unshift({type:"breakStart",breakText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.BREAK_START}),j[oe-1].push({type:"breakEnd",optText:ie.parseMessage(j[oe-2]),signalType:ie.LINETYPE.BREAK_END}),this.$=j[oe-1];break;case 43:this.$=j[oe-3].concat([{type:"option",optionText:ie.parseMessage(j[oe-1]),signalType:ie.LINETYPE.CRITICAL_OPTION},j[oe]]);break;case 45:this.$=j[oe-3].concat([{type:"and",parText:ie.parseMessage(j[oe-1]),signalType:ie.LINETYPE.PAR_AND},j[oe]]);break;case 47:this.$=j[oe-3].concat([{type:"else",altText:ie.parseMessage(j[oe-1]),signalType:ie.LINETYPE.ALT_ELSE},j[oe]]);break;case 48:j[oe-3].draw="participant",j[oe-3].type="addParticipant",j[oe-3].description=ie.parseMessage(j[oe-1]),this.$=j[oe-3];break;case 49:j[oe-1].draw="participant",j[oe-1].type="addParticipant",this.$=j[oe-1];break;case 50:j[oe-3].draw="actor",j[oe-3].type="addParticipant",j[oe-3].description=ie.parseMessage(j[oe-1]),this.$=j[oe-3];break;case 51:j[oe-1].draw="actor",j[oe-1].type="addParticipant",this.$=j[oe-1];break;case 52:j[oe-1].type="destroyParticipant",this.$=j[oe-1];break;case 53:this.$=[j[oe-1],{type:"addNote",placement:j[oe-2],actor:j[oe-1].actor,text:j[oe]}];break;case 54:j[oe-2]=[].concat(j[oe-1],j[oe-1]).slice(0,2),j[oe-2][0]=j[oe-2][0].actor,j[oe-2][1]=j[oe-2][1].actor,this.$=[j[oe-1],{type:"addNote",placement:ie.PLACEMENT.OVER,actor:j[oe-2].slice(0,2),text:j[oe]}];break;case 55:this.$=[j[oe-1],{type:"addLinks",actor:j[oe-1].actor,text:j[oe]}];break;case 56:this.$=[j[oe-1],{type:"addALink",actor:j[oe-1].actor,text:j[oe]}];break;case 57:this.$=[j[oe-1],{type:"addProperties",actor:j[oe-1].actor,text:j[oe]}];break;case 58:this.$=[j[oe-1],{type:"addDetails",actor:j[oe-1].actor,text:j[oe]}];break;case 61:this.$=[j[oe-2],j[oe]];break;case 62:this.$=j[oe];break;case 63:this.$=ie.PLACEMENT.LEFTOF;break;case 64:this.$=ie.PLACEMENT.RIGHTOF;break;case 65:this.$=[j[oe-4],j[oe-1],{type:"addMessage",from:j[oe-4].actor,to:j[oe-1].actor,signalType:j[oe-3],msg:j[oe],activate:!0},{type:"activeStart",signalType:ie.LINETYPE.ACTIVE_START,actor:j[oe-1].actor}];break;case 66:this.$=[j[oe-4],j[oe-1],{type:"addMessage",from:j[oe-4].actor,to:j[oe-1].actor,signalType:j[oe-3],msg:j[oe]},{type:"activeEnd",signalType:ie.LINETYPE.ACTIVE_END,actor:j[oe-4].actor}];break;case 67:this.$=[j[oe-3],j[oe-1],{type:"addMessage",from:j[oe-3].actor,to:j[oe-1].actor,signalType:j[oe-2],msg:j[oe]}];break;case 68:this.$={type:"addParticipant",actor:j[oe]};break;case 69:this.$=ie.LINETYPE.SOLID_OPEN;break;case 70:this.$=ie.LINETYPE.DOTTED_OPEN;break;case 71:this.$=ie.LINETYPE.SOLID;break;case 72:this.$=ie.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=ie.LINETYPE.DOTTED;break;case 74:this.$=ie.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=ie.LINETYPE.SOLID_CROSS;break;case 76:this.$=ie.LINETYPE.DOTTED_CROSS;break;case 77:this.$=ie.LINETYPE.SOLID_POINT;break;case 78:this.$=ie.LINETYPE.DOTTED_POINT;break;case 79:this.$=ie.parseMessage(j[oe].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},t(z,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},t(z,[2,7]),t(z,[2,8]),t(z,[2,14]),{12:48,50:S,52:R,53:D},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:O},{22:55,70:O},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(z,[2,29]),t(z,[2,30]),{32:[1,61]},{34:[1,62]},t(z,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:O},{22:72,70:O},{22:73,70:O},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:O},{22:90,70:O},{22:91,70:O},{22:92,70:O},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(z,[2,6]),t(z,[2,15]),t(N,[2,9],{10:93}),t(z,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(z,[2,21]),{5:[1,97]},{5:[1,98]},t(z,[2,24]),t(z,[2,25]),t(z,[2,26]),t(z,[2,27]),t(z,[2,28]),t(z,[2,31]),t(z,[2,32]),t(U,i,{7:99}),t(U,i,{7:100}),t(U,i,{7:101}),t($,i,{40:102,7:103}),t(W,i,{42:104,7:105}),t(W,i,{7:105,42:106}),t(ee,i,{45:107,7:108}),t(U,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:O},t(te,[2,69]),t(te,[2,70]),t(te,[2,71]),t(te,[2,72]),t(te,[2,73]),t(te,[2,74]),t(te,[2,75]),t(te,[2,76]),t(te,[2,77]),t(te,[2,78]),{22:118,70:O},{22:120,58:119,70:O},{70:[2,63]},{70:[2,64]},{56:121,81:ce},{56:123,81:ce},{56:124,81:ce},{56:125,81:ce},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:S,52:R,53:D},{5:[1,131]},t(z,[2,19]),t(z,[2,20]),t(z,[2,22]),t(z,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,132],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,133],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,134],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,49:[1,136],50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{16:[1,137]},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,48:[1,138],50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{16:[1,139]},{16:[1,140]},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,47:[1,141],50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{4:a,5:o,8:8,9:10,12:12,13:l,14:u,16:[1,142],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:k,39:A,41:w,43:T,44:C,46:E,50:S,52:R,53:D,54:L,59:P,60:M,61:F,62:I,70:O},{15:[1,143]},t(z,[2,49]),{15:[1,144]},t(z,[2,51]),t(z,[2,52]),{22:145,70:O},{22:146,70:O},{56:147,81:ce},{56:148,81:ce},{56:149,81:ce},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(z,[2,16]),t(N,[2,10]),{12:151,50:S,52:R,53:D},t(N,[2,12]),t(N,[2,13]),t(z,[2,18]),t(z,[2,34]),t(z,[2,35]),t(z,[2,36]),t(z,[2,37]),{15:[1,152]},t(z,[2,38]),{15:[1,153]},t(z,[2,39]),t(z,[2,40]),{15:[1,154]},t(z,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:ce},{56:158,81:ce},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:O},t(N,[2,11]),t($,i,{7:103,40:160}),t(W,i,{7:105,42:161}),t(ee,i,{7:108,45:162}),t(z,[2,48]),t(z,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:s(function(Q,K){if(K.recoverable)this.trace(Q);else{var re=new Error(Q);throw re.hash=K,re}},"parseError"),parse:s(function(Q){var K=this,re=[0],ie=[],ye=[null],j=[],De=this.table,oe="",Re=0,Pe=0,Se=0,Ue=2,Oe=1,_e=j.slice.call(arguments,1),he=Object.create(this.lexer),q={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(q.yy[se]=this.yy[se]);he.setInput(Q,q.yy),q.yy.lexer=he,q.yy.parser=this,typeof he.yylloc>"u"&&(he.yylloc={});var ue=he.yylloc;j.push(ue);var X=he.options&&he.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ae(Ut){re.length=re.length-2*Ut,ye.length=ye.length-Ut,j.length=j.length-Ut}s(ae,"popStack");function pe(){var Ut;return Ut=ie.pop()||he.lex()||Oe,typeof Ut!="number"&&(Ut instanceof Array&&(ie=Ut,Ut=ie.pop()),Ut=K.symbols_[Ut]||Ut),Ut}s(pe,"lex");for(var de,Ie,Ne,Be,ze,qe,Fe={},we,Je,We,or;;){if(Ne=re[re.length-1],this.defaultActions[Ne]?Be=this.defaultActions[Ne]:((de===null||typeof de>"u")&&(de=pe()),Be=De[Ne]&&De[Ne][de]),typeof Be>"u"||!Be.length||!Be[0]){var Cr="";or=[];for(we in De[Ne])this.terminals_[we]&&we>Ue&&or.push("'"+this.terminals_[we]+"'");he.showPosition?Cr="Parse error on line "+(Re+1)+`: -`+he.showPosition()+` -Expecting `+or.join(", ")+", got '"+(this.terminals_[de]||de)+"'":Cr="Parse error on line "+(Re+1)+": Unexpected "+(de==Oe?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(Cr,{text:he.match,token:this.terminals_[de]||de,line:he.yylineno,loc:ue,expected:or})}if(Be[0]instanceof Array&&Be.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ne+", token: "+de);switch(Be[0]){case 1:re.push(de),ye.push(he.yytext),j.push(he.yylloc),re.push(Be[1]),de=null,Ie?(de=Ie,Ie=null):(Pe=he.yyleng,oe=he.yytext,Re=he.yylineno,ue=he.yylloc,Se>0&&Se--);break;case 2:if(Je=this.productions_[Be[1]][1],Fe.$=ye[ye.length-Je],Fe._$={first_line:j[j.length-(Je||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Je||1)].first_column,last_column:j[j.length-1].last_column},X&&(Fe._$.range=[j[j.length-(Je||1)].range[0],j[j.length-1].range[1]]),qe=this.performAction.apply(Fe,[oe,Pe,Re,q.yy,Be[1],ye,j].concat(_e)),typeof qe<"u")return qe;Je&&(re=re.slice(0,-1*Je*2),ye=ye.slice(0,-1*Je),j=j.slice(0,-1*Je)),re.push(this.productions_[Be[1]][0]),ye.push(Fe.$),j.push(Fe._$),We=De[re[re.length-2]][re[re.length-1]],re.push(We);break;case 3:return!0}}return!0},"parse")},fe=function(){var H={EOF:1,parseError:s(function(K,re){if(this.yy.parser)this.yy.parser.parseError(K,re);else throw new Error(K)},"parseError"),setInput:s(function(Q,K){return this.yy=K||this.yy||{},this._input=Q,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Q=this._input[0];this.yytext+=Q,this.yyleng++,this.offset++,this.match+=Q,this.matched+=Q;var K=Q.match(/(?:\r\n?|\n).*/g);return K?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Q},"input"),unput:s(function(Q){var K=Q.length,re=Q.split(/(?:\r\n?|\n)/g);this._input=Q+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-K),this.offset-=K;var ie=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),re.length-1&&(this.yylineno-=re.length-1);var ye=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:re?(re.length===ie.length?this.yylloc.first_column:0)+ie[ie.length-re.length].length-re[0].length:this.yylloc.first_column-K},this.options.ranges&&(this.yylloc.range=[ye[0],ye[0]+this.yyleng-K]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Q){this.unput(this.match.slice(Q))},"less"),pastInput:s(function(){var Q=this.matched.substr(0,this.matched.length-this.match.length);return(Q.length>20?"...":"")+Q.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Q=this.match;return Q.length<20&&(Q+=this._input.substr(0,20-Q.length)),(Q.substr(0,20)+(Q.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Q=this.pastInput(),K=new Array(Q.length+1).join("-");return Q+this.upcomingInput()+` -`+K+"^"},"showPosition"),test_match:s(function(Q,K){var re,ie,ye;if(this.options.backtrack_lexer&&(ye={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ye.yylloc.range=this.yylloc.range.slice(0))),ie=Q[0].match(/(?:\r\n?|\n).*/g),ie&&(this.yylineno+=ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ie?ie[ie.length-1].length-ie[ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Q[0].length},this.yytext+=Q[0],this.match+=Q[0],this.matches=Q,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Q[0].length),this.matched+=Q[0],re=this.performAction.call(this,this.yy,this,K,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),re)return re;if(this._backtrack){for(var j in ye)this[j]=ye[j];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Q,K,re,ie;this._more||(this.yytext="",this.match="");for(var ye=this._currentRules(),j=0;jK[0].length)){if(K=re,ie=j,this.options.backtrack_lexer){if(Q=this.test_match(re,ye[j]),Q!==!1)return Q;if(this._backtrack){K=!1;continue}else return!1}else if(!this.options.flex)break}return K?(Q=this.test_match(K,ye[ie]),Q!==!1?Q:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var K=this.next();return K||this.lex()},"lex"),begin:s(function(K){this.conditionStack.push(K)},"begin"),popState:s(function(){var K=this.conditionStack.length-1;return K>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(K){return K=this.conditionStack.length-1-Math.abs(K||0),K>=0?this.conditionStack[K]:"INITIAL"},"topState"),pushState:s(function(K){this.begin(K)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(K,re,ie,ye){var j=ye;switch(ie){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;break;case 8:return this.begin("ID"),50;break;case 9:return this.begin("ID"),52;break;case 10:return 13;case 11:return this.begin("ID"),53;break;case 12:return re.yytext=re.yytext.trim(),this.begin("ALIAS"),70;break;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 14:return this.popState(),this.popState(),5;break;case 15:return this.begin("LINE"),36;break;case 16:return this.begin("LINE"),37;break;case 17:return this.begin("LINE"),38;break;case 18:return this.begin("LINE"),39;break;case 19:return this.begin("LINE"),49;break;case 20:return this.begin("LINE"),41;break;case 21:return this.begin("LINE"),43;break;case 22:return this.begin("LINE"),48;break;case 23:return this.begin("LINE"),44;break;case 24:return this.begin("LINE"),47;break;case 25:return this.begin("LINE"),46;break;case 26:return this.popState(),15;break;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;break;case 37:return this.begin("ID"),23;break;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;break;case 41:return this.popState(),"acc_title_value";break;case 42:return this.begin("acc_descr"),33;break;case 43:return this.popState(),"acc_descr_value";break;case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return re.yytext=re.yytext.trim(),70;break;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 66:return 5;case 67:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};return H}();Z.lexer=fe;function ne(){this.yy={}}return s(ne,"Parser"),ne.prototype=Z,Z.Parser=ne,new ne}();bN.parser=bN;gce=bN});function wN(t,e){if(t.links==null)t.links=e;else for(let r in e)t.links[r]=e[r]}function wce(t,e){if(t.properties==null)t.properties=e;else for(let r in e)t.properties[r]=e[r]}function eFe(){wt.records.currentBox=void 0}var wt,IBe,kN,NBe,OBe,oi,PBe,BBe,FBe,zBe,$Be,GBe,VBe,tx,UBe,qBe,WBe,HBe,YBe,vce,g0,XBe,jBe,KBe,ex,QBe,ZBe,xce,bce,JBe,kce,Tce,tFe,Ece,TN,Cce=_(()=>{"use strict";gt();it();RI();Qt();Ci();wt=new pg(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),IBe=s(function(t){wt.records.boxes.push({name:t.text,wrap:t.wrap??g0(),fill:t.color,actorKeys:[]}),wt.records.currentBox=wt.records.boxes.slice(-1)[0]},"addBox"),kN=s(function(t,e,r,n){let i=wt.records.currentBox,a=wt.records.actors.get(t);if(a){if(wt.records.currentBox&&a.box&&wt.records.currentBox!==a.box)throw new Error(`A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${wt.records.currentBox.name}' at the same time.`);if(i=a.box?a.box:wt.records.currentBox,a.box=i,a&&e===a.name&&r==null)return}if(r?.text==null&&(r={text:e,type:n}),(n==null||r.text==null)&&(r={text:e,type:n}),wt.records.actors.set(t,{box:i,name:e,description:r.text,wrap:r.wrap??g0(),prevActor:wt.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:n??"participant"}),wt.records.prevActor){let o=wt.records.actors.get(wt.records.prevActor);o&&(o.nextActor=t)}wt.records.currentBox&&wt.records.currentBox.actorKeys.push(t),wt.records.prevActor=t},"addActor"),NBe=s(t=>{let e,r=0;if(!t)return 0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},o}return wt.records.messages.push({from:t,to:e,message:r?.text??"",wrap:r?.wrap??g0(),type:n,activate:i}),!0},"addSignal"),PBe=s(function(){return wt.records.boxes.length>0},"hasAtLeastOneBox"),BBe=s(function(){return wt.records.boxes.some(t=>t.name)},"hasAtLeastOneBoxWithTitle"),FBe=s(function(){return wt.records.messages},"getMessages"),zBe=s(function(){return wt.records.boxes},"getBoxes"),$Be=s(function(){return wt.records.actors},"getActors"),GBe=s(function(){return wt.records.createdActors},"getCreatedActors"),VBe=s(function(){return wt.records.destroyedActors},"getDestroyedActors"),tx=s(function(t){return wt.records.actors.get(t)},"getActor"),UBe=s(function(){return[...wt.records.actors.keys()]},"getActorKeys"),qBe=s(function(){wt.records.sequenceNumbersEnabled=!0},"enableSequenceNumbers"),WBe=s(function(){wt.records.sequenceNumbersEnabled=!1},"disableSequenceNumbers"),HBe=s(()=>wt.records.sequenceNumbersEnabled,"showSequenceNumbers"),YBe=s(function(t){wt.records.wrapEnabled=t},"setWrap"),vce=s(t=>{if(t===void 0)return{};t=t.trim();let e=/^:?wrap:/.exec(t)!==null?!0:/^:?nowrap:/.exec(t)!==null?!1:void 0;return{cleanedText:(e===void 0?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}},"extractWrap"),g0=s(()=>wt.records.wrapEnabled!==void 0?wt.records.wrapEnabled:le().sequence?.wrap??!1,"autoWrap"),XBe=s(function(){wt.reset(),br()},"clear"),jBe=s(function(t){let e=t.trim(),{wrap:r,cleanedText:n}=vce(e),i={text:n,wrap:r};return V.debug(`parseMessage: ${JSON.stringify(i)}`),i},"parseMessage"),KBe=s(function(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),r=e?.[1]?e[1].trim():"transparent",n=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",r)||(r="transparent",n=t.trim());else{let o=new Option().style;o.color=r,o.color!==r&&(r="transparent",n=t.trim())}let{wrap:i,cleanedText:a}=vce(n);return{text:a?$r(a,le()):void 0,color:r,wrap:i}},"parseBoxData"),ex={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},QBe={FILLED:0,OPEN:1},ZBe={LEFTOF:0,RIGHTOF:1,OVER:2},xce=s(function(t,e,r){let n={actor:t,placement:e,message:r.text,wrap:r.wrap??g0()},i=[].concat(t,t);wt.records.notes.push(n),wt.records.messages.push({from:i[0],to:i[1],message:r.text,wrap:r.wrap??g0(),type:ex.NOTE,placement:e})},"addNote"),bce=s(function(t,e){let r=tx(t);try{let n=$r(e.text,le());n=n.replace(/&/g,"&"),n=n.replace(/=/g,"=");let i=JSON.parse(n);wN(r,i)}catch(n){V.error("error while parsing actor link text",n)}},"addLinks"),JBe=s(function(t,e){let r=tx(t);try{let n={},i=$r(e.text,le()),a=i.indexOf("@");i=i.replace(/&/g,"&"),i=i.replace(/=/g,"=");let o=i.slice(0,a-1).trim(),l=i.slice(a+1).trim();n[o]=l,wN(r,n)}catch(n){V.error("error while parsing actor link text",n)}},"addALink");s(wN,"insertLinks");kce=s(function(t,e){let r=tx(t);try{let n=$r(e.text,le()),i=JSON.parse(n);wce(r,i)}catch(n){V.error("error while parsing actor properties text",n)}},"addProperties");s(wce,"insertProperties");s(eFe,"boxEnd");Tce=s(function(t,e){let r=tx(t),n=document.getElementById(e.text);try{let i=n.innerHTML,a=JSON.parse(i);a.properties&&wce(r,a.properties),a.links&&wN(r,a.links)}catch(i){V.error("error while parsing actor details text",i)}},"addDetails"),tFe=s(function(t,e){if(t?.properties!==void 0)return t.properties[e]},"getActorProperty"),Ece=s(function(t){if(Array.isArray(t))t.forEach(function(e){Ece(e)});else switch(t.type){case"sequenceIndex":wt.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":kN(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(wt.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");wt.records.lastCreated=t.actor,kN(t.actor,t.actor,t.description,t.draw),wt.records.createdActors.set(t.actor,wt.records.messages.length);break;case"destroyParticipant":wt.records.lastDestroyed=t.actor,wt.records.destroyedActors.set(t.actor,wt.records.messages.length);break;case"activeStart":oi(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":oi(t.actor,void 0,void 0,t.signalType);break;case"addNote":xce(t.actor,t.placement,t.text);break;case"addLinks":bce(t.actor,t.text);break;case"addALink":JBe(t.actor,t.text);break;case"addProperties":kce(t.actor,t.text);break;case"addDetails":Tce(t.actor,t.text);break;case"addMessage":if(wt.records.lastCreated){if(t.to!==wt.records.lastCreated)throw new Error("The created participant "+wt.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");wt.records.lastCreated=void 0}else if(wt.records.lastDestroyed){if(t.to!==wt.records.lastDestroyed&&t.from!==wt.records.lastDestroyed)throw new Error("The destroyed participant "+wt.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");wt.records.lastDestroyed=void 0}oi(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":IBe(t.boxData);break;case"boxEnd":eFe();break;case"loopStart":oi(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":oi(void 0,void 0,void 0,t.signalType);break;case"rectStart":oi(void 0,void 0,t.color,t.signalType);break;case"rectEnd":oi(void 0,void 0,void 0,t.signalType);break;case"optStart":oi(void 0,void 0,t.optText,t.signalType);break;case"optEnd":oi(void 0,void 0,void 0,t.signalType);break;case"altStart":oi(void 0,void 0,t.altText,t.signalType);break;case"else":oi(void 0,void 0,t.altText,t.signalType);break;case"altEnd":oi(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":Ar(t.text);break;case"parStart":oi(void 0,void 0,t.parText,t.signalType);break;case"and":oi(void 0,void 0,t.parText,t.signalType);break;case"parEnd":oi(void 0,void 0,void 0,t.signalType);break;case"criticalStart":oi(void 0,void 0,t.criticalText,t.signalType);break;case"option":oi(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":oi(void 0,void 0,void 0,t.signalType);break;case"breakStart":oi(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":oi(void 0,void 0,void 0,t.signalType);break}},"apply"),TN={addActor:kN,addMessage:OBe,addSignal:oi,addLinks:bce,addDetails:Tce,addProperties:kce,autoWrap:g0,setWrap:YBe,enableSequenceNumbers:qBe,disableSequenceNumbers:WBe,showSequenceNumbers:HBe,getMessages:FBe,getActors:$Be,getCreatedActors:GBe,getDestroyedActors:VBe,getActor:tx,getActorKeys:UBe,getActorProperty:tFe,getAccTitle:Gr,getBoxes:zBe,getDiagramTitle:Qr,setDiagramTitle:an,getConfig:s(()=>le().sequence,"getConfig"),clear:XBe,parseMessage:jBe,parseBoxData:KBe,LINETYPE:ex,ARROWTYPE:QBe,PLACEMENT:ZBe,addNote:xce,setAccTitle:Ar,apply:Ece,setAccDescription:Vr,getAccDescription:Ur,hasAtLeastOneBox:PBe,hasAtLeastOneBoxWithTitle:BBe}});var rFe,Sce,_ce=_(()=>{"use strict";rFe=s(t=>`.actor { + L0,${e.line_height}`).attr("stroke-width",1)},"insertLineEndings"),uO={ReqMarkers:cO,insertLineEndings:qze}});var ai,Pue,Bue,Fue,zue,Xze,jze,Kze,Qze,Zze,Jze,Og,e$e,$ue,Gue=R(()=>{"use strict";Zt();Vd();ya();_t();ut();Yn();rr();Oue();ai={},Pue=0,Bue=o((t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",ai.rect_min_width+"px").attr("height",ai.rect_min_height+"px"),"newRectNode"),Fue=o((t,e,r)=>{let n=ai.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",n).attr("y",ai.rect_padding).attr("dominant-baseline","hanging"),a=0;r.forEach(h=>{a==0?i.append("tspan").attr("text-anchor","middle").attr("x",ai.rect_min_width/2).attr("dy",0).text(h):i.append("tspan").attr("text-anchor","middle").attr("x",ai.rect_min_width/2).attr("dy",ai.line_height*.75).text(h),a++});let s=1.5*ai.rect_padding,l=a*ai.line_height*.75,u=s+l;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",ai.rect_min_width).attr("y1",u).attr("y2",u),{titleNode:i,y:u}},"newTitleNode"),zue=o((t,e,r,n)=>{let i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",ai.rect_padding).attr("y",n).attr("dominant-baseline","hanging"),a=0,s=30,l=[];return r.forEach(u=>{let h=u.length;for(;h>s&&a<3;){let f=u.substring(0,s);u=u.substring(s,u.length),h=u.length,l[l.length]=f,a++}if(a==3){let f=l[l.length-1];l[l.length-1]=f.substring(0,f.length-4)+"..."}else l[l.length]=u;a=0}),l.forEach(u=>{i.append("tspan").attr("x",ai.rect_padding).attr("dy",ai.line_height).text(u)}),i},"newBodyNode"),Xze=o((t,e,r,n)=>{let i=e.node().getTotalLength(),a=e.node().getPointAtLength(i*.5),s="rel"+Pue;Pue++;let u=t.append("text").attr("class","req relationshipLabel").attr("id",s).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n).node().getBBox();t.insert("rect","#"+s).attr("class","req reqLabelBox").attr("x",a.x-u.width/2).attr("y",a.y-u.height/2).attr("width",u.width).attr("height",u.height).attr("fill","white").attr("fill-opacity","85%")},"addEdgeLabel"),jze=o(function(t,e,r,n,i){let a=r.edge(Og(e.src),Og(e.dst)),s=ha().x(function(u){return u.x}).y(function(u){return u.y}),l=t.insert("path","#"+n).attr("class","er relationshipLine").attr("d",s(a.points)).attr("fill","none");e.type==i.db.Relationships.CONTAINS?l.attr("marker-start","url("+We.getUrl(ai.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(l.attr("stroke-dasharray","10,7"),l.attr("marker-end","url("+We.getUrl(ai.arrowMarkerAbsolute)+"#"+uO.ReqMarkers.ARROW+"_line_ending)")),Xze(t,l,ai,`<<${e.type}>>`)},"drawRelationshipFromLayout"),Kze=o((t,e,r)=>{t.forEach((n,i)=>{i=Og(i),V.info("Added new requirement: ",i);let a=r.append("g").attr("id",i),s="req-"+i,l=Bue(a,s),u=[],h=Fue(a,i+"_title",[`<<${n.type}>>`,`${n.name}`]);u.push(h.titleNode);let f=zue(a,i+"_body",[`Id: ${n.id}`,`Text: ${n.text}`,`Risk: ${n.risk}`,`Verification: ${n.verifyMethod}`],h.y);u.push(f);let d=l.node().getBBox();e.setNode(i,{width:d.width,height:d.height,shape:"rect",id:i})})},"drawReqs"),Qze=o((t,e,r)=>{t.forEach((n,i)=>{let a=Og(i),s=r.append("g").attr("id",a),l="element-"+a,u=Bue(s,l),h=[],f=Fue(s,l+"_title",["<>",`${i}`]);h.push(f.titleNode);let d=zue(s,l+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],f.y);h.push(d);let p=u.node().getBBox();e.setNode(a,{width:p.width,height:p.height,shape:"rect",id:a})})},"drawElements"),Zze=o((t,e)=>(t.forEach(function(r){let n=Og(r.src),i=Og(r.dst);e.setEdge(n,i,{relationship:r})}),t),"addRelationships"),Jze=o(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&(t.select("#"+r),t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )"))})},"adjustEntities"),Og=o(t=>t.replace(/\s/g,"").replace(/\./g,"_"),"elementString"),e$e=o((t,e,r,n)=>{ai=de().requirement;let i=ai.securityLevel,a;i==="sandbox"&&(a=Ge("#i"+e));let l=(i==="sandbox"?Ge(a.nodes()[0].contentDocument.body):Ge("body")).select(`[id='${e}']`);uO.insertLineEndings(l,ai);let u=new lr({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:ai.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getRequirements(),f=n.db.getElements(),d=n.db.getRelationships();Kze(h,u,l),Qze(f,u,l),Zze(d,u),lo(u),Jze(l,u),d.forEach(function(v){jze(l,v,u,e,n)});let p=ai.rect_padding,m=l.node().getBBox(),g=m.width+p*2,y=m.height+p*2;Sr(l,y,g,ai.useMaxWidth),l.attr("viewBox",`${m.x-p} ${m.y-p} ${g} ${y}`)},"draw"),$ue={draw:e$e}});var Vue={};hr(Vue,{diagram:()=>t$e});var t$e,Uue=R(()=>{"use strict";Due();Nue();Iue();Gue();t$e={parser:Lue,db:Rue,renderer:$ue,styles:Mue}});var hO,Wue,que=R(()=>{"use strict";hO=function(){var t=o(function(H,q,K,se){for(K=K||{},se=H.length;se--;K[H[se]]=q);return K},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],w=[1,31],S=[1,32],T=[1,33],E=[1,34],_=[1,35],A=[1,36],L=[1,37],M=[1,38],N=[1,39],k=[1,41],I=[1,42],C=[1,43],O=[1,44],D=[1,45],P=[1,46],F=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],B=[4,5,16,50,52,53],G=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Y=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Q=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],X=[68,69,70],ie=[1,122],j={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:o(function(q,K,se,ce,ue,te,De){var oe=te.length-1;switch(ue){case 3:return ce.apply(te[oe]),te[oe];break;case 4:case 9:this.$=[];break;case 5:case 10:te[oe-1].push(te[oe]),this.$=te[oe-1];break;case 6:case 7:case 11:case 12:this.$=te[oe];break;case 8:case 13:this.$=[];break;case 15:te[oe].type="createParticipant",this.$=te[oe];break;case 16:te[oe-1].unshift({type:"boxStart",boxData:ce.parseBoxData(te[oe-2])}),te[oe-1].push({type:"boxEnd",boxText:te[oe-2]}),this.$=te[oe-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(te[oe-2]),sequenceIndexStep:Number(te[oe-1]),sequenceVisible:!0,signalType:ce.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(te[oe-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:ce.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:ce.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:ce.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:ce.LINETYPE.ACTIVE_START,actor:te[oe-1].actor};break;case 23:this.$={type:"activeEnd",signalType:ce.LINETYPE.ACTIVE_END,actor:te[oe-1].actor};break;case 29:ce.setDiagramTitle(te[oe].substring(6)),this.$=te[oe].substring(6);break;case 30:ce.setDiagramTitle(te[oe].substring(7)),this.$=te[oe].substring(7);break;case 31:this.$=te[oe].trim(),ce.setAccTitle(this.$);break;case 32:case 33:this.$=te[oe].trim(),ce.setAccDescription(this.$);break;case 34:te[oe-1].unshift({type:"loopStart",loopText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.LOOP_START}),te[oe-1].push({type:"loopEnd",loopText:te[oe-2],signalType:ce.LINETYPE.LOOP_END}),this.$=te[oe-1];break;case 35:te[oe-1].unshift({type:"rectStart",color:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.RECT_START}),te[oe-1].push({type:"rectEnd",color:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.RECT_END}),this.$=te[oe-1];break;case 36:te[oe-1].unshift({type:"optStart",optText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.OPT_START}),te[oe-1].push({type:"optEnd",optText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.OPT_END}),this.$=te[oe-1];break;case 37:te[oe-1].unshift({type:"altStart",altText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.ALT_START}),te[oe-1].push({type:"altEnd",signalType:ce.LINETYPE.ALT_END}),this.$=te[oe-1];break;case 38:te[oe-1].unshift({type:"parStart",parText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.PAR_START}),te[oe-1].push({type:"parEnd",signalType:ce.LINETYPE.PAR_END}),this.$=te[oe-1];break;case 39:te[oe-1].unshift({type:"parStart",parText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.PAR_OVER_START}),te[oe-1].push({type:"parEnd",signalType:ce.LINETYPE.PAR_END}),this.$=te[oe-1];break;case 40:te[oe-1].unshift({type:"criticalStart",criticalText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.CRITICAL_START}),te[oe-1].push({type:"criticalEnd",signalType:ce.LINETYPE.CRITICAL_END}),this.$=te[oe-1];break;case 41:te[oe-1].unshift({type:"breakStart",breakText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.BREAK_START}),te[oe-1].push({type:"breakEnd",optText:ce.parseMessage(te[oe-2]),signalType:ce.LINETYPE.BREAK_END}),this.$=te[oe-1];break;case 43:this.$=te[oe-3].concat([{type:"option",optionText:ce.parseMessage(te[oe-1]),signalType:ce.LINETYPE.CRITICAL_OPTION},te[oe]]);break;case 45:this.$=te[oe-3].concat([{type:"and",parText:ce.parseMessage(te[oe-1]),signalType:ce.LINETYPE.PAR_AND},te[oe]]);break;case 47:this.$=te[oe-3].concat([{type:"else",altText:ce.parseMessage(te[oe-1]),signalType:ce.LINETYPE.ALT_ELSE},te[oe]]);break;case 48:te[oe-3].draw="participant",te[oe-3].type="addParticipant",te[oe-3].description=ce.parseMessage(te[oe-1]),this.$=te[oe-3];break;case 49:te[oe-1].draw="participant",te[oe-1].type="addParticipant",this.$=te[oe-1];break;case 50:te[oe-3].draw="actor",te[oe-3].type="addParticipant",te[oe-3].description=ce.parseMessage(te[oe-1]),this.$=te[oe-3];break;case 51:te[oe-1].draw="actor",te[oe-1].type="addParticipant",this.$=te[oe-1];break;case 52:te[oe-1].type="destroyParticipant",this.$=te[oe-1];break;case 53:this.$=[te[oe-1],{type:"addNote",placement:te[oe-2],actor:te[oe-1].actor,text:te[oe]}];break;case 54:te[oe-2]=[].concat(te[oe-1],te[oe-1]).slice(0,2),te[oe-2][0]=te[oe-2][0].actor,te[oe-2][1]=te[oe-2][1].actor,this.$=[te[oe-1],{type:"addNote",placement:ce.PLACEMENT.OVER,actor:te[oe-2].slice(0,2),text:te[oe]}];break;case 55:this.$=[te[oe-1],{type:"addLinks",actor:te[oe-1].actor,text:te[oe]}];break;case 56:this.$=[te[oe-1],{type:"addALink",actor:te[oe-1].actor,text:te[oe]}];break;case 57:this.$=[te[oe-1],{type:"addProperties",actor:te[oe-1].actor,text:te[oe]}];break;case 58:this.$=[te[oe-1],{type:"addDetails",actor:te[oe-1].actor,text:te[oe]}];break;case 61:this.$=[te[oe-2],te[oe]];break;case 62:this.$=te[oe];break;case 63:this.$=ce.PLACEMENT.LEFTOF;break;case 64:this.$=ce.PLACEMENT.RIGHTOF;break;case 65:this.$=[te[oe-4],te[oe-1],{type:"addMessage",from:te[oe-4].actor,to:te[oe-1].actor,signalType:te[oe-3],msg:te[oe],activate:!0},{type:"activeStart",signalType:ce.LINETYPE.ACTIVE_START,actor:te[oe-1].actor}];break;case 66:this.$=[te[oe-4],te[oe-1],{type:"addMessage",from:te[oe-4].actor,to:te[oe-1].actor,signalType:te[oe-3],msg:te[oe]},{type:"activeEnd",signalType:ce.LINETYPE.ACTIVE_END,actor:te[oe-4].actor}];break;case 67:this.$=[te[oe-3],te[oe-1],{type:"addMessage",from:te[oe-3].actor,to:te[oe-1].actor,signalType:te[oe-2],msg:te[oe]}];break;case 68:this.$={type:"addParticipant",actor:te[oe]};break;case 69:this.$=ce.LINETYPE.SOLID_OPEN;break;case 70:this.$=ce.LINETYPE.DOTTED_OPEN;break;case 71:this.$=ce.LINETYPE.SOLID;break;case 72:this.$=ce.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=ce.LINETYPE.DOTTED;break;case 74:this.$=ce.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=ce.LINETYPE.SOLID_CROSS;break;case 76:this.$=ce.LINETYPE.DOTTED_CROSS;break;case 77:this.$=ce.LINETYPE.SOLID_POINT;break;case 78:this.$=ce.LINETYPE.DOTTED_POINT;break;case 79:this.$=ce.parseMessage(te[oe].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},t(F,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},t(F,[2,7]),t(F,[2,8]),t(F,[2,14]),{12:48,50:L,52:M,53:N},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:P},{22:55,70:P},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(F,[2,29]),t(F,[2,30]),{32:[1,61]},{34:[1,62]},t(F,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:P},{22:72,70:P},{22:73,70:P},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:P},{22:90,70:P},{22:91,70:P},{22:92,70:P},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(F,[2,6]),t(F,[2,15]),t(B,[2,9],{10:93}),t(F,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(F,[2,21]),{5:[1,97]},{5:[1,98]},t(F,[2,24]),t(F,[2,25]),t(F,[2,26]),t(F,[2,27]),t(F,[2,28]),t(F,[2,31]),t(F,[2,32]),t(G,i,{7:99}),t(G,i,{7:100}),t(G,i,{7:101}),t(z,i,{40:102,7:103}),t(Y,i,{42:104,7:105}),t(Y,i,{7:105,42:106}),t(Q,i,{45:107,7:108}),t(G,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:P},t(X,[2,69]),t(X,[2,70]),t(X,[2,71]),t(X,[2,72]),t(X,[2,73]),t(X,[2,74]),t(X,[2,75]),t(X,[2,76]),t(X,[2,77]),t(X,[2,78]),{22:118,70:P},{22:120,58:119,70:P},{70:[2,63]},{70:[2,64]},{56:121,81:ie},{56:123,81:ie},{56:124,81:ie},{56:125,81:ie},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:L,52:M,53:N},{5:[1,131]},t(F,[2,19]),t(F,[2,20]),t(F,[2,22]),t(F,[2,23]),{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,132],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,133],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,134],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},{16:[1,135]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,49:[1,136],50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},{16:[1,137]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,48:[1,138],50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},{16:[1,139]},{16:[1,140]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,47:[1,141],50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,142],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:S,41:T,43:E,44:_,46:A,50:L,52:M,53:N,54:k,59:I,60:C,61:O,62:D,70:P},{15:[1,143]},t(F,[2,49]),{15:[1,144]},t(F,[2,51]),t(F,[2,52]),{22:145,70:P},{22:146,70:P},{56:147,81:ie},{56:148,81:ie},{56:149,81:ie},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(F,[2,16]),t(B,[2,10]),{12:151,50:L,52:M,53:N},t(B,[2,12]),t(B,[2,13]),t(F,[2,18]),t(F,[2,34]),t(F,[2,35]),t(F,[2,36]),t(F,[2,37]),{15:[1,152]},t(F,[2,38]),{15:[1,153]},t(F,[2,39]),t(F,[2,40]),{15:[1,154]},t(F,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:ie},{56:158,81:ie},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:P},t(B,[2,11]),t(z,i,{7:103,40:160}),t(Y,i,{7:105,42:161}),t(Q,i,{7:108,45:162}),t(F,[2,48]),t(F,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:o(function(q,K){if(K.recoverable)this.trace(q);else{var se=new Error(q);throw se.hash=K,se}},"parseError"),parse:o(function(q){var K=this,se=[0],ce=[],ue=[null],te=[],De=this.table,oe="",ke=0,Ie=0,Se=0,Ue=2,Pe=1,_e=te.slice.call(arguments,1),me=Object.create(this.lexer),W={yy:{}};for(var fe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,fe)&&(W.yy[fe]=this.yy[fe]);me.setInput(q,W.yy),W.yy.lexer=me,W.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var ge=me.yylloc;te.push(ge);var re=me.options&&me.options.ranges;typeof W.yy.parseError=="function"?this.parseError=W.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(yt){se.length=se.length-2*yt,ue.length=ue.length-yt,te.length=te.length-yt}o(he,"popStack");function ne(){var yt;return yt=ce.pop()||me.lex()||Pe,typeof yt!="number"&&(yt instanceof Array&&(ce=yt,yt=ce.pop()),yt=K.symbols_[yt]||yt),yt}o(ne,"lex");for(var ae,we,Te,Ce,Ae,$e,Me={},ye,He,ze,Ze;;){if(Te=se[se.length-1],this.defaultActions[Te]?Ce=this.defaultActions[Te]:((ae===null||typeof ae>"u")&&(ae=ne()),Ce=De[Te]&&De[Te][ae]),typeof Ce>"u"||!Ce.length||!Ce[0]){var gt="";Ze=[];for(ye in De[Te])this.terminals_[ye]&&ye>Ue&&Ze.push("'"+this.terminals_[ye]+"'");me.showPosition?gt="Parse error on line "+(ke+1)+`: +`+me.showPosition()+` +Expecting `+Ze.join(", ")+", got '"+(this.terminals_[ae]||ae)+"'":gt="Parse error on line "+(ke+1)+": Unexpected "+(ae==Pe?"end of input":"'"+(this.terminals_[ae]||ae)+"'"),this.parseError(gt,{text:me.match,token:this.terminals_[ae]||ae,line:me.yylineno,loc:ge,expected:Ze})}if(Ce[0]instanceof Array&&Ce.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Te+", token: "+ae);switch(Ce[0]){case 1:se.push(ae),ue.push(me.yytext),te.push(me.yylloc),se.push(Ce[1]),ae=null,we?(ae=we,we=null):(Ie=me.yyleng,oe=me.yytext,ke=me.yylineno,ge=me.yylloc,Se>0&&Se--);break;case 2:if(He=this.productions_[Ce[1]][1],Me.$=ue[ue.length-He],Me._$={first_line:te[te.length-(He||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(He||1)].first_column,last_column:te[te.length-1].last_column},re&&(Me._$.range=[te[te.length-(He||1)].range[0],te[te.length-1].range[1]]),$e=this.performAction.apply(Me,[oe,Ie,ke,W.yy,Ce[1],ue,te].concat(_e)),typeof $e<"u")return $e;He&&(se=se.slice(0,-1*He*2),ue=ue.slice(0,-1*He),te=te.slice(0,-1*He)),se.push(this.productions_[Ce[1]][0]),ue.push(Me.$),te.push(Me._$),ze=De[se[se.length-2]][se[se.length-1]],se.push(ze);break;case 3:return!0}}return!0},"parse")},J=function(){var H={EOF:1,parseError:o(function(K,se){if(this.yy.parser)this.yy.parser.parseError(K,se);else throw new Error(K)},"parseError"),setInput:o(function(q,K){return this.yy=K||this.yy||{},this._input=q,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var q=this._input[0];this.yytext+=q,this.yyleng++,this.offset++,this.match+=q,this.matched+=q;var K=q.match(/(?:\r\n?|\n).*/g);return K?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),q},"input"),unput:o(function(q){var K=q.length,se=q.split(/(?:\r\n?|\n)/g);this._input=q+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-K),this.offset-=K;var ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),se.length-1&&(this.yylineno-=se.length-1);var ue=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===ce.length?this.yylloc.first_column:0)+ce[ce.length-se.length].length-se[0].length:this.yylloc.first_column-K},this.options.ranges&&(this.yylloc.range=[ue[0],ue[0]+this.yyleng-K]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(q){this.unput(this.match.slice(q))},"less"),pastInput:o(function(){var q=this.matched.substr(0,this.matched.length-this.match.length);return(q.length>20?"...":"")+q.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var q=this.match;return q.length<20&&(q+=this._input.substr(0,20-q.length)),(q.substr(0,20)+(q.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var q=this.pastInput(),K=new Array(q.length+1).join("-");return q+this.upcomingInput()+` +`+K+"^"},"showPosition"),test_match:o(function(q,K){var se,ce,ue;if(this.options.backtrack_lexer&&(ue={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ue.yylloc.range=this.yylloc.range.slice(0))),ce=q[0].match(/(?:\r\n?|\n).*/g),ce&&(this.yylineno+=ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ce?ce[ce.length-1].length-ce[ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+q[0].length},this.yytext+=q[0],this.match+=q[0],this.matches=q,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(q[0].length),this.matched+=q[0],se=this.performAction.call(this,this.yy,this,K,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var te in ue)this[te]=ue[te];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var q,K,se,ce;this._more||(this.yytext="",this.match="");for(var ue=this._currentRules(),te=0;teK[0].length)){if(K=se,ce=te,this.options.backtrack_lexer){if(q=this.test_match(se,ue[te]),q!==!1)return q;if(this._backtrack){K=!1;continue}else return!1}else if(!this.options.flex)break}return K?(q=this.test_match(K,ue[ce]),q!==!1?q:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var K=this.next();return K||this.lex()},"lex"),begin:o(function(K){this.conditionStack.push(K)},"begin"),popState:o(function(){var K=this.conditionStack.length-1;return K>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(K){return K=this.conditionStack.length-1-Math.abs(K||0),K>=0?this.conditionStack[K]:"INITIAL"},"topState"),pushState:o(function(K){this.begin(K)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(K,se,ce,ue){var te=ue;switch(ce){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;break;case 8:return this.begin("ID"),50;break;case 9:return this.begin("ID"),52;break;case 10:return 13;case 11:return this.begin("ID"),53;break;case 12:return se.yytext=se.yytext.trim(),this.begin("ALIAS"),70;break;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 14:return this.popState(),this.popState(),5;break;case 15:return this.begin("LINE"),36;break;case 16:return this.begin("LINE"),37;break;case 17:return this.begin("LINE"),38;break;case 18:return this.begin("LINE"),39;break;case 19:return this.begin("LINE"),49;break;case 20:return this.begin("LINE"),41;break;case 21:return this.begin("LINE"),43;break;case 22:return this.begin("LINE"),48;break;case 23:return this.begin("LINE"),44;break;case 24:return this.begin("LINE"),47;break;case 25:return this.begin("LINE"),46;break;case 26:return this.popState(),15;break;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;break;case 37:return this.begin("ID"),23;break;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;break;case 41:return this.popState(),"acc_title_value";break;case 42:return this.begin("acc_descr"),33;break;case 43:return this.popState(),"acc_descr_value";break;case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return se.yytext=se.yytext.trim(),70;break;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 66:return 5;case 67:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};return H}();j.lexer=J;function Z(){this.yy={}}return o(Z,"Parser"),Z.prototype=j,j.Parser=Z,new Z}();hO.parser=hO;Wue=hO});function dO(t,e){if(t.links==null)t.links=e;else for(let r in e)t.links[r]=e[r]}function Zue(t,e){if(t.properties==null)t.properties=e;else for(let r in e)t.properties[r]=e[r]}function S$e(){Mt.records.currentBox=void 0}var Mt,a$e,fO,s$e,o$e,pi,l$e,c$e,u$e,h$e,f$e,d$e,p$e,xx,m$e,g$e,y$e,v$e,x$e,Xue,A0,b$e,w$e,T$e,vx,k$e,E$e,jue,Kue,C$e,Que,Jue,A$e,ehe,pO,the=R(()=>{"use strict";_t();ut();Jk();rr();bi();Mt=new uf(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),a$e=o(function(t){Mt.records.boxes.push({name:t.text,wrap:t.wrap??A0(),fill:t.color,actorKeys:[]}),Mt.records.currentBox=Mt.records.boxes.slice(-1)[0]},"addBox"),fO=o(function(t,e,r,n){let i=Mt.records.currentBox,a=Mt.records.actors.get(t);if(a){if(Mt.records.currentBox&&a.box&&Mt.records.currentBox!==a.box)throw new Error(`A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${Mt.records.currentBox.name}' at the same time.`);if(i=a.box?a.box:Mt.records.currentBox,a.box=i,a&&e===a.name&&r==null)return}if(r?.text==null&&(r={text:e,type:n}),(n==null||r.text==null)&&(r={text:e,type:n}),Mt.records.actors.set(t,{box:i,name:e,description:r.text,wrap:r.wrap??A0(),prevActor:Mt.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:n??"participant"}),Mt.records.prevActor){let s=Mt.records.actors.get(Mt.records.prevActor);s&&(s.nextActor=t)}Mt.records.currentBox&&Mt.records.currentBox.actorKeys.push(t),Mt.records.prevActor=t},"addActor"),s$e=o(t=>{let e,r=0;if(!t)return 0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},s}return Mt.records.messages.push({from:t,to:e,message:r?.text??"",wrap:r?.wrap??A0(),type:n,activate:i}),!0},"addSignal"),l$e=o(function(){return Mt.records.boxes.length>0},"hasAtLeastOneBox"),c$e=o(function(){return Mt.records.boxes.some(t=>t.name)},"hasAtLeastOneBoxWithTitle"),u$e=o(function(){return Mt.records.messages},"getMessages"),h$e=o(function(){return Mt.records.boxes},"getBoxes"),f$e=o(function(){return Mt.records.actors},"getActors"),d$e=o(function(){return Mt.records.createdActors},"getCreatedActors"),p$e=o(function(){return Mt.records.destroyedActors},"getDestroyedActors"),xx=o(function(t){return Mt.records.actors.get(t)},"getActor"),m$e=o(function(){return[...Mt.records.actors.keys()]},"getActorKeys"),g$e=o(function(){Mt.records.sequenceNumbersEnabled=!0},"enableSequenceNumbers"),y$e=o(function(){Mt.records.sequenceNumbersEnabled=!1},"disableSequenceNumbers"),v$e=o(()=>Mt.records.sequenceNumbersEnabled,"showSequenceNumbers"),x$e=o(function(t){Mt.records.wrapEnabled=t},"setWrap"),Xue=o(t=>{if(t===void 0)return{};t=t.trim();let e=/^:?wrap:/.exec(t)!==null?!0:/^:?nowrap:/.exec(t)!==null?!1:void 0;return{cleanedText:(e===void 0?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}},"extractWrap"),A0=o(()=>Mt.records.wrapEnabled!==void 0?Mt.records.wrapEnabled:de().sequence?.wrap??!1,"autoWrap"),b$e=o(function(){Mt.reset(),vr()},"clear"),w$e=o(function(t){let e=t.trim(),{wrap:r,cleanedText:n}=Xue(e),i={text:n,wrap:r};return V.debug(`parseMessage: ${JSON.stringify(i)}`),i},"parseMessage"),T$e=o(function(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),r=e?.[1]?e[1].trim():"transparent",n=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",r)||(r="transparent",n=t.trim());else{let s=new Option().style;s.color=r,s.color!==r&&(r="transparent",n=t.trim())}let{wrap:i,cleanedText:a}=Xue(n);return{text:a?qr(a,de()):void 0,color:r,wrap:i}},"parseBoxData"),vx={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},k$e={FILLED:0,OPEN:1},E$e={LEFTOF:0,RIGHTOF:1,OVER:2},jue=o(function(t,e,r){let n={actor:t,placement:e,message:r.text,wrap:r.wrap??A0()},i=[].concat(t,t);Mt.records.notes.push(n),Mt.records.messages.push({from:i[0],to:i[1],message:r.text,wrap:r.wrap??A0(),type:vx.NOTE,placement:e})},"addNote"),Kue=o(function(t,e){let r=xx(t);try{let n=qr(e.text,de());n=n.replace(/&/g,"&"),n=n.replace(/=/g,"=");let i=JSON.parse(n);dO(r,i)}catch(n){V.error("error while parsing actor link text",n)}},"addLinks"),C$e=o(function(t,e){let r=xx(t);try{let n={},i=qr(e.text,de()),a=i.indexOf("@");i=i.replace(/&/g,"&"),i=i.replace(/=/g,"=");let s=i.slice(0,a-1).trim(),l=i.slice(a+1).trim();n[s]=l,dO(r,n)}catch(n){V.error("error while parsing actor link text",n)}},"addALink");o(dO,"insertLinks");Que=o(function(t,e){let r=xx(t);try{let n=qr(e.text,de()),i=JSON.parse(n);Zue(r,i)}catch(n){V.error("error while parsing actor properties text",n)}},"addProperties");o(Zue,"insertProperties");o(S$e,"boxEnd");Jue=o(function(t,e){let r=xx(t),n=document.getElementById(e.text);try{let i=n.innerHTML,a=JSON.parse(i);a.properties&&Zue(r,a.properties),a.links&&dO(r,a.links)}catch(i){V.error("error while parsing actor details text",i)}},"addDetails"),A$e=o(function(t,e){if(t?.properties!==void 0)return t.properties[e]},"getActorProperty"),ehe=o(function(t){if(Array.isArray(t))t.forEach(function(e){ehe(e)});else switch(t.type){case"sequenceIndex":Mt.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":fO(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(Mt.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");Mt.records.lastCreated=t.actor,fO(t.actor,t.actor,t.description,t.draw),Mt.records.createdActors.set(t.actor,Mt.records.messages.length);break;case"destroyParticipant":Mt.records.lastDestroyed=t.actor,Mt.records.destroyedActors.set(t.actor,Mt.records.messages.length);break;case"activeStart":pi(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":pi(t.actor,void 0,void 0,t.signalType);break;case"addNote":jue(t.actor,t.placement,t.text);break;case"addLinks":Kue(t.actor,t.text);break;case"addALink":C$e(t.actor,t.text);break;case"addProperties":Que(t.actor,t.text);break;case"addDetails":Jue(t.actor,t.text);break;case"addMessage":if(Mt.records.lastCreated){if(t.to!==Mt.records.lastCreated)throw new Error("The created participant "+Mt.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Mt.records.lastCreated=void 0}else if(Mt.records.lastDestroyed){if(t.to!==Mt.records.lastDestroyed&&t.from!==Mt.records.lastDestroyed)throw new Error("The destroyed participant "+Mt.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Mt.records.lastDestroyed=void 0}pi(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":a$e(t.boxData);break;case"boxEnd":S$e();break;case"loopStart":pi(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":pi(void 0,void 0,void 0,t.signalType);break;case"rectStart":pi(void 0,void 0,t.color,t.signalType);break;case"rectEnd":pi(void 0,void 0,void 0,t.signalType);break;case"optStart":pi(void 0,void 0,t.optText,t.signalType);break;case"optEnd":pi(void 0,void 0,void 0,t.signalType);break;case"altStart":pi(void 0,void 0,t.altText,t.signalType);break;case"else":pi(void 0,void 0,t.altText,t.signalType);break;case"altEnd":pi(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":kr(t.text);break;case"parStart":pi(void 0,void 0,t.parText,t.signalType);break;case"and":pi(void 0,void 0,t.parText,t.signalType);break;case"parEnd":pi(void 0,void 0,void 0,t.signalType);break;case"criticalStart":pi(void 0,void 0,t.criticalText,t.signalType);break;case"option":pi(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":pi(void 0,void 0,void 0,t.signalType);break;case"breakStart":pi(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":pi(void 0,void 0,void 0,t.signalType);break}},"apply"),pO={addActor:fO,addMessage:o$e,addSignal:pi,addLinks:Kue,addDetails:Jue,addProperties:Que,autoWrap:A0,setWrap:x$e,enableSequenceNumbers:g$e,disableSequenceNumbers:y$e,showSequenceNumbers:v$e,getMessages:u$e,getActors:f$e,getCreatedActors:d$e,getDestroyedActors:p$e,getActor:xx,getActorKeys:m$e,getActorProperty:A$e,getAccTitle:Ar,getBoxes:h$e,getDiagramTitle:Xr,setDiagramTitle:nn,getConfig:o(()=>de().sequence,"getConfig"),clear:b$e,parseMessage:w$e,parseBoxData:T$e,LINETYPE:vx,ARROWTYPE:k$e,PLACEMENT:E$e,addNote:jue,setAccTitle:kr,apply:ehe,setAccDescription:_r,getAccDescription:Lr,hasAtLeastOneBox:l$e,hasAtLeastOneBoxWithTitle:c$e}});var _$e,rhe,nhe=R(()=>{"use strict";_$e=o(t=>`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; } @@ -1241,12 +1241,12 @@ Expecting `+or.join(", ")+", got '"+(this.terminals_[de]||de)+"'":Cr="Parse erro fill: ${t.actorBkg}; stroke-width: 2px; } -`,"getStyles"),Sce=rFe});var EN,sf,Lce,Dce,nFe,Ace,CN,iFe,aFe,rx,y0,Rce,Ac,SN,sFe,oFe,lFe,cFe,uFe,hFe,fFe,Mce,dFe,pFe,mFe,gFe,yFe,vFe,xFe,Ice,bFe,_N,kFe,Zn,Nce=_(()=>{"use strict";Qt();Iy();pr();EN=ka(_p(),1);zs();sf=18*2,Lce="actor-top",Dce="actor-bottom",nFe="actor-box",Ace="actor-man",CN=s(function(t,e){return ad(t,e)},"drawRect"),iFe=s(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,o=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+o+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,EN.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),kFe(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),aFe=s(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),rx=s(async function(t,e,r=null){let n=t.append("foreignObject"),i=await hh(e.text,_r()),o=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",o.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-o.width/2)).attr("y",Math.round(u.y+u.height/2-o.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-o.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-o.height))}return[n]},"drawKatex"),y0=s(function(t,e){let r=0,n=0,i=e.text.split($e.lineBreakRegex),[a,o]=nc(e.fontSize),l=[],u=0,h=s(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=s(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=s(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=s(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),o!==void 0&&p.style("font-size",o),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||sA;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),Rce=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,y0(t,e),n},"drawLabel"),Ac=-1,SN=s((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),o=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?o.attr("y2",a.stopy+a.height/2):n.mirrorActors&&o.attr("y2",a.stopy)})},"fixLifeLineHeights"),sFe=s(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,o=i+5,l=t.append("g").lower();var u=l;n||(Ac++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",aFe(`actor${Ac}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Ac).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Ac,e.links!=null&&u.attr("id","root-"+Ac));let h=ol();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${Dce}`:f+=` ${Lce}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=CN(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?eW(u,h.x+h.width-20,h.y+10,m.substr(1)):Jq(u,h.x+h.width-20,h.y+10,m)}_N(r,Ei(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${nFe}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),oFe=s(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,o=i+80,l=t.append("g").lower();n||(Ac++,l.append("line").attr("id","actor"+Ac).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Ac);let u=t.append("g"),h=Ace;n?h+=` ${Dce}`:h+=` ${Lce}`,u.attr("class",h),u.attr("name",e.name);let f=ol();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Ac).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Ac).attr("x1",a-sf/2).attr("y1",i+33).attr("x2",a+sf/2).attr("y2",i+33),u.append("line").attr("x1",a-sf/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+sf/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,_N(r,Ei(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${Ace}`},r),e.height},"drawActorTypeActor"),lFe=s(async function(t,e,r,n){switch(e.type){case"actor":return await oFe(t,e,r,n);case"participant":return await sFe(t,e,r,n)}},"drawActor"),cFe=s(function(t,e,r){let i=t.append("g");Mce(i,e),e.name&&_N(r)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),uFe=s(function(t){return t.append("g")},"anchorElement"),hFe=s(function(t,e,r,n,i){let a=ol(),o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,CN(o,a)},"drawActivation"),fFe=s(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=s(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=My();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=o||20,m.textMargin=a,m.class="labelText",Rce(d,m),m=Ice(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=Ei(m.text)?await rx(d,m,e):y0(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,Ei(m.text)?(e.starty=e.sections[y].y,await rx(d,m,e)):y0(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,k)=>b+k));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),Mce=s(function(t,e){v3(t,e)},"drawBackgroundRect"),dFe=s(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),pFe=s(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),mFe=s(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),gFe=s(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),yFe=s(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),vFe=s(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),xFe=s(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Ice=s(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),bFe=s(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),_N=function(){function t(a,o,l,u,h,f,d){let p=o.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}s(t,"byText");function e(a,o,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=nc(m),b=a.split($e.lineBreakRegex);for(let k=0;k{let o=v0(Ee),l=a.actorKeys.reduce((f,d)=>f+=t.get(d).width+(t.get(d).margin||0),0);l-=2*Ee.boxTextMargin,a.wrap&&(a.name=dt.wrapLabel(a.name,l-2*Ee.wrapPadding,o));let u=dt.calculateTextDimensions(a.name,o);i=$e.getMax(u.height,i);let h=$e.getMax(l,u.width+2*Ee.wrapPadding);if(a.margin=Ee.boxTextMargin,la.textMaxHeight=i),$e.getMax(n,Ee.height)}var Ee,He,wFe,v0,kg,AN,EFe,CFe,LN,Pce,Bce,Uw,Oce,_Fe,LFe,RFe,MFe,IFe,Fce,zce=_(()=>{"use strict";Xt();Nce();it();Qt();Iy();gt();Y0();pr();Un();Ee={},He={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:s(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:s(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:s(function(t){this.boxes.push(t)},"addBox"),addActor:s(function(t){this.actors.push(t)},"addActor"),addLoop:s(function(t){this.loops.push(t)},"addLoop"),addMessage:s(function(t){this.messages.push(t)},"addMessage"),addNote:s(function(t){this.notes.push(t)},"addNote"),lastActor:s(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:s(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:s(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:s(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:s(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Bce(le())},"init"),updateVal:s(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:s(function(t,e,r,n){let i=this,a=0;function o(l){return s(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Ee.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Ee.boxMargin,Math.max),i.updateVal(He.data,"startx",t-f*Ee.boxMargin,Math.min),i.updateVal(He.data,"stopx",r+f*Ee.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Ee.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Ee.boxMargin,Math.max),i.updateVal(He.data,"starty",e-f*Ee.boxMargin,Math.min),i.updateVal(He.data,"stopy",n+f*Ee.boxMargin,Math.max))},"updateItemBounds")}s(o,"updateFn"),this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},"updateBounds"),insert:s(function(t,e,r,n){let i=$e.getMin(t,r),a=$e.getMax(t,r),o=$e.getMin(e,n),l=$e.getMax(e,n);this.updateVal(He.data,"startx",i,Math.min),this.updateVal(He.data,"starty",o,Math.min),this.updateVal(He.data,"stopx",a,Math.max),this.updateVal(He.data,"stopy",l,Math.max),this.updateBounds(i,o,a,l)},"insert"),newActivation:s(function(t,e,r){let n=r.get(t.from),i=Uw(t.from).length||0,a=n.x+n.width/2+(i-1)*Ee.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Ee.activationWidth,stopy:void 0,actor:t.from,anchored:Zn.anchorElement(e)})},"newActivation"),endActivation:s(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:s(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:s(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:s(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:s(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:s(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:He.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:s(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:s(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:s(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=$e.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:s(function(){return this.verticalPos},"getVerticalPos"),getBounds:s(function(){return{bounds:this.data,models:this.models}},"getBounds")},wFe=s(async function(t,e){He.bumpVerticalPos(Ee.boxMargin),e.height=Ee.boxMargin,e.starty=He.getVerticalPos();let r=ol();r.x=e.startx,r.y=e.starty,r.width=e.width||Ee.width,r.class="note";let n=t.append("g"),i=Zn.drawRect(n,r),a=My();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Ee.noteFontFamily,a.fontSize=Ee.noteFontSize,a.fontWeight=Ee.noteFontWeight,a.anchor=Ee.noteAlign,a.textMargin=Ee.noteMargin,a.valign="center";let o=Ei(a.text)?await rx(n,a):y0(n,a),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Ee.noteMargin),e.height+=l+2*Ee.noteMargin,He.bumpVerticalPos(l+2*Ee.noteMargin),e.stopy=e.starty+l+2*Ee.noteMargin,e.stopx=e.startx+r.width,He.insert(e.startx,e.starty,e.stopx,e.stopy),He.models.addNote(e)},"drawNote"),v0=s(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),kg=s(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),AN=s(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");s(TFe,"boundMessage");EFe=s(async function(t,e,r,n){let{startx:i,stopx:a,starty:o,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=dt.calculateTextDimensions(l,v0(Ee)),p=My();p.x=i,p.y=o+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Ee.messageFontFamily,p.fontSize=Ee.messageFontSize,p.fontWeight=Ee.messageFontWeight,p.anchor=Ee.messageAlign,p.valign="center",p.textMargin=Ee.wrapPadding,p.tspan=!1,Ei(p.text)?await rx(t,p,{startx:i,stopx:a,starty:r}):y0(t,p);let m=d.width,g;i===a?Ee.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+$e.getMax(Ee.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Ee.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Ee.showSequenceNumbers)&&(g.attr("marker-start","url("+y+"#sequencenumber)"),t.append("text").attr("x",i).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(h))},"drawMessage"),CFe=s(function(t,e,r,n,i,a,o){let l=0,u=0,h,f=0;for(let d of n){let p=e.get(d),m=p.box;h&&h!=m&&(o||He.models.addBox(h),u+=Ee.boxMargin+h.margin),m&&m!=h&&(o||(m.x=l+u,m.y=i),u+=m.margin),p.width=p.width||Ee.width,p.height=$e.getMax(p.height||Ee.height,Ee.height),p.margin=p.margin||Ee.actorMargin,f=$e.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=He.getVerticalPos(),He.insert(p.x,i,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,He.models.addActor(p)}h&&!o&&He.models.addBox(h),He.bumpVerticalPos(f)},"addActorRenderingData"),LN=s(async function(t,e,r,n){if(n){let i=0;He.bumpVerticalPos(Ee.boxMargin*2);for(let a of r){let o=e.get(a);o.stopy||(o.stopy=He.getVerticalPos());let l=await Zn.drawActor(t,o,Ee,!0);i=$e.getMax(i,l)}He.bumpVerticalPos(i+Ee.boxMargin)}else for(let i of r){let a=e.get(i);await Zn.drawActor(t,a,Ee,!1)}},"drawActors"),Pce=s(function(t,e,r,n){let i=0,a=0;for(let o of r){let l=e.get(o),u=LFe(l),h=Zn.drawPopup(t,l,u,Ee,Ee.forceMenus,n);h.height>i&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),Bce=s(function(t){An(Ee,t),t.fontFamily&&(Ee.actorFontFamily=Ee.noteFontFamily=Ee.messageFontFamily=t.fontFamily),t.fontSize&&(Ee.actorFontSize=Ee.noteFontSize=Ee.messageFontSize=t.fontSize),t.fontWeight&&(Ee.actorFontWeight=Ee.noteFontWeight=Ee.messageFontWeight=t.fontWeight)},"setConf"),Uw=s(function(t){return He.activations.filter(function(e){return e.actor===t})},"actorActivations"),Oce=s(function(t,e){let r=e.get(t),n=Uw(t),i=n.reduce(function(o,l){return $e.getMin(o,l.startx)},r.x+r.width/2-1),a=n.reduce(function(o,l){return $e.getMax(o,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");s(Lc,"adjustLoopHeightForWrap");s(SFe,"adjustCreatedDestroyedData");_Fe=s(async function(t,e,r,n){let{securityLevel:i,sequence:a}=le();Ee=a;let o;i==="sandbox"&&(o=Me("#i"+e));let l=i==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body"),u=i==="sandbox"?o.nodes()[0].contentDocument:document;He.init(),V.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):Me(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),k=await AFe(f,y,n);if(Ee.height=await DFe(f,k,m),Zn.insertComputerIcon(h),Zn.insertDatabaseIcon(h),Zn.insertClockIcon(h),x&&(He.bumpVerticalPos(Ee.boxMargin),b&&He.bumpVerticalPos(m[0].textMaxHeight)),Ee.hideUnusedParticipants===!0){let z=new Set;y.forEach(N=>{z.add(N.from),z.add(N.to)}),g=g.filter(N=>z.has(N))}CFe(h,f,d,g,0,y,!1);let A=await IFe(y,f,k,n);Zn.insertArrowHead(h),Zn.insertArrowCrossHead(h),Zn.insertArrowFilledHead(h),Zn.insertSequenceNumber(h);function w(z,N){let U=He.endActivation(z);U.starty+18>N&&(U.starty=N-6,N+=12),Zn.drawActivation(h,U,N,Ee,Uw(z.from).length),He.insert(U.startx,N-10,U.stopx,N)}s(w,"activeEnd");let T=1,C=1,E=[],S=[],R=0;for(let z of y){let N,U,$;switch(z.type){case n.db.LINETYPE.NOTE:He.resetVerticalPos(),U=z.noteModel,await wFe(h,U);break;case n.db.LINETYPE.ACTIVE_START:He.newActivation(z,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(z,He.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.LOOP_END:N=He.endLoop(),await Zn.drawLoop(h,N,"loop",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.RECT_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin,W=>He.newLoop(void 0,W.message));break;case n.db.LINETYPE.RECT_END:N=He.endLoop(),S.push(N),He.models.addLoop(N),He.bumpVerticalPos(N.stopy-He.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.OPT_END:N=He.endLoop(),await Zn.drawLoop(h,N,"opt",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.ALT_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.ALT_ELSE:Lc(A,z,Ee.boxMargin+Ee.boxTextMargin,Ee.boxMargin,W=>He.addSectionToLoop(W));break;case n.db.LINETYPE.ALT_END:N=He.endLoop(),await Zn.drawLoop(h,N,"alt",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W)),He.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Lc(A,z,Ee.boxMargin+Ee.boxTextMargin,Ee.boxMargin,W=>He.addSectionToLoop(W));break;case n.db.LINETYPE.PAR_END:N=He.endLoop(),await Zn.drawLoop(h,N,"par",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.AUTONUMBER:T=z.message.start||T,C=z.message.step||C,z.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.CRITICAL_OPTION:Lc(A,z,Ee.boxMargin+Ee.boxTextMargin,Ee.boxMargin,W=>He.addSectionToLoop(W));break;case n.db.LINETYPE.CRITICAL_END:N=He.endLoop(),await Zn.drawLoop(h,N,"critical",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;case n.db.LINETYPE.BREAK_START:Lc(A,z,Ee.boxMargin,Ee.boxMargin+Ee.boxTextMargin,W=>He.newLoop(W));break;case n.db.LINETYPE.BREAK_END:N=He.endLoop(),await Zn.drawLoop(h,N,"break",Ee),He.bumpVerticalPos(N.stopy-He.getVerticalPos()),He.models.addLoop(N);break;default:try{$=z.msgModel,$.starty=He.getVerticalPos(),$.sequenceIndex=T,$.sequenceVisible=n.db.showSequenceNumbers();let W=await TFe(h,$);SFe(z,$,W,R,f,d,p),E.push({messageModel:$,lineStartY:W}),He.models.addMessage($)}catch(W){V.error("error while drawing message",W)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(z.type)&&(T=T+C),R++}V.debug("createdActors",d),V.debug("destroyedActors",p),await LN(h,f,g,!1);for(let z of E)await EFe(h,z.messageModel,z.lineStartY,n);Ee.mirrorActors&&await LN(h,f,g,!0),S.forEach(z=>Zn.drawBackgroundRect(h,z)),SN(h,f,g,Ee);for(let z of He.models.boxes)z.height=He.getVerticalPos()-z.y,He.insert(z.x,z.y,z.x+z.width,z.height),z.startx=z.x,z.starty=z.y,z.stopx=z.startx+z.width,z.stopy=z.starty+z.height,z.stroke="rgb(0,0,0, 0.5)",Zn.drawBox(h,z,Ee);x&&He.bumpVerticalPos(Ee.boxMargin);let D=Pce(h,f,g,u),{bounds:L}=He.getBounds();L.startx===void 0&&(L.startx=0),L.starty===void 0&&(L.starty=0),L.stopx===void 0&&(L.stopx=0),L.stopy===void 0&&(L.stopy=0);let P=L.stopy-L.starty;P2,d=s(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Ee.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,o],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=dt.wrapLabel(t.message,$e.getMax(m+2*Ee.wrapPadding,Ee.width),v0(Ee)));let g=dt.calculateTextDimensions(t.message,v0(Ee));return{width:$e.getMax(t.wrap?0:g.width+2*Ee.wrapPadding,m+2*Ee.wrapPadding,Ee.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),IFe=s(async function(t,e,r,n){let i={},a=[],o,l,u;for(let h of t){switch(h.id=dt.random({length:10}),h.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:h.message&&(o=a.pop(),i[o.id]=o,i[h.id]=o,a.push(o));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:o=a.pop(),i[o.id]=o;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=Uw(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Ee.activationWidth/2,g={startx:m,stopx:m+Ee.activationWidth,actor:h.from,enabled:!0};He.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=He.activations.map(p=>p.actor).lastIndexOf(h.from);He.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await RFe(h,e,n),h.noteModel=l,a.forEach(d=>{o=d,o.from=$e.getMin(o.from,l.startx),o.to=$e.getMax(o.to,l.startx+l.width),o.width=$e.getMax(o.width,Math.abs(o.from-o.to))-Ee.labelBoxWidth})):(u=MFe(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(o=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);o.from=$e.getMin(p.x-u.width/2,p.x-p.width/2,o.from),o.to=$e.getMax(m.x+u.width/2,m.x+p.width/2,o.to),o.width=$e.getMax(o.width,Math.abs(o.to-o.from))-Ee.labelBoxWidth}else o.from=$e.getMin(u.startx,o.from),o.to=$e.getMax(u.stopx,o.to),o.width=$e.getMax(o.width,u.width)-Ee.labelBoxWidth}))}return He.activations=[],V.debug("Loop type widths:",i),i},"calculateLoopBounds"),Fce={bounds:He,drawActors:LN,drawActorsPopup:Pce,setConf:Bce,draw:_Fe}});var $ce={};ur($ce,{diagram:()=>NFe});var NFe,Gce=_(()=>{"use strict";yce();Cce();_ce();zce();NFe={parser:gce,db:TN,renderer:Fce,styles:Sce,init:s(({wrap:t})=>{TN.setWrap(t)},"init")}});var DN,qw,RN=_(()=>{"use strict";DN=function(){var t=s(function(Oe,_e,he,q){for(he=he||{},q=Oe.length;q--;he[Oe[q]]=_e);return he},"o"),e=[1,17],r=[1,18],n=[1,19],i=[1,39],a=[1,40],o=[1,25],l=[1,23],u=[1,24],h=[1,31],f=[1,32],d=[1,33],p=[1,34],m=[1,35],g=[1,36],y=[1,26],v=[1,27],x=[1,28],b=[1,29],k=[1,43],A=[1,30],w=[1,42],T=[1,44],C=[1,41],E=[1,45],S=[1,9],R=[1,8,9],D=[1,56],L=[1,57],P=[1,58],M=[1,59],F=[1,60],I=[1,61],O=[1,62],z=[1,8,9,39],N=[1,74],U=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],$=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],W=[13,74,80,95,97,98],ee=[13,64,65,74,80,95,97,98],te=[13,59,60,61,62,63,74,80,95,97,98],ce=[1,93],Z=[1,110],fe=[1,108],ne=[1,102],H=[1,103],Q=[1,104],K=[1,105],re=[1,106],ie=[1,107],ye=[1,109],j=[1,8,9,37,39,42],De=[1,8,9,21],oe=[1,8,9,78],Re=[1,8,9,21,73,74,78,80,81,82,83,84,85],Pe={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:s(function(_e,he,q,se,ue,X,ae){var pe=X.length-1;switch(ue){case 8:this.$=X[pe-1];break;case 9:case 11:case 12:this.$=X[pe];break;case 10:case 13:this.$=X[pe-1]+X[pe];break;case 14:case 15:this.$=X[pe-1]+"~"+X[pe]+"~";break;case 16:se.addRelation(X[pe]);break;case 17:X[pe-1].title=se.cleanupLabel(X[pe]),se.addRelation(X[pe-1]);break;case 27:this.$=X[pe].trim(),se.setAccTitle(this.$);break;case 28:case 29:this.$=X[pe].trim(),se.setAccDescription(this.$);break;case 30:se.addClassesToNamespace(X[pe-3],X[pe-1]);break;case 31:se.addClassesToNamespace(X[pe-4],X[pe-1]);break;case 32:this.$=X[pe],se.addNamespace(X[pe]);break;case 33:this.$=[X[pe]];break;case 34:this.$=[X[pe-1]];break;case 35:X[pe].unshift(X[pe-2]),this.$=X[pe];break;case 37:se.setCssClass(X[pe-2],X[pe]);break;case 38:se.addMembers(X[pe-3],X[pe-1]);break;case 39:se.setCssClass(X[pe-5],X[pe-3]),se.addMembers(X[pe-5],X[pe-1]);break;case 40:this.$=X[pe],se.addClass(X[pe]);break;case 41:this.$=X[pe-1],se.addClass(X[pe-1]),se.setClassLabel(X[pe-1],X[pe]);break;case 42:se.addAnnotation(X[pe],X[pe-2]);break;case 43:this.$=[X[pe]];break;case 44:X[pe].push(X[pe-1]),this.$=X[pe];break;case 45:break;case 46:se.addMember(X[pe-1],se.cleanupLabel(X[pe]));break;case 47:break;case 48:break;case 49:this.$={id1:X[pe-2],id2:X[pe],relation:X[pe-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:X[pe-3],id2:X[pe],relation:X[pe-1],relationTitle1:X[pe-2],relationTitle2:"none"};break;case 51:this.$={id1:X[pe-3],id2:X[pe],relation:X[pe-2],relationTitle1:"none",relationTitle2:X[pe-1]};break;case 52:this.$={id1:X[pe-4],id2:X[pe],relation:X[pe-2],relationTitle1:X[pe-3],relationTitle2:X[pe-1]};break;case 53:se.addNote(X[pe],X[pe-1]);break;case 54:se.addNote(X[pe]);break;case 55:se.setDirection("TB");break;case 56:se.setDirection("BT");break;case 57:se.setDirection("RL");break;case 58:se.setDirection("LR");break;case 59:this.$={type1:X[pe-2],type2:X[pe],lineType:X[pe-1]};break;case 60:this.$={type1:"none",type2:X[pe],lineType:X[pe-1]};break;case 61:this.$={type1:X[pe-1],type2:"none",lineType:X[pe]};break;case 62:this.$={type1:"none",type2:"none",lineType:X[pe]};break;case 63:this.$=se.relationType.AGGREGATION;break;case 64:this.$=se.relationType.EXTENSION;break;case 65:this.$=se.relationType.COMPOSITION;break;case 66:this.$=se.relationType.DEPENDENCY;break;case 67:this.$=se.relationType.LOLLIPOP;break;case 68:this.$=se.lineType.LINE;break;case 69:this.$=se.lineType.DOTTED_LINE;break;case 70:case 76:this.$=X[pe-2],se.setClickEvent(X[pe-1],X[pe]);break;case 71:case 77:this.$=X[pe-3],se.setClickEvent(X[pe-2],X[pe-1]),se.setTooltip(X[pe-2],X[pe]);break;case 72:this.$=X[pe-2],se.setLink(X[pe-1],X[pe]);break;case 73:this.$=X[pe-3],se.setLink(X[pe-2],X[pe-1],X[pe]);break;case 74:this.$=X[pe-3],se.setLink(X[pe-2],X[pe-1]),se.setTooltip(X[pe-2],X[pe]);break;case 75:this.$=X[pe-4],se.setLink(X[pe-3],X[pe-2],X[pe]),se.setTooltip(X[pe-3],X[pe-1]);break;case 78:this.$=X[pe-3],se.setClickEvent(X[pe-2],X[pe-1],X[pe]);break;case 79:this.$=X[pe-4],se.setClickEvent(X[pe-3],X[pe-2],X[pe-1]),se.setTooltip(X[pe-3],X[pe]);break;case 80:this.$=X[pe-3],se.setLink(X[pe-2],X[pe]);break;case 81:this.$=X[pe-4],se.setLink(X[pe-3],X[pe-1],X[pe]);break;case 82:this.$=X[pe-4],se.setLink(X[pe-3],X[pe-1]),se.setTooltip(X[pe-3],X[pe]);break;case 83:this.$=X[pe-5],se.setLink(X[pe-4],X[pe-2],X[pe]),se.setTooltip(X[pe-4],X[pe-1]);break;case 84:this.$=X[pe-2],se.setCssStyle(X[pe-1],X[pe]);break;case 85:se.setCssClass(X[pe-1],X[pe]);break;case 86:this.$=[X[pe]];break;case 87:X[pe-2].push(X[pe]),this.$=X[pe-2];break;case 89:this.$=X[pe-1]+X[pe];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:o,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:k,76:A,80:w,95:T,97:C,98:E},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(S,[2,5],{8:[1,46]}),{8:[1,47]},t(R,[2,16],{21:[1,48]}),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),t(R,[2,21]),t(R,[2,22]),t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),{32:[1,49]},{34:[1,50]},t(R,[2,29]),t(R,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:D,60:L,61:P,62:M,63:F,64:I,65:O}),{37:[1,63]},t(z,[2,36],{37:[1,65],42:[1,64]}),t(R,[2,47]),t(R,[2,48]),{16:66,74:k,80:w,95:T,97:C},{16:37,17:67,18:38,74:k,80:w,95:T,97:C,98:E},{16:37,17:68,18:38,74:k,80:w,95:T,97:C,98:E},{16:37,17:69,18:38,74:k,80:w,95:T,97:C,98:E},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:k,80:w,95:T,97:C,98:E},{13:N,51:73},t(R,[2,55]),t(R,[2,56]),t(R,[2,57]),t(R,[2,58]),t(U,[2,11],{16:37,18:38,17:75,19:[1,76],74:k,80:w,95:T,97:C,98:E}),t(U,[2,12],{19:[1,77]}),{15:78,16:79,74:k,80:w,95:T,97:C},{16:37,17:80,18:38,74:k,80:w,95:T,97:C,98:E},t($,[2,112]),t($,[2,113]),t($,[2,114]),t($,[2,115]),t([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),t(S,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:e,33:r,35:n,40:i,44:a,45:o,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:k,76:A,80:w,95:T,97:C,98:E}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:o,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:k,76:A,80:w,95:T,97:C,98:E},t(R,[2,17]),t(R,[2,27]),t(R,[2,28]),{13:[1,84],16:37,17:83,18:38,74:k,80:w,95:T,97:C,98:E},{49:85,57:54,58:55,59:D,60:L,61:P,62:M,63:F,64:I,65:O},t(R,[2,46]),{58:86,64:I,65:O},t(W,[2,62],{57:87,59:D,60:L,61:P,62:M,63:F}),t(ee,[2,63]),t(ee,[2,64]),t(ee,[2,65]),t(ee,[2,66]),t(ee,[2,67]),t(te,[2,68]),t(te,[2,69]),{8:[1,89],23:90,38:88,41:22,44:a},{16:91,74:k,80:w,95:T,97:C},{43:92,47:ce},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Z,73:fe,74:ne,75:99,77:100,79:101,80:H,81:Q,82:K,83:re,84:ie,85:ye},{74:[1,111]},{13:N,51:112},t(R,[2,54]),t(R,[2,117]),t(U,[2,13]),t(U,[2,14]),t(U,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:k,80:w,95:T,97:C},t(j,[2,40],{11:114,12:[1,115]}),t(S,[2,7]),{9:[1,116]},t(De,[2,49]),{16:37,17:117,18:38,74:k,80:w,95:T,97:C,98:E},{13:[1,119],16:37,17:118,18:38,74:k,80:w,95:T,97:C,98:E},t(W,[2,61],{57:120,59:D,60:L,61:P,62:M,63:F}),t(W,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:a},{8:[1,123],39:[2,33]},t(z,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:ce},{16:37,17:127,18:38,74:k,80:w,95:T,97:C,98:E},t(R,[2,70],{13:[1,128]}),t(R,[2,72],{13:[1,130],68:[1,129]}),t(R,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},t(R,[2,84],{78:[1,134]}),t(oe,[2,86],{79:135,21:Z,73:fe,74:ne,80:H,81:Q,82:K,83:re,84:ie,85:ye}),t(Re,[2,88]),t(Re,[2,90]),t(Re,[2,91]),t(Re,[2,92]),t(Re,[2,93]),t(Re,[2,94]),t(Re,[2,95]),t(Re,[2,96]),t(Re,[2,97]),t(Re,[2,98]),t(R,[2,85]),t(R,[2,53]),{37:[2,10]},t(j,[2,41]),{13:[1,136]},{1:[2,4]},t(De,[2,51]),t(De,[2,50]),{16:37,17:137,18:38,74:k,80:w,95:T,97:C,98:E},t(W,[2,59]),t(R,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:a},{43:140,47:ce},t(z,[2,38]),{39:[2,44]},t(R,[2,42]),t(R,[2,71]),t(R,[2,73]),t(R,[2,74],{68:[1,141]}),t(R,[2,77]),t(R,[2,78],{13:[1,142]}),t(R,[2,80],{13:[1,144],68:[1,143]}),{21:Z,73:fe,74:ne,77:145,79:101,80:H,81:Q,82:K,83:re,84:ie,85:ye},t(Re,[2,89]),{14:[1,146]},t(De,[2,52]),t(R,[2,31]),{39:[2,35]},{39:[1,147]},t(R,[2,75]),t(R,[2,79]),t(R,[2,81]),t(R,[2,82],{68:[1,148]}),t(oe,[2,87],{79:135,21:Z,73:fe,74:ne,80:H,81:Q,82:K,83:re,84:ie,85:ye}),t(j,[2,8]),t(z,[2,39]),t(R,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:s(function(_e,he){if(he.recoverable)this.trace(_e);else{var q=new Error(_e);throw q.hash=he,q}},"parseError"),parse:s(function(_e){var he=this,q=[0],se=[],ue=[null],X=[],ae=this.table,pe="",de=0,Ie=0,Ne=0,Be=2,ze=1,qe=X.slice.call(arguments,1),Fe=Object.create(this.lexer),we={yy:{}};for(var Je in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Je)&&(we.yy[Je]=this.yy[Je]);Fe.setInput(_e,we.yy),we.yy.lexer=Fe,we.yy.parser=this,typeof Fe.yylloc>"u"&&(Fe.yylloc={});var We=Fe.yylloc;X.push(We);var or=Fe.options&&Fe.options.ranges;typeof we.yy.parseError=="function"?this.parseError=we.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Cr(vt){q.length=q.length-2*vt,ue.length=ue.length-vt,X.length=X.length-vt}s(Cr,"popStack");function Ut(){var vt;return vt=se.pop()||Fe.lex()||ze,typeof vt!="number"&&(vt instanceof Array&&(se=vt,vt=se.pop()),vt=he.symbols_[vt]||vt),vt}s(Ut,"lex");for(var ar,ut,Rt,Qe,Dt,qt,yt={},Et,pt,Wt,ot;;){if(Rt=q[q.length-1],this.defaultActions[Rt]?Qe=this.defaultActions[Rt]:((ar===null||typeof ar>"u")&&(ar=Ut()),Qe=ae[Rt]&&ae[Rt][ar]),typeof Qe>"u"||!Qe.length||!Qe[0]){var fr="";ot=[];for(Et in ae[Rt])this.terminals_[Et]&&Et>Be&&ot.push("'"+this.terminals_[Et]+"'");Fe.showPosition?fr="Parse error on line "+(de+1)+`: -`+Fe.showPosition()+` -Expecting `+ot.join(", ")+", got '"+(this.terminals_[ar]||ar)+"'":fr="Parse error on line "+(de+1)+": Unexpected "+(ar==ze?"end of input":"'"+(this.terminals_[ar]||ar)+"'"),this.parseError(fr,{text:Fe.match,token:this.terminals_[ar]||ar,line:Fe.yylineno,loc:We,expected:ot})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Rt+", token: "+ar);switch(Qe[0]){case 1:q.push(ar),ue.push(Fe.yytext),X.push(Fe.yylloc),q.push(Qe[1]),ar=null,ut?(ar=ut,ut=null):(Ie=Fe.yyleng,pe=Fe.yytext,de=Fe.yylineno,We=Fe.yylloc,Ne>0&&Ne--);break;case 2:if(pt=this.productions_[Qe[1]][1],yt.$=ue[ue.length-pt],yt._$={first_line:X[X.length-(pt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(pt||1)].first_column,last_column:X[X.length-1].last_column},or&&(yt._$.range=[X[X.length-(pt||1)].range[0],X[X.length-1].range[1]]),qt=this.performAction.apply(yt,[pe,Ie,de,we.yy,Qe[1],ue,X].concat(qe)),typeof qt<"u")return qt;pt&&(q=q.slice(0,-1*pt*2),ue=ue.slice(0,-1*pt),X=X.slice(0,-1*pt)),q.push(this.productions_[Qe[1]][0]),ue.push(yt.$),X.push(yt._$),Wt=ae[q[q.length-2]][q[q.length-1]],q.push(Wt);break;case 3:return!0}}return!0},"parse")},Se=function(){var Oe={EOF:1,parseError:s(function(he,q){if(this.yy.parser)this.yy.parser.parseError(he,q);else throw new Error(he)},"parseError"),setInput:s(function(_e,he){return this.yy=he||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var he=_e.match(/(?:\r\n?|\n).*/g);return he?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:s(function(_e){var he=_e.length,q=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-he),this.offset-=he;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),q.length-1&&(this.yylineno-=q.length-1);var ue=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:q?(q.length===se.length?this.yylloc.first_column:0)+se[se.length-q.length].length-q[0].length:this.yylloc.first_column-he},this.options.ranges&&(this.yylloc.range=[ue[0],ue[0]+this.yyleng-he]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:s(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var _e=this.pastInput(),he=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` -`+he+"^"},"showPosition"),test_match:s(function(_e,he){var q,se,ue;if(this.options.backtrack_lexer&&(ue={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ue.yylloc.range=this.yylloc.range.slice(0))),se=_e[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],q=this.performAction.call(this,this.yy,this,he,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),q)return q;if(this._backtrack){for(var X in ue)this[X]=ue[X];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,he,q,se;this._more||(this.yytext="",this.match="");for(var ue=this._currentRules(),X=0;Xhe[0].length)){if(he=q,se=X,this.options.backtrack_lexer){if(_e=this.test_match(q,ue[X]),_e!==!1)return _e;if(this._backtrack){he=!1;continue}else return!1}else if(!this.options.flex)break}return he?(_e=this.test_match(he,ue[se]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var he=this.next();return he||this.lex()},"lex"),begin:s(function(he){this.conditionStack.push(he)},"begin"),popState:s(function(){var he=this.conditionStack.length-1;return he>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(he){return he=this.conditionStack.length-1-Math.abs(he||0),he>=0?this.conditionStack[he]:"INITIAL"},"topState"),pushState:s(function(he){this.begin(he)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(he,q,se,ue){var X=ue;switch(se){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),33;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;break;case 29:return this.popState(),8;break;case 30:break;case 31:return this.begin("namespace-body"),37;break;case 32:return this.popState(),39;break;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;break;case 38:return this.popState(),8;break;case 39:break;case 40:return this.popState(),this.popState(),39;break;case 41:return this.begin("class-body"),37;break;case 42:return this.popState(),39;break;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return Oe}();Pe.lexer=Se;function Ue(){this.yy={}}return s(Ue,"Parser"),Ue.prototype=Pe,Pe.Parser=Ue,new Ue}();DN.parser=DN;qw=DN});var qce,nx,Wce=_(()=>{"use strict";gt();Qt();qce=["#","+","~","-",""],nx=class{static{s(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="";let n=$r(e,le());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+uh(this.id);this.memberType==="method"&&(e+=`(${uh(this.parameters.trim())})`,this.returnType&&(e+=" : "+uh(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let i=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(i){let a=i[1]?i[1].trim():"";if(qce.includes(a)&&(this.visibility=a),this.id=i[2].trim(),this.parameters=i[3]?i[3].trim():"",r=i[4]?i[4].trim():"",this.returnType=i[5]?i[5].trim():"",r===""){let o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let n=e.length,i=e.substring(0,1),a=e.substring(n-1);qce.includes(i)&&(this.visibility=i),/[$*]/.exec(a)&&(r=a),this.id=e.substring(this.visibility===""?0:1,r===""?n:n-1)}this.classifier=r}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var Yw,IN,Mi,Ww,Hce,Gu,MN,ix,x0,b0,FFe,Hw,Yce,zFe,$Fe,GFe,VFe,UFe,qFe,WFe,Xce,HFe,YFe,XFe,NN,jFe,KFe,QFe,ZFe,JFe,eze,tze,rze,jce,ON,nze,ize,aze,sze,oze,lze,cze,wg,PN=_(()=>{"use strict";Xt();it();gt();Qt();pr();Ci();Wce();Yw="classId-",IN=[],Mi=new Map,Ww=[],Hce=0,Gu=new Map,MN=0,ix=[],x0=s(t=>$e.sanitizeText(t,le()),"sanitizeText"),b0=s(function(t){let e=$e.sanitizeText(t,le()),r="",n=e;if(e.indexOf("~")>0){let i=e.split("~");n=x0(i[0]),r=x0(i[1])}return{className:n,type:r}},"splitClassNameAndType"),FFe=s(function(t,e){let r=$e.sanitizeText(t,le());e&&(e=x0(e));let{className:n}=b0(r);Mi.get(n).label=e},"setClassLabel"),Hw=s(function(t){let e=$e.sanitizeText(t,le()),{className:r,type:n}=b0(e);if(Mi.has(r))return;let i=$e.sanitizeText(r,le());Mi.set(i,{id:i,type:n,label:i,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:Yw+i+"-"+Hce}),Hce++},"addClass"),Yce=s(function(t){let e=$e.sanitizeText(t,le());if(Mi.has(e))return Mi.get(e).domId;throw new Error("Class not found: "+e)},"lookUpDomId"),zFe=s(function(){IN=[],Mi=new Map,Ww=[],ix=[],ix.push(jce),Gu=new Map,MN=0,ON="TB",br()},"clear"),$Fe=s(function(t){return Mi.get(t)},"getClass"),GFe=s(function(){return Mi},"getClasses"),VFe=s(function(){return IN},"getRelations"),UFe=s(function(){return Ww},"getNotes"),qFe=s(function(t){V.debug("Adding relation: "+JSON.stringify(t)),Hw(t.id1),Hw(t.id2),t.id1=b0(t.id1).className,t.id2=b0(t.id2).className,t.relationTitle1=$e.sanitizeText(t.relationTitle1.trim(),le()),t.relationTitle2=$e.sanitizeText(t.relationTitle2.trim(),le()),IN.push(t)},"addRelation"),WFe=s(function(t,e){let r=b0(t).className;Mi.get(r).annotations.push(e)},"addAnnotation"),Xce=s(function(t,e){Hw(t);let r=b0(t).className,n=Mi.get(r);if(typeof e=="string"){let i=e.trim();i.startsWith("<<")&&i.endsWith(">>")?n.annotations.push(x0(i.substring(2,i.length-2))):i.indexOf(")")>0?n.methods.push(new nx(i,"method")):i&&n.members.push(new nx(i,"attribute"))}},"addMember"),HFe=s(function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(r=>Xce(t,r)))},"addMembers"),YFe=s(function(t,e){let r={id:`note${Ww.length}`,class:e,text:t};Ww.push(r)},"addNote"),XFe=s(function(t){return t.startsWith(":")&&(t=t.substring(1)),x0(t.trim())},"cleanupLabel"),NN=s(function(t,e){t.split(",").forEach(function(r){let n=r;/\d/.exec(r[0])&&(n=Yw+n);let i=Mi.get(n);i&&i.cssClasses.push(e)})},"setCssClass"),jFe=s(function(t,e){t.split(",").forEach(function(r){e!==void 0&&(Mi.get(r).tooltip=x0(e))})},"setTooltip"),KFe=s(function(t,e){return e&&Gu.has(e)?Gu.get(e).classes.get(t).tooltip:Mi.get(t).tooltip},"getTooltip"),QFe=s(function(t,e,r){let n=le();t.split(",").forEach(function(i){let a=i;/\d/.exec(i[0])&&(a=Yw+a);let o=Mi.get(a);o&&(o.link=dt.formatUrl(e,n),n.securityLevel==="sandbox"?o.linkTarget="_top":typeof r=="string"?o.linkTarget=x0(r):o.linkTarget="_blank")}),NN(t,"clickable")},"setLink"),ZFe=s(function(t,e,r){t.split(",").forEach(function(n){JFe(n,e,r),Mi.get(n).haveCallback=!0}),NN(t,"clickable")},"setClickEvent"),JFe=s(function(t,e,r){let n=$e.sanitizeText(t,le());if(le().securityLevel!=="loose"||e===void 0)return;let a=n;if(Mi.has(a)){let o=Yce(a),l=[];if(typeof r=="string"){l=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let u=0;u")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),Me(this).classed("hover",!1)})},"setupToolTips");ix.push(jce);ON="TB",nze=s(()=>ON,"getDirection"),ize=s(t=>{ON=t},"setDirection"),aze=s(function(t){Gu.has(t)||(Gu.set(t,{id:t,classes:new Map,children:{},domId:Yw+t+"-"+MN}),MN++)},"addNamespace"),sze=s(function(t){return Gu.get(t)},"getNamespace"),oze=s(function(){return Gu},"getNamespaces"),lze=s(function(t,e){if(Gu.has(t))for(let r of e){let{className:n}=b0(r);Mi.get(n).parent=t,Gu.get(t).classes.set(n,Mi.get(n))}},"addClassesToNamespace"),cze=s(function(t,e){let r=Mi.get(t);if(!(!e||!r))for(let n of e)n.includes(",")?r.styles.push(...n.split(",")):r.styles.push(n)},"setCssStyle"),wg={setAccTitle:Ar,getAccTitle:Gr,getAccDescription:Ur,setAccDescription:Vr,getConfig:s(()=>le().class,"getConfig"),addClass:Hw,bindFunctions:eze,clear:zFe,getClass:$Fe,getClasses:GFe,getNotes:UFe,addAnnotation:WFe,addNote:YFe,getRelations:VFe,addRelation:qFe,getDirection:nze,setDirection:ize,addMember:Xce,addMembers:HFe,cleanupLabel:XFe,lineType:tze,relationType:rze,setClickEvent:ZFe,setCssClass:NN,setLink:QFe,getTooltip:KFe,setTooltip:jFe,lookUpDomId:Yce,setDiagramTitle:an,getDiagramTitle:Qr,setClassLabel:FFe,addNamespace:aze,addClassesToNamespace:lze,getNamespace:sze,getNamespaces:oze,setCssStyle:cze}});var uze,Xw,BN=_(()=>{"use strict";uze=s(t=>`g.classGroup text { +`,"getStyles"),rhe=_$e});var mO,gf,ahe,she,L$e,ihe,gO,D$e,R$e,bx,_0,ohe,Bc,yO,N$e,M$e,I$e,O$e,P$e,B$e,F$e,lhe,z$e,$$e,G$e,V$e,U$e,H$e,Y$e,che,W$e,vO,q$e,si,uhe=R(()=>{"use strict";rr();Qy();xr();mO=Xi(Up(),1);qs();gf=18*2,ahe="actor-top",she="actor-bottom",L$e="actor-box",ihe="actor-man",gO=o(function(t,e){return yd(t,e)},"drawRect"),D$e=o(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,mO.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),q$e(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),R$e=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),bx=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await yh(e.text,Or()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),_0=o(function(t,e){let r=0,n=0,i=e.text.split(We.lineBreakRegex),[a,s]=mc(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||K_;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),ohe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,_0(t,e),n},"drawLabel"),Bc=-1,yO=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),N$e=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+5,l=t.append("g").lower();var u=l;n||(Bc++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",R$e(`actor${Bc}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Bc).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Bc,e.links!=null&&u.attr("id","root-"+Bc));let h=wl();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${she}`:f+=` ${ahe}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=gO(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?EW(u,h.x+h.width-20,h.y+10,m.substr(1)):kW(u,h.x+h.width-20,h.y+10,m)}vO(r,Ni(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${L$e}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),M$e=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(Bc++,l.append("line").attr("id","actor"+Bc).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Bc);let u=t.append("g"),h=ihe;n?h+=` ${she}`:h+=` ${ahe}`,u.attr("class",h),u.attr("name",e.name);let f=wl();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Bc).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Bc).attr("x1",a-gf/2).attr("y1",i+33).attr("x2",a+gf/2).attr("y2",i+33),u.append("line").attr("x1",a-gf/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+gf/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,vO(r,Ni(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${ihe}`},r),e.height},"drawActorTypeActor"),I$e=o(async function(t,e,r,n){switch(e.type){case"actor":return await M$e(t,e,r,n);case"participant":return await N$e(t,e,r,n)}},"drawActor"),O$e=o(function(t,e,r){let i=t.append("g");lhe(i,e),e.name&&vO(r)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),P$e=o(function(t){return t.append("g")},"anchorElement"),B$e=o(function(t,e,r,n,i){let a=wl(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,gO(s,a)},"drawActivation"),F$e=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=Ky();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",ohe(d,m),m=che(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=Ni(m.text)?await bx(d,m,e):_0(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,Ni(m.text)?(e.starty=e.sections[y].y,await bx(d,m,e)):_0(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,w)=>b+w));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),lhe=o(function(t,e){j3(t,e)},"drawBackgroundRect"),z$e=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),$$e=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),G$e=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),V$e=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),U$e=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),H$e=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),Y$e=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),che=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),W$e=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),vO=function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=mc(m),b=a.split(We.lineBreakRegex);for(let w=0;w{let s=L0(Ne),l=a.actorKeys.reduce((f,d)=>f+=t.get(d).width+(t.get(d).margin||0),0);l-=2*Ne.boxTextMargin,a.wrap&&(a.name=Lt.wrapLabel(a.name,l-2*Ne.wrapPadding,s));let u=Lt.calculateTextDimensions(a.name,s);i=We.getMax(u.height,i);let h=We.getMax(l,u.width+2*Ne.wrapPadding);if(a.margin=Ne.boxTextMargin,la.textMaxHeight=i),We.getMax(n,Ne.height)}var Ne,Ke,X$e,L0,Pg,xO,K$e,Q$e,bO,fhe,dhe,bE,hhe,J$e,tGe,nGe,iGe,aGe,phe,mhe=R(()=>{"use strict";Zt();uhe();ut();rr();Qy();_t();cp();xr();Yn();Ne={},Ke={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,dhe(de())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Ne.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Ne.boxMargin,Math.max),i.updateVal(Ke.data,"startx",t-f*Ne.boxMargin,Math.min),i.updateVal(Ke.data,"stopx",r+f*Ne.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Ne.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Ne.boxMargin,Math.max),i.updateVal(Ke.data,"starty",e-f*Ne.boxMargin,Math.min),i.updateVal(Ke.data,"stopy",n+f*Ne.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=We.getMin(t,r),a=We.getMax(t,r),s=We.getMin(e,n),l=We.getMax(e,n);this.updateVal(Ke.data,"startx",i,Math.min),this.updateVal(Ke.data,"starty",s,Math.min),this.updateVal(Ke.data,"stopx",a,Math.max),this.updateVal(Ke.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=bE(t.from).length||0,a=n.x+n.width/2+(i-1)*Ne.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Ne.activationWidth,stopy:void 0,actor:t.from,anchored:si.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Ke.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=We.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},X$e=o(async function(t,e){Ke.bumpVerticalPos(Ne.boxMargin),e.height=Ne.boxMargin,e.starty=Ke.getVerticalPos();let r=wl();r.x=e.startx,r.y=e.starty,r.width=e.width||Ne.width,r.class="note";let n=t.append("g"),i=si.drawRect(n,r),a=Ky();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Ne.noteFontFamily,a.fontSize=Ne.noteFontSize,a.fontWeight=Ne.noteFontWeight,a.anchor=Ne.noteAlign,a.textMargin=Ne.noteMargin,a.valign="center";let s=Ni(a.text)?await bx(n,a):_0(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Ne.noteMargin),e.height+=l+2*Ne.noteMargin,Ke.bumpVerticalPos(l+2*Ne.noteMargin),e.stopy=e.starty+l+2*Ne.noteMargin,e.stopx=e.startx+r.width,Ke.insert(e.startx,e.starty,e.stopx,e.stopy),Ke.models.addNote(e)},"drawNote"),L0=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),Pg=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),xO=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(j$e,"boundMessage");K$e=o(async function(t,e,r,n){let{startx:i,stopx:a,starty:s,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=Lt.calculateTextDimensions(l,L0(Ne)),p=Ky();p.x=i,p.y=s+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Ne.messageFontFamily,p.fontSize=Ne.messageFontSize,p.fontWeight=Ne.messageFontWeight,p.anchor=Ne.messageAlign,p.valign="center",p.textMargin=Ne.wrapPadding,p.tspan=!1,Ni(p.text)?await bx(t,p,{startx:i,stopx:a,starty:r}):_0(t,p);let m=d.width,g;i===a?Ne.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+We.getMax(Ne.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Ne.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Ne.showSequenceNumbers)&&(g.attr("marker-start","url("+y+"#sequencenumber)"),t.append("text").attr("x",i).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(h))},"drawMessage"),Q$e=o(function(t,e,r,n,i,a,s){let l=0,u=0,h,f=0;for(let d of n){let p=e.get(d),m=p.box;h&&h!=m&&(s||Ke.models.addBox(h),u+=Ne.boxMargin+h.margin),m&&m!=h&&(s||(m.x=l+u,m.y=i),u+=m.margin),p.width=p.width||Ne.width,p.height=We.getMax(p.height||Ne.height,Ne.height),p.margin=p.margin||Ne.actorMargin,f=We.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=Ke.getVerticalPos(),Ke.insert(p.x,i,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,Ke.models.addActor(p)}h&&!s&&Ke.models.addBox(h),Ke.bumpVerticalPos(f)},"addActorRenderingData"),bO=o(async function(t,e,r,n){if(n){let i=0;Ke.bumpVerticalPos(Ne.boxMargin*2);for(let a of r){let s=e.get(a);s.stopy||(s.stopy=Ke.getVerticalPos());let l=await si.drawActor(t,s,Ne,!0);i=We.getMax(i,l)}Ke.bumpVerticalPos(i+Ne.boxMargin)}else for(let i of r){let a=e.get(i);await si.drawActor(t,a,Ne,!1)}},"drawActors"),fhe=o(function(t,e,r,n){let i=0,a=0;for(let s of r){let l=e.get(s),u=tGe(l),h=si.drawPopup(t,l,u,Ne,Ne.forceMenus,n);h.height>i&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),dhe=o(function(t){On(Ne,t),t.fontFamily&&(Ne.actorFontFamily=Ne.noteFontFamily=Ne.messageFontFamily=t.fontFamily),t.fontSize&&(Ne.actorFontSize=Ne.noteFontSize=Ne.messageFontSize=t.fontSize),t.fontWeight&&(Ne.actorFontWeight=Ne.noteFontWeight=Ne.messageFontWeight=t.fontWeight)},"setConf"),bE=o(function(t){return Ke.activations.filter(function(e){return e.actor===t})},"actorActivations"),hhe=o(function(t,e){let r=e.get(t),n=bE(t),i=n.reduce(function(s,l){return We.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return We.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(Fc,"adjustLoopHeightForWrap");o(Z$e,"adjustCreatedDestroyedData");J$e=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=de();Ne=a;let s;i==="sandbox"&&(s=Ge("#i"+e));let l=i==="sandbox"?Ge(s.nodes()[0].contentDocument.body):Ge("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;Ke.init(),V.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):Ge(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),w=await eGe(f,y,n);if(Ne.height=await rGe(f,w,m),si.insertComputerIcon(h),si.insertDatabaseIcon(h),si.insertClockIcon(h),x&&(Ke.bumpVerticalPos(Ne.boxMargin),b&&Ke.bumpVerticalPos(m[0].textMaxHeight)),Ne.hideUnusedParticipants===!0){let F=new Set;y.forEach(B=>{F.add(B.from),F.add(B.to)}),g=g.filter(B=>F.has(B))}Q$e(h,f,d,g,0,y,!1);let S=await aGe(y,f,w,n);si.insertArrowHead(h),si.insertArrowCrossHead(h),si.insertArrowFilledHead(h),si.insertSequenceNumber(h);function T(F,B){let G=Ke.endActivation(F);G.starty+18>B&&(G.starty=B-6,B+=12),si.drawActivation(h,G,B,Ne,bE(F.from).length),Ke.insert(G.startx,B-10,G.stopx,B)}o(T,"activeEnd");let E=1,_=1,A=[],L=[],M=0;for(let F of y){let B,G,z;switch(F.type){case n.db.LINETYPE.NOTE:Ke.resetVerticalPos(),G=F.noteModel,await X$e(h,G);break;case n.db.LINETYPE.ACTIVE_START:Ke.newActivation(F,h,f);break;case n.db.LINETYPE.ACTIVE_END:T(F,Ke.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:Fc(S,F,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,Y=>Ke.newLoop(Y));break;case n.db.LINETYPE.LOOP_END:B=Ke.endLoop(),await si.drawLoop(h,B,"loop",Ne),Ke.bumpVerticalPos(B.stopy-Ke.getVerticalPos()),Ke.models.addLoop(B);break;case n.db.LINETYPE.RECT_START:Fc(S,F,Ne.boxMargin,Ne.boxMargin,Y=>Ke.newLoop(void 0,Y.message));break;case n.db.LINETYPE.RECT_END:B=Ke.endLoop(),L.push(B),Ke.models.addLoop(B),Ke.bumpVerticalPos(B.stopy-Ke.getVerticalPos());break;case n.db.LINETYPE.OPT_START:Fc(S,F,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,Y=>Ke.newLoop(Y));break;case n.db.LINETYPE.OPT_END:B=Ke.endLoop(),await si.drawLoop(h,B,"opt",Ne),Ke.bumpVerticalPos(B.stopy-Ke.getVerticalPos()),Ke.models.addLoop(B);break;case n.db.LINETYPE.ALT_START:Fc(S,F,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,Y=>Ke.newLoop(Y));break;case n.db.LINETYPE.ALT_ELSE:Fc(S,F,Ne.boxMargin+Ne.boxTextMargin,Ne.boxMargin,Y=>Ke.addSectionToLoop(Y));break;case n.db.LINETYPE.ALT_END:B=Ke.endLoop(),await si.drawLoop(h,B,"alt",Ne),Ke.bumpVerticalPos(B.stopy-Ke.getVerticalPos()),Ke.models.addLoop(B);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:Fc(S,F,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,Y=>Ke.newLoop(Y)),Ke.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:Fc(S,F,Ne.boxMargin+Ne.boxTextMargin,Ne.boxMargin,Y=>Ke.addSectionToLoop(Y));break;case n.db.LINETYPE.PAR_END:B=Ke.endLoop(),await si.drawLoop(h,B,"par",Ne),Ke.bumpVerticalPos(B.stopy-Ke.getVerticalPos()),Ke.models.addLoop(B);break;case n.db.LINETYPE.AUTONUMBER:E=F.message.start||E,_=F.message.step||_,F.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:Fc(S,F,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,Y=>Ke.newLoop(Y));break;case n.db.LINETYPE.CRITICAL_OPTION:Fc(S,F,Ne.boxMargin+Ne.boxTextMargin,Ne.boxMargin,Y=>Ke.addSectionToLoop(Y));break;case n.db.LINETYPE.CRITICAL_END:B=Ke.endLoop(),await si.drawLoop(h,B,"critical",Ne),Ke.bumpVerticalPos(B.stopy-Ke.getVerticalPos()),Ke.models.addLoop(B);break;case n.db.LINETYPE.BREAK_START:Fc(S,F,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,Y=>Ke.newLoop(Y));break;case n.db.LINETYPE.BREAK_END:B=Ke.endLoop(),await si.drawLoop(h,B,"break",Ne),Ke.bumpVerticalPos(B.stopy-Ke.getVerticalPos()),Ke.models.addLoop(B);break;default:try{z=F.msgModel,z.starty=Ke.getVerticalPos(),z.sequenceIndex=E,z.sequenceVisible=n.db.showSequenceNumbers();let Y=await j$e(h,z);Z$e(F,z,Y,M,f,d,p),A.push({messageModel:z,lineStartY:Y}),Ke.models.addMessage(z)}catch(Y){V.error("error while drawing message",Y)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(F.type)&&(E=E+_),M++}V.debug("createdActors",d),V.debug("destroyedActors",p),await bO(h,f,g,!1);for(let F of A)await K$e(h,F.messageModel,F.lineStartY,n);Ne.mirrorActors&&await bO(h,f,g,!0),L.forEach(F=>si.drawBackgroundRect(h,F)),yO(h,f,g,Ne);for(let F of Ke.models.boxes)F.height=Ke.getVerticalPos()-F.y,Ke.insert(F.x,F.y,F.x+F.width,F.height),F.startx=F.x,F.starty=F.y,F.stopx=F.startx+F.width,F.stopy=F.starty+F.height,F.stroke="rgb(0,0,0, 0.5)",si.drawBox(h,F,Ne);x&&Ke.bumpVerticalPos(Ne.boxMargin);let N=fhe(h,f,g,u),{bounds:k}=Ke.getBounds();k.startx===void 0&&(k.startx=0),k.starty===void 0&&(k.starty=0),k.stopx===void 0&&(k.stopx=0),k.stopy===void 0&&(k.stopy=0);let I=k.stopy-k.starty;I2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Ne.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Lt.wrapLabel(t.message,We.getMax(m+2*Ne.wrapPadding,Ne.width),L0(Ne)));let g=Lt.calculateTextDimensions(t.message,L0(Ne));return{width:We.getMax(t.wrap?0:g.width+2*Ne.wrapPadding,m+2*Ne.wrapPadding,Ne.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),aGe=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.id=Lt.random({length:10}),h.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:h.message&&(s=a.pop(),i[s.id]=s,i[h.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=bE(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Ne.activationWidth/2,g={startx:m,stopx:m+Ne.activationWidth,actor:h.from,enabled:!0};Ke.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=Ke.activations.map(p=>p.actor).lastIndexOf(h.from);Ke.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await nGe(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=We.getMin(s.from,l.startx),s.to=We.getMax(s.to,l.startx+l.width),s.width=We.getMax(s.width,Math.abs(s.from-s.to))-Ne.labelBoxWidth})):(u=iGe(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=We.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=We.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=We.getMax(s.width,Math.abs(s.to-s.from))-Ne.labelBoxWidth}else s.from=We.getMin(u.startx,s.from),s.to=We.getMax(u.stopx,s.to),s.width=We.getMax(s.width,u.width)-Ne.labelBoxWidth}))}return Ke.activations=[],V.debug("Loop type widths:",i),i},"calculateLoopBounds"),phe={bounds:Ke,drawActors:bO,drawActorsPopup:fhe,setConf:dhe,draw:J$e}});var ghe={};hr(ghe,{diagram:()=>sGe});var sGe,yhe=R(()=>{"use strict";que();the();nhe();mhe();sGe={parser:Wue,db:pO,renderer:phe,styles:rhe,init:o(({wrap:t})=>{pO.setWrap(t)},"init")}});var wO,wE,TO=R(()=>{"use strict";wO=function(){var t=o(function(Pe,_e,me,W){for(me=me||{},W=Pe.length;W--;me[Pe[W]]=_e);return me},"o"),e=[1,17],r=[1,18],n=[1,19],i=[1,39],a=[1,40],s=[1,25],l=[1,23],u=[1,24],h=[1,31],f=[1,32],d=[1,33],p=[1,34],m=[1,35],g=[1,36],y=[1,26],v=[1,27],x=[1,28],b=[1,29],w=[1,43],S=[1,30],T=[1,42],E=[1,44],_=[1,41],A=[1,45],L=[1,9],M=[1,8,9],N=[1,56],k=[1,57],I=[1,58],C=[1,59],O=[1,60],D=[1,61],P=[1,62],F=[1,8,9,39],B=[1,74],G=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],z=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Y=[13,74,80,95,97,98],Q=[13,64,65,74,80,95,97,98],X=[13,59,60,61,62,63,74,80,95,97,98],ie=[1,93],j=[1,110],J=[1,108],Z=[1,102],H=[1,103],q=[1,104],K=[1,105],se=[1,106],ce=[1,107],ue=[1,109],te=[1,8,9,37,39,42],De=[1,8,9,21],oe=[1,8,9,78],ke=[1,8,9,21,73,74,78,80,81,82,83,84,85],Ie={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:o(function(_e,me,W,fe,ge,re,he){var ne=re.length-1;switch(ge){case 8:this.$=re[ne-1];break;case 9:case 11:case 12:this.$=re[ne];break;case 10:case 13:this.$=re[ne-1]+re[ne];break;case 14:case 15:this.$=re[ne-1]+"~"+re[ne]+"~";break;case 16:fe.addRelation(re[ne]);break;case 17:re[ne-1].title=fe.cleanupLabel(re[ne]),fe.addRelation(re[ne-1]);break;case 27:this.$=re[ne].trim(),fe.setAccTitle(this.$);break;case 28:case 29:this.$=re[ne].trim(),fe.setAccDescription(this.$);break;case 30:fe.addClassesToNamespace(re[ne-3],re[ne-1]);break;case 31:fe.addClassesToNamespace(re[ne-4],re[ne-1]);break;case 32:this.$=re[ne],fe.addNamespace(re[ne]);break;case 33:this.$=[re[ne]];break;case 34:this.$=[re[ne-1]];break;case 35:re[ne].unshift(re[ne-2]),this.$=re[ne];break;case 37:fe.setCssClass(re[ne-2],re[ne]);break;case 38:fe.addMembers(re[ne-3],re[ne-1]);break;case 39:fe.setCssClass(re[ne-5],re[ne-3]),fe.addMembers(re[ne-5],re[ne-1]);break;case 40:this.$=re[ne],fe.addClass(re[ne]);break;case 41:this.$=re[ne-1],fe.addClass(re[ne-1]),fe.setClassLabel(re[ne-1],re[ne]);break;case 42:fe.addAnnotation(re[ne],re[ne-2]);break;case 43:this.$=[re[ne]];break;case 44:re[ne].push(re[ne-1]),this.$=re[ne];break;case 45:break;case 46:fe.addMember(re[ne-1],fe.cleanupLabel(re[ne]));break;case 47:break;case 48:break;case 49:this.$={id1:re[ne-2],id2:re[ne],relation:re[ne-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:re[ne-3],id2:re[ne],relation:re[ne-1],relationTitle1:re[ne-2],relationTitle2:"none"};break;case 51:this.$={id1:re[ne-3],id2:re[ne],relation:re[ne-2],relationTitle1:"none",relationTitle2:re[ne-1]};break;case 52:this.$={id1:re[ne-4],id2:re[ne],relation:re[ne-2],relationTitle1:re[ne-3],relationTitle2:re[ne-1]};break;case 53:fe.addNote(re[ne],re[ne-1]);break;case 54:fe.addNote(re[ne]);break;case 55:fe.setDirection("TB");break;case 56:fe.setDirection("BT");break;case 57:fe.setDirection("RL");break;case 58:fe.setDirection("LR");break;case 59:this.$={type1:re[ne-2],type2:re[ne],lineType:re[ne-1]};break;case 60:this.$={type1:"none",type2:re[ne],lineType:re[ne-1]};break;case 61:this.$={type1:re[ne-1],type2:"none",lineType:re[ne]};break;case 62:this.$={type1:"none",type2:"none",lineType:re[ne]};break;case 63:this.$=fe.relationType.AGGREGATION;break;case 64:this.$=fe.relationType.EXTENSION;break;case 65:this.$=fe.relationType.COMPOSITION;break;case 66:this.$=fe.relationType.DEPENDENCY;break;case 67:this.$=fe.relationType.LOLLIPOP;break;case 68:this.$=fe.lineType.LINE;break;case 69:this.$=fe.lineType.DOTTED_LINE;break;case 70:case 76:this.$=re[ne-2],fe.setClickEvent(re[ne-1],re[ne]);break;case 71:case 77:this.$=re[ne-3],fe.setClickEvent(re[ne-2],re[ne-1]),fe.setTooltip(re[ne-2],re[ne]);break;case 72:this.$=re[ne-2],fe.setLink(re[ne-1],re[ne]);break;case 73:this.$=re[ne-3],fe.setLink(re[ne-2],re[ne-1],re[ne]);break;case 74:this.$=re[ne-3],fe.setLink(re[ne-2],re[ne-1]),fe.setTooltip(re[ne-2],re[ne]);break;case 75:this.$=re[ne-4],fe.setLink(re[ne-3],re[ne-2],re[ne]),fe.setTooltip(re[ne-3],re[ne-1]);break;case 78:this.$=re[ne-3],fe.setClickEvent(re[ne-2],re[ne-1],re[ne]);break;case 79:this.$=re[ne-4],fe.setClickEvent(re[ne-3],re[ne-2],re[ne-1]),fe.setTooltip(re[ne-3],re[ne]);break;case 80:this.$=re[ne-3],fe.setLink(re[ne-2],re[ne]);break;case 81:this.$=re[ne-4],fe.setLink(re[ne-3],re[ne-1],re[ne]);break;case 82:this.$=re[ne-4],fe.setLink(re[ne-3],re[ne-1]),fe.setTooltip(re[ne-3],re[ne]);break;case 83:this.$=re[ne-5],fe.setLink(re[ne-4],re[ne-2],re[ne]),fe.setTooltip(re[ne-4],re[ne-1]);break;case 84:this.$=re[ne-2],fe.setCssStyle(re[ne-1],re[ne]);break;case 85:fe.setCssClass(re[ne-1],re[ne]);break;case 86:this.$=[re[ne]];break;case 87:re[ne-2].push(re[ne]),this.$=re[ne-2];break;case 89:this.$=re[ne-1]+re[ne];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:s,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:w,76:S,80:T,95:E,97:_,98:A},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(L,[2,5],{8:[1,46]}),{8:[1,47]},t(M,[2,16],{21:[1,48]}),t(M,[2,18]),t(M,[2,19]),t(M,[2,20]),t(M,[2,21]),t(M,[2,22]),t(M,[2,23]),t(M,[2,24]),t(M,[2,25]),t(M,[2,26]),{32:[1,49]},{34:[1,50]},t(M,[2,29]),t(M,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:N,60:k,61:I,62:C,63:O,64:D,65:P}),{37:[1,63]},t(F,[2,36],{37:[1,65],42:[1,64]}),t(M,[2,47]),t(M,[2,48]),{16:66,74:w,80:T,95:E,97:_},{16:37,17:67,18:38,74:w,80:T,95:E,97:_,98:A},{16:37,17:68,18:38,74:w,80:T,95:E,97:_,98:A},{16:37,17:69,18:38,74:w,80:T,95:E,97:_,98:A},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:w,80:T,95:E,97:_,98:A},{13:B,51:73},t(M,[2,55]),t(M,[2,56]),t(M,[2,57]),t(M,[2,58]),t(G,[2,11],{16:37,18:38,17:75,19:[1,76],74:w,80:T,95:E,97:_,98:A}),t(G,[2,12],{19:[1,77]}),{15:78,16:79,74:w,80:T,95:E,97:_},{16:37,17:80,18:38,74:w,80:T,95:E,97:_,98:A},t(z,[2,112]),t(z,[2,113]),t(z,[2,114]),t(z,[2,115]),t([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),t(L,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:e,33:r,35:n,40:i,44:a,45:s,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:w,76:S,80:T,95:E,97:_,98:A}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:s,47:l,48:u,50:h,52:f,53:d,54:p,55:m,56:g,66:y,67:v,69:x,73:b,74:w,76:S,80:T,95:E,97:_,98:A},t(M,[2,17]),t(M,[2,27]),t(M,[2,28]),{13:[1,84],16:37,17:83,18:38,74:w,80:T,95:E,97:_,98:A},{49:85,57:54,58:55,59:N,60:k,61:I,62:C,63:O,64:D,65:P},t(M,[2,46]),{58:86,64:D,65:P},t(Y,[2,62],{57:87,59:N,60:k,61:I,62:C,63:O}),t(Q,[2,63]),t(Q,[2,64]),t(Q,[2,65]),t(Q,[2,66]),t(Q,[2,67]),t(X,[2,68]),t(X,[2,69]),{8:[1,89],23:90,38:88,41:22,44:a},{16:91,74:w,80:T,95:E,97:_},{43:92,47:ie},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:j,73:J,74:Z,75:99,77:100,79:101,80:H,81:q,82:K,83:se,84:ce,85:ue},{74:[1,111]},{13:B,51:112},t(M,[2,54]),t(M,[2,117]),t(G,[2,13]),t(G,[2,14]),t(G,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:w,80:T,95:E,97:_},t(te,[2,40],{11:114,12:[1,115]}),t(L,[2,7]),{9:[1,116]},t(De,[2,49]),{16:37,17:117,18:38,74:w,80:T,95:E,97:_,98:A},{13:[1,119],16:37,17:118,18:38,74:w,80:T,95:E,97:_,98:A},t(Y,[2,61],{57:120,59:N,60:k,61:I,62:C,63:O}),t(Y,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:a},{8:[1,123],39:[2,33]},t(F,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:ie},{16:37,17:127,18:38,74:w,80:T,95:E,97:_,98:A},t(M,[2,70],{13:[1,128]}),t(M,[2,72],{13:[1,130],68:[1,129]}),t(M,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},t(M,[2,84],{78:[1,134]}),t(oe,[2,86],{79:135,21:j,73:J,74:Z,80:H,81:q,82:K,83:se,84:ce,85:ue}),t(ke,[2,88]),t(ke,[2,90]),t(ke,[2,91]),t(ke,[2,92]),t(ke,[2,93]),t(ke,[2,94]),t(ke,[2,95]),t(ke,[2,96]),t(ke,[2,97]),t(ke,[2,98]),t(M,[2,85]),t(M,[2,53]),{37:[2,10]},t(te,[2,41]),{13:[1,136]},{1:[2,4]},t(De,[2,51]),t(De,[2,50]),{16:37,17:137,18:38,74:w,80:T,95:E,97:_,98:A},t(Y,[2,59]),t(M,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:a},{43:140,47:ie},t(F,[2,38]),{39:[2,44]},t(M,[2,42]),t(M,[2,71]),t(M,[2,73]),t(M,[2,74],{68:[1,141]}),t(M,[2,77]),t(M,[2,78],{13:[1,142]}),t(M,[2,80],{13:[1,144],68:[1,143]}),{21:j,73:J,74:Z,77:145,79:101,80:H,81:q,82:K,83:se,84:ce,85:ue},t(ke,[2,89]),{14:[1,146]},t(De,[2,52]),t(M,[2,31]),{39:[2,35]},{39:[1,147]},t(M,[2,75]),t(M,[2,79]),t(M,[2,81]),t(M,[2,82],{68:[1,148]}),t(oe,[2,87],{79:135,21:j,73:J,74:Z,80:H,81:q,82:K,83:se,84:ce,85:ue}),t(te,[2,8]),t(F,[2,39]),t(M,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:o(function(_e,me){if(me.recoverable)this.trace(_e);else{var W=new Error(_e);throw W.hash=me,W}},"parseError"),parse:o(function(_e){var me=this,W=[0],fe=[],ge=[null],re=[],he=this.table,ne="",ae=0,we=0,Te=0,Ce=2,Ae=1,$e=re.slice.call(arguments,1),Me=Object.create(this.lexer),ye={yy:{}};for(var He in this.yy)Object.prototype.hasOwnProperty.call(this.yy,He)&&(ye.yy[He]=this.yy[He]);Me.setInput(_e,ye.yy),ye.yy.lexer=Me,ye.yy.parser=this,typeof Me.yylloc>"u"&&(Me.yylloc={});var ze=Me.yylloc;re.push(ze);var Ze=Me.options&&Me.options.ranges;typeof ye.yy.parseError=="function"?this.parseError=ye.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gt(mt){W.length=W.length-2*mt,ge.length=ge.length-mt,re.length=re.length-mt}o(gt,"popStack");function yt(){var mt;return mt=fe.pop()||Me.lex()||Ae,typeof mt!="number"&&(mt instanceof Array&&(fe=mt,mt=fe.pop()),mt=me.symbols_[mt]||mt),mt}o(yt,"lex");for(var tt,Ye,Je,Ve,je,kt,at={},xt,it,dt,lt;;){if(Je=W[W.length-1],this.defaultActions[Je]?Ve=this.defaultActions[Je]:((tt===null||typeof tt>"u")&&(tt=yt()),Ve=he[Je]&&he[Je][tt]),typeof Ve>"u"||!Ve.length||!Ve[0]){var It="";lt=[];for(xt in he[Je])this.terminals_[xt]&&xt>Ce&<.push("'"+this.terminals_[xt]+"'");Me.showPosition?It="Parse error on line "+(ae+1)+`: +`+Me.showPosition()+` +Expecting `+lt.join(", ")+", got '"+(this.terminals_[tt]||tt)+"'":It="Parse error on line "+(ae+1)+": Unexpected "+(tt==Ae?"end of input":"'"+(this.terminals_[tt]||tt)+"'"),this.parseError(It,{text:Me.match,token:this.terminals_[tt]||tt,line:Me.yylineno,loc:ze,expected:lt})}if(Ve[0]instanceof Array&&Ve.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Je+", token: "+tt);switch(Ve[0]){case 1:W.push(tt),ge.push(Me.yytext),re.push(Me.yylloc),W.push(Ve[1]),tt=null,Ye?(tt=Ye,Ye=null):(we=Me.yyleng,ne=Me.yytext,ae=Me.yylineno,ze=Me.yylloc,Te>0&&Te--);break;case 2:if(it=this.productions_[Ve[1]][1],at.$=ge[ge.length-it],at._$={first_line:re[re.length-(it||1)].first_line,last_line:re[re.length-1].last_line,first_column:re[re.length-(it||1)].first_column,last_column:re[re.length-1].last_column},Ze&&(at._$.range=[re[re.length-(it||1)].range[0],re[re.length-1].range[1]]),kt=this.performAction.apply(at,[ne,we,ae,ye.yy,Ve[1],ge,re].concat($e)),typeof kt<"u")return kt;it&&(W=W.slice(0,-1*it*2),ge=ge.slice(0,-1*it),re=re.slice(0,-1*it)),W.push(this.productions_[Ve[1]][0]),ge.push(at.$),re.push(at._$),dt=he[W[W.length-2]][W[W.length-1]],W.push(dt);break;case 3:return!0}}return!0},"parse")},Se=function(){var Pe={EOF:1,parseError:o(function(me,W){if(this.yy.parser)this.yy.parser.parseError(me,W);else throw new Error(me)},"parseError"),setInput:o(function(_e,me){return this.yy=me||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var me=_e.match(/(?:\r\n?|\n).*/g);return me?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:o(function(_e){var me=_e.length,W=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-me),this.offset-=me;var fe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1&&(this.yylineno-=W.length-1);var ge=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===fe.length?this.yylloc.first_column:0)+fe[fe.length-W.length].length-W[0].length:this.yylloc.first_column-me},this.options.ranges&&(this.yylloc.range=[ge[0],ge[0]+this.yyleng-me]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:o(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var _e=this.pastInput(),me=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+` +`+me+"^"},"showPosition"),test_match:o(function(_e,me){var W,fe,ge;if(this.options.backtrack_lexer&&(ge={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ge.yylloc.range=this.yylloc.range.slice(0))),fe=_e[0].match(/(?:\r\n?|\n).*/g),fe&&(this.yylineno+=fe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:fe?fe[fe.length-1].length-fe[fe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],W=this.performAction.call(this,this.yy,this,me,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var re in ge)this[re]=ge[re];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,me,W,fe;this._more||(this.yytext="",this.match="");for(var ge=this._currentRules(),re=0;reme[0].length)){if(me=W,fe=re,this.options.backtrack_lexer){if(_e=this.test_match(W,ge[re]),_e!==!1)return _e;if(this._backtrack){me=!1;continue}else return!1}else if(!this.options.flex)break}return me?(_e=this.test_match(me,ge[fe]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var me=this.next();return me||this.lex()},"lex"),begin:o(function(me){this.conditionStack.push(me)},"begin"),popState:o(function(){var me=this.conditionStack.length-1;return me>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(me){return me=this.conditionStack.length-1-Math.abs(me||0),me>=0?this.conditionStack[me]:"INITIAL"},"topState"),pushState:o(function(me){this.begin(me)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(me,W,fe,ge){var re=ge;switch(fe){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),33;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;break;case 29:return this.popState(),8;break;case 30:break;case 31:return this.begin("namespace-body"),37;break;case 32:return this.popState(),39;break;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;break;case 38:return this.popState(),8;break;case 39:break;case 40:return this.popState(),this.popState(),39;break;case 41:return this.begin("class-body"),37;break;case 42:return this.popState(),39;break;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return Pe}();Ie.lexer=Se;function Ue(){this.yy={}}return o(Ue,"Parser"),Ue.prototype=Ie,Ie.Parser=Ue,new Ue}();wO.parser=wO;wE=wO});var bhe,wx,whe=R(()=>{"use strict";_t();rr();bhe=["#","+","~","-",""],wx=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="";let n=qr(e,de());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+gh(this.id);this.memberType==="method"&&(e+=`(${gh(this.parameters.trim())})`,this.returnType&&(e+=" : "+gh(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let i=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(i){let a=i[1]?i[1].trim():"";if(bhe.includes(a)&&(this.visibility=a),this.id=i[2].trim(),this.parameters=i[3]?i[3].trim():"",r=i[4]?i[4].trim():"",this.returnType=i[5]?i[5].trim():"",r===""){let s=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(s)&&(r=s,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let n=e.length,i=e.substring(0,1),a=e.substring(n-1);bhe.includes(i)&&(this.visibility=i),/[$*]/.exec(a)&&(r=a),this.id=e.substring(this.visibility===""?0:1,r===""?n:n-1)}this.classifier=r}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var EE,EO,$i,TE,The,qu,kO,Tx,D0,R0,uGe,kE,khe,hGe,fGe,dGe,pGe,mGe,gGe,yGe,Ehe,vGe,xGe,bGe,CO,wGe,TGe,kGe,EGe,CGe,SGe,AGe,_Ge,Che,SO,LGe,DGe,RGe,NGe,MGe,IGe,OGe,Bg,AO=R(()=>{"use strict";Zt();ut();_t();rr();xr();bi();whe();EE="classId-",EO=[],$i=new Map,TE=[],The=0,qu=new Map,kO=0,Tx=[],D0=o(t=>We.sanitizeText(t,de()),"sanitizeText"),R0=o(function(t){let e=We.sanitizeText(t,de()),r="",n=e;if(e.indexOf("~")>0){let i=e.split("~");n=D0(i[0]),r=D0(i[1])}return{className:n,type:r}},"splitClassNameAndType"),uGe=o(function(t,e){let r=We.sanitizeText(t,de());e&&(e=D0(e));let{className:n}=R0(r);$i.get(n).label=e},"setClassLabel"),kE=o(function(t){let e=We.sanitizeText(t,de()),{className:r,type:n}=R0(e);if($i.has(r))return;let i=We.sanitizeText(r,de());$i.set(i,{id:i,type:n,label:i,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:EE+i+"-"+The}),The++},"addClass"),khe=o(function(t){let e=We.sanitizeText(t,de());if($i.has(e))return $i.get(e).domId;throw new Error("Class not found: "+e)},"lookUpDomId"),hGe=o(function(){EO=[],$i=new Map,TE=[],Tx=[],Tx.push(Che),qu=new Map,kO=0,SO="TB",vr()},"clear"),fGe=o(function(t){return $i.get(t)},"getClass"),dGe=o(function(){return $i},"getClasses"),pGe=o(function(){return EO},"getRelations"),mGe=o(function(){return TE},"getNotes"),gGe=o(function(t){V.debug("Adding relation: "+JSON.stringify(t)),kE(t.id1),kE(t.id2),t.id1=R0(t.id1).className,t.id2=R0(t.id2).className,t.relationTitle1=We.sanitizeText(t.relationTitle1.trim(),de()),t.relationTitle2=We.sanitizeText(t.relationTitle2.trim(),de()),EO.push(t)},"addRelation"),yGe=o(function(t,e){let r=R0(t).className;$i.get(r).annotations.push(e)},"addAnnotation"),Ehe=o(function(t,e){kE(t);let r=R0(t).className,n=$i.get(r);if(typeof e=="string"){let i=e.trim();i.startsWith("<<")&&i.endsWith(">>")?n.annotations.push(D0(i.substring(2,i.length-2))):i.indexOf(")")>0?n.methods.push(new wx(i,"method")):i&&n.members.push(new wx(i,"attribute"))}},"addMember"),vGe=o(function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(r=>Ehe(t,r)))},"addMembers"),xGe=o(function(t,e){let r={id:`note${TE.length}`,class:e,text:t};TE.push(r)},"addNote"),bGe=o(function(t){return t.startsWith(":")&&(t=t.substring(1)),D0(t.trim())},"cleanupLabel"),CO=o(function(t,e){t.split(",").forEach(function(r){let n=r;/\d/.exec(r[0])&&(n=EE+n);let i=$i.get(n);i&&i.cssClasses.push(e)})},"setCssClass"),wGe=o(function(t,e){t.split(",").forEach(function(r){e!==void 0&&($i.get(r).tooltip=D0(e))})},"setTooltip"),TGe=o(function(t,e){return e&&qu.has(e)?qu.get(e).classes.get(t).tooltip:$i.get(t).tooltip},"getTooltip"),kGe=o(function(t,e,r){let n=de();t.split(",").forEach(function(i){let a=i;/\d/.exec(i[0])&&(a=EE+a);let s=$i.get(a);s&&(s.link=Lt.formatUrl(e,n),n.securityLevel==="sandbox"?s.linkTarget="_top":typeof r=="string"?s.linkTarget=D0(r):s.linkTarget="_blank")}),CO(t,"clickable")},"setLink"),EGe=o(function(t,e,r){t.split(",").forEach(function(n){CGe(n,e,r),$i.get(n).haveCallback=!0}),CO(t,"clickable")},"setClickEvent"),CGe=o(function(t,e,r){let n=We.sanitizeText(t,de());if(de().securityLevel!=="loose"||e===void 0)return;let a=n;if($i.has(a)){let s=khe(a),l=[];if(typeof r=="string"){l=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let u=0;u")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),Ge(this).classed("hover",!1)})},"setupToolTips");Tx.push(Che);SO="TB",LGe=o(()=>SO,"getDirection"),DGe=o(t=>{SO=t},"setDirection"),RGe=o(function(t){qu.has(t)||(qu.set(t,{id:t,classes:new Map,children:{},domId:EE+t+"-"+kO}),kO++)},"addNamespace"),NGe=o(function(t){return qu.get(t)},"getNamespace"),MGe=o(function(){return qu},"getNamespaces"),IGe=o(function(t,e){if(qu.has(t))for(let r of e){let{className:n}=R0(r);$i.get(n).parent=t,qu.get(t).classes.set(n,$i.get(n))}},"addClassesToNamespace"),OGe=o(function(t,e){let r=$i.get(t);if(!(!e||!r))for(let n of e)n.includes(",")?r.styles.push(...n.split(",")):r.styles.push(n)},"setCssStyle"),Bg={setAccTitle:kr,getAccTitle:Ar,getAccDescription:Lr,setAccDescription:_r,getConfig:o(()=>de().class,"getConfig"),addClass:kE,bindFunctions:SGe,clear:hGe,getClass:fGe,getClasses:dGe,getNotes:mGe,addAnnotation:yGe,addNote:xGe,getRelations:pGe,addRelation:gGe,getDirection:LGe,setDirection:DGe,addMember:Ehe,addMembers:vGe,cleanupLabel:bGe,lineType:AGe,relationType:_Ge,setClickEvent:EGe,setCssClass:CO,setLink:kGe,getTooltip:TGe,setTooltip:wGe,lookUpDomId:khe,setDiagramTitle:nn,getDiagramTitle:Xr,setClassLabel:uGe,addNamespace:RGe,addClassesToNamespace:IGe,getNamespace:NGe,getNamespaces:MGe,setCssStyle:OGe}});var PGe,CE,_O=R(()=>{"use strict";PGe=o(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; @@ -1400,17 +1400,17 @@ g.classGroup line { font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),Xw=uze});var Kce,hze,fze,Zce,dze,Qce,jw,Jce=_(()=>{"use strict";Xt();pr();it();Qt();Kce=0,hze=s(function(t,e,r,n,i){let a=s(function(b){switch(b){case i.db.relationType.AGGREGATION:return"aggregation";case i.db.relationType.EXTENSION:return"extension";case i.db.relationType.COMPOSITION:return"composition";case i.db.relationType.DEPENDENCY:return"dependency";case i.db.relationType.LOLLIPOP:return"lollipop"}},"getRelationType");e.points=e.points.filter(b=>!Number.isNaN(b.y));let o=e.points,l=ra().x(function(b){return b.x}).y(function(b){return b.y}).curve(hs),u=t.append("path").attr("d",l(o)).attr("id","edge"+Kce).attr("class","relation"),h="";n.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),r.relation.lineType==1&&u.attr("class","relation dashed-line"),r.relation.lineType==10&&u.attr("class","relation dotted-line"),r.relation.type1!=="none"&&u.attr("marker-start","url("+h+"#"+a(r.relation.type1)+"Start)"),r.relation.type2!=="none"&&u.attr("marker-end","url("+h+"#"+a(r.relation.type2)+"End)");let f,d,p=e.points.length,m=dt.calcLabelPosition(e.points);f=m.x,d=m.y;let g,y,v,x;if(p%2!==0&&p>1){let b=dt.calcCardinalityPosition(r.relation.type1!=="none",e.points,e.points[0]),k=dt.calcCardinalityPosition(r.relation.type2!=="none",e.points,e.points[p-1]);V.debug("cardinality_1_point "+JSON.stringify(b)),V.debug("cardinality_2_point "+JSON.stringify(k)),g=b.x,y=b.y,v=k.x,x=k.y}if(r.title!==void 0){let b=t.append("g").attr("class","classLabel"),k=b.append("text").attr("class","label").attr("x",f).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=k;let A=k.node().getBBox();b.insert("rect",":first-child").attr("class","box").attr("x",A.x-n.padding/2).attr("y",A.y-n.padding/2).attr("width",A.width+n.padding).attr("height",A.height+n.padding)}V.info("Rendering relation "+JSON.stringify(r)),r.relationTitle1!==void 0&&r.relationTitle1!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",g).attr("y",y).attr("fill","black").attr("font-size","6").text(r.relationTitle1),r.relationTitle2!==void 0&&r.relationTitle2!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",v).attr("y",x).attr("fill","black").attr("font-size","6").text(r.relationTitle2),Kce++},"drawEdge"),fze=s(function(t,e,r,n){V.debug("Rendering class ",e,r);let i=e.id,a={id:i,label:e.id,width:0,height:0},o=t.append("g").attr("id",n.db.lookUpDomId(i)).attr("class","classGroup"),l;e.link?l=o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",r.textHeight+r.padding).attr("x",0):l=o.append("text").attr("y",r.textHeight+r.padding).attr("x",0);let u=!0;e.annotations.forEach(function(k){let A=l.append("tspan").text("\xAB"+k+"\xBB");u||A.attr("dy",r.textHeight),u=!1});let h=Zce(e),f=l.append("tspan").text(h).attr("class","title");u||f.attr("dy",r.textHeight);let d=l.node().getBBox().height,p,m,g;if(e.members.length>0){p=o.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin/2).attr("y2",r.padding+d+r.dividerMargin/2);let k=o.append("text").attr("x",r.padding).attr("y",d+r.dividerMargin+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.members.forEach(function(A){Qce(k,A,u,r),u=!1}),m=k.node().getBBox()}if(e.methods.length>0){g=o.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin+m.height).attr("y2",r.padding+d+r.dividerMargin+m.height);let k=o.append("text").attr("x",r.padding).attr("y",d+2*r.dividerMargin+m.height+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.methods.forEach(function(A){Qce(k,A,u,r),u=!1})}let y=o.node().getBBox();var v=" ";e.cssClasses.length>0&&(v=v+e.cssClasses.join(" "));let b=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*r.padding).attr("height",y.height+r.padding+.5*r.dividerMargin).attr("class",v).node().getBBox().width;return l.node().childNodes.forEach(function(k){k.setAttribute("x",(b-k.getBBox().width)/2)}),e.tooltip&&l.insert("title").text(e.tooltip),p&&p.attr("x2",b),g&&g.attr("x2",b),a.width=b,a.height=y.height+r.padding+.5*r.dividerMargin,a},"drawClass"),Zce=s(function(t){let e=t.id;return t.type&&(e+="<"+uh(t.type)+">"),e},"getClassTitleString"),dze=s(function(t,e,r,n){V.debug("Rendering note ",e,r);let i=e.id,a={id:i,text:e.text,width:0,height:0},o=t.append("g").attr("id",i).attr("class","classGroup"),l=o.append("text").attr("y",r.textHeight+r.padding).attr("x",0),u=JSON.parse(`"${e.text}"`).split(` -`);u.forEach(function(p){V.debug(`Adding line: ${p}`),l.append("tspan").text(p).attr("class","title").attr("dy",r.textHeight)});let h=o.node().getBBox(),d=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*r.padding).attr("height",h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach(function(p){p.setAttribute("x",(d-p.getBBox().width)/2)}),a.width=d,a.height=h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin,a},"drawNote"),Qce=s(function(t,e,r,n){let{displayText:i,cssStyle:a}=e.getDisplayDetails(),o=t.append("tspan").attr("x",n.padding).text(i);a!==""&&o.attr("style",e.cssStyle),r||o.attr("dy",n.textHeight)},"addTspan"),jw={getClassTitleString:Zce,drawClass:fze,drawEdge:hze,drawNote:dze}});var Qw,Kw,ax,pze,mze,eue,tue=_(()=>{"use strict";Xt();Dd();la();it();Jce();Un();gt();Qw={},Kw=20,ax=s(function(t){let e=Object.entries(Qw).find(r=>r[1].label===t);if(e)return e[0]},"getGraphId"),pze=s(function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),mze=s(function(t,e,r,n){let i=le().class;Qw={},V.info("Rendering diagram "+t);let a=le().securityLevel,o;a==="sandbox"&&(o=Me("#i"+e));let l=a==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body"),u=l.select(`[id='${e}']`);pze(u);let h=new ir({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}});let f=n.db.getClasses(),d=[...f.keys()];for(let b of d){let k=f.get(b),A=jw.drawClass(u,k,i,n);Qw[A.id]=A,h.setNode(A.id,A),V.info("Org height: "+A.height)}n.db.getRelations().forEach(function(b){V.info("tjoho"+ax(b.id1)+ax(b.id2)+JSON.stringify(b)),h.setEdge(ax(b.id1),ax(b.id2),{relation:b},b.title||"DEFAULT")}),n.db.getNotes().forEach(function(b){V.debug(`Adding note: ${JSON.stringify(b)}`);let k=jw.drawNote(u,b,i,n);Qw[k.id]=k,h.setNode(k.id,k),b.class&&f.has(b.class)&&h.setEdge(b.id,ax(b.class),{relation:{id1:b.id,id2:b.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),eo(h),h.nodes().forEach(function(b){b!==void 0&&h.node(b)!==void 0&&(V.debug("Node "+b+": "+JSON.stringify(h.node(b))),l.select("#"+(n.db.lookUpDomId(b)||b)).attr("transform","translate("+(h.node(b).x-h.node(b).width/2)+","+(h.node(b).y-h.node(b).height/2)+" )"))}),h.edges().forEach(function(b){b!==void 0&&h.edge(b)!==void 0&&(V.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(h.edge(b))),jw.drawEdge(u,h.edge(b),h.edge(b).relation,i,n))});let g=u.node().getBBox(),y=g.width+Kw*2,v=g.height+Kw*2;xr(u,v,y,i.useMaxWidth);let x=`${g.x-Kw} ${g.y-Kw} ${y} ${v}`;V.debug(`viewBox ${x}`),u.attr("viewBox",x)},"draw"),eue={draw:mze}});var rue={};ur(rue,{diagram:()=>gze});var gze,nue=_(()=>{"use strict";RN();PN();BN();tue();gze={parser:qw,db:wg,renderer:eue,styles:Xw,init:s(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,wg.clear()},"init")}});var bze,kze,wze,Tze,Eze,Cze,Sze,_ze,Aze,Lze,Dze,Zw,FN=_(()=>{"use strict";it();bze=s((t,e,r,n)=>{e.forEach(i=>{Dze[i](t,r,n)})},"insertMarkers"),kze=s((t,e,r)=>{V.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),wze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Tze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Eze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Cze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Sze=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),_ze=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Aze=s((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Lze=s((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Dze={extension:kze,composition:wze,aggregation:Tze,dependency:Eze,lollipop:Cze,point:Sze,circle:_ze,cross:Aze,barb:Lze},Zw=bze});var Kt,El,sue,oue,eT,Rze,lue,cue,Tg,Jw,uue,hue,fue,due,pue=_(()=>{"use strict";it();vv();la();Kt={},El={},sue={},oue=s(()=>{El={},sue={},Kt={}},"clear"),eT=s((t,e)=>(V.trace("In isDescendant",e," ",t," = ",El[e].includes(t)),!!El[e].includes(t)),"isDescendant"),Rze=s((t,e)=>(V.info("Descendants of ",e," is ",El[e]),V.info("Edge is ",t),t.v===e||t.w===e?!1:El[e]?El[e].includes(t.v)||eT(t.v,e)||eT(t.w,e)||El[e].includes(t.w):(V.debug("Tilt, ",e,",not in descendants"),!1)),"edgeInCluster"),lue=s((t,e,r,n)=>{V.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),V.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)lue(a,e,r,n);else{let o=e.node(a);V.info("cp ",a," to ",n," with parent ",t),r.setNode(a,o),n!==e.parent(a)&&(V.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(V.debug("Setting parent",a,t),r.setParent(a,t)):(V.info("In copy ",t,"root",n,"data",e.node(t),n),V.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);V.debug("Copying Edges",l),l.forEach(u=>{V.info("Edge",u);let h=e.edge(u.v,u.w,u.name);V.info("Edge data",h,n);try{Rze(u,n)?(V.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),V.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):V.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){V.error(f)}})}V.debug("Removing node",a),e.removeNode(a)})},"copy"),cue=s((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)sue[i]=t,n=[...n,...cue(i,e)];return n},"extractDescendants"),Tg=s((t,e)=>{V.trace("Searching",t);let r=e.children(t);if(V.trace("Searching children of id ",t,r),r.length<1)return V.trace("This is a valid node",t),t;for(let n of r){let i=Tg(n,e);if(i)return V.trace("Found replacement for",t," => ",i),i}},"findNonClusterChild"),Jw=s(t=>!Kt[t]||!Kt[t].externalConnections?t:Kt[t]?Kt[t].id:t,"getAnchorId"),uue=s((t,e)=>{if(!t||e>10){V.debug("Opting out, no graph ");return}else V.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(V.warn("Cluster identified",r," Replacement id in edges: ",Tg(r,t)),El[r]=cue(r,t),Kt[r]={id:Tg(r,t),clusterData:t.node(r)})}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(V.debug("Cluster identified",r,El),i.forEach(a=>{if(a.v!==r&&a.w!==r){let o=eT(a.v,r),l=eT(a.w,r);o^l&&(V.warn("Edge: ",a," leaves cluster ",r),V.warn("Descendants of XXX ",r,": ",El[r]),Kt[r].externalConnections=!0)}})):V.debug("Not a cluster ",r,El)});for(let r of Object.keys(Kt)){let n=Kt[r].id,i=t.parent(n);i!==r&&Kt[i]&&!Kt[i].externalConnections&&(Kt[r].id=i)}t.edges().forEach(function(r){let n=t.edge(r);V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(V.warn("Fix XXX",Kt,"ids:",r.v,r.w,"Translating: ",Kt[r.v]," --- ",Kt[r.w]),Kt[r.v]&&Kt[r.w]&&Kt[r.v]===Kt[r.w]){V.warn("Fixing and trixing link to self - removing XXX",r.v,r.w,r.name),V.warn("Fixing and trixing - removing XXX",r.v,r.w,r.name),i=Jw(r.v),a=Jw(r.w),t.removeEdge(r.v,r.w,r.name);let o=r.w+"---"+r.v;t.setNode(o,{domId:o,id:o,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});let l=structuredClone(n),u=structuredClone(n);l.label="",l.arrowTypeEnd="none",u.label="",l.fromCluster=r.v,u.toCluster=r.v,t.setEdge(i,o,l,r.name+"-cyclic-special"),t.setEdge(o,a,u,r.name+"-cyclic-special")}else if(Kt[r.v]||Kt[r.w]){if(V.warn("Fixing and trixing - removing XXX",r.v,r.w,r.name),i=Jw(r.v),a=Jw(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let o=t.parent(i);Kt[o].externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let o=t.parent(a);Kt[o].externalConnections=!0,n.toCluster=r.w}V.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),V.warn("Adjusted Graph",Mn(t)),hue(t,0),V.trace(Kt)},"adjustClustersAndEdges"),hue=s((t,e)=>{if(V.warn("extractor - ",e,Mn(t),t.children("D")),e>10){V.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){V.debug("Done, no node has children",t.nodes());return}V.debug("Nodes = ",r,e);for(let i of r)if(V.debug("Extracting node",i,Kt,Kt[i]&&!Kt[i].externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Kt[i])V.debug("Not a cluster",i,e);else if(!Kt[i].externalConnections&&t.children(i)&&t.children(i).length>0){V.warn("Cluster without external connections, without a parent and with children",i,e);let o=t.graph().rankdir==="TB"?"LR":"TB";Kt[i]?.clusterData?.dir&&(o=Kt[i].clusterData.dir,V.warn("Fixing dir",Kt[i].clusterData.dir,o));let l=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:o,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});V.warn("Old graph before copy",Mn(t)),lue(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Kt[i].clusterData,labelText:Kt[i].labelText,graph:l}),V.warn("New graph after copy node: (",i,")",Mn(l)),V.debug("Old graph after copy",Mn(t))}else V.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Kt[i].externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),V.debug(Kt);r=t.nodes(),V.warn("New list of nodes",r);for(let i of r){let a=t.node(i);V.warn(" Now next level",i,a),a.clusterNode&&hue(a.graph,e+1)}},"extractor"),fue=s((t,e)=>{if(e.length===0)return[];let r=Object.assign(e);return e.forEach(n=>{let i=t.children(n),a=fue(t,i);r=[...r,...a]}),r},"sorter"),due=s(t=>fue(t,t.children()),"sortNodesByHierarchy")});var Mze,Ize,Nze,Oze,Pze,mue,gue,yue,vue=_(()=>{"use strict";PA();it();rv();ic();Xt();gt();Qt();gd();Mze=s((t,e)=>{V.info("Creating subgraph rect for ",e.id,e);let r=le(),n=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),i=n.insert("rect",":first-child"),a=hr(r.flowchart.htmlLabels),o=n.insert("g").attr("class","cluster-label"),l=e.labelType==="markdown"?vs(o,e.labelText,{style:e.labelStyle,useHtmlLabels:a},r):o.node().appendChild(Hi(e.labelText,e.labelStyle,void 0,!0)),u=l.getBBox();if(hr(r.flowchart.htmlLabels)){let g=l.children[0],y=Me(l);u=g.getBoundingClientRect(),y.attr("width",u.width),y.attr("height",u.height)}let h=0*e.padding,f=h/2,d=e.width<=u.width+h?u.width+h:e.width;e.width<=u.width+h?e.diff=(u.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,V.trace("Data ",e,JSON.stringify(e)),i.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-d/2).attr("y",e.y-e.height/2-f).attr("width",d).attr("height",e.height+h);let{subGraphTitleTopMargin:p}=Ks(r);a?o.attr("transform",`translate(${e.x-u.width/2}, ${e.y-e.height/2+p})`):o.attr("transform",`translate(${e.x}, ${e.y-e.height/2+p})`);let m=i.node().getBBox();return e.width=m.width,e.height=m.height,e.intersect=function(g){return md(e,g)},n},"rect"),Ize=s((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(l){return md(e,l)},r},"noteGroup"),Nze=s((t,e)=>{let r=le(),n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),a=n.insert("g").attr("class","cluster-label"),o=n.append("rect"),l=a.node().appendChild(Hi(e.labelText,e.labelStyle,void 0,!0)),u=l.getBBox();if(hr(r.flowchart.htmlLabels)){let g=l.children[0],y=Me(l);u=g.getBoundingClientRect(),y.attr("width",u.width),y.attr("height",u.height)}u=l.getBBox();let h=0*e.padding,f=h/2,d=e.width<=u.width+e.padding?u.width+e.padding:e.width;e.width<=u.width+e.padding?e.diff=(u.width+e.padding*0-e.width)/2:e.diff=-e.padding/2,i.attr("class","outer").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f).attr("width",d+h).attr("height",e.height+h),o.attr("class","inner").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f+u.height-1).attr("width",d+h).attr("height",e.height+h-u.height-3);let{subGraphTitleTopMargin:p}=Ks(r);a.attr("transform",`translate(${e.x-u.width/2}, ${e.y-e.height/2-e.padding/3+(hr(r.flowchart.htmlLabels)?5:3)+p})`);let m=i.node().getBBox();return e.height=m.height,e.intersect=function(g){return md(e,g)},n},"roundedWithTitle"),Oze=s((t,e)=>{let r=t.insert("g").attr("class",e.classes).attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+i).attr("height",e.height+i);let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.diff=-e.padding/2,e.intersect=function(l){return md(e,l)},r},"divider"),Pze={rect:Mze,roundedWithTitle:Nze,noteGroup:Ize,divider:Oze},mue={},gue=s((t,e)=>{V.trace("Inserting cluster");let r=e.shape||"rect";mue[e.id]=Pze[r](t,e)},"insertCluster"),yue=s(()=>{mue={}},"clear")});var bue,Bze,xue,kue=_(()=>{"use strict";it();bue=s((t,e,r,n,i)=>{e.arrowTypeStart&&xue(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&xue(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Bze={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},xue=s((t,e,r,n,i,a)=>{let o=Bze[r];if(!o){V.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${o}${l})`)},"addEdgeMarker")});function tT(t,e){le().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var rT,da,Tue,nT,iT,Fze,zze,wue,aT,zN=_(()=>{"use strict";it();rv();ic();Xt();gt();pr();Qt();a9();gd();kue();rT={},da={},Tue=s(()=>{rT={},da={}},"clear"),nT=s((t,e)=>{let r=le(),n=hr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?vs(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):Hi(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),o=a.insert("g").attr("class","label");o.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=Me(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}o.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),rT[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=Hi(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),da[e.id]||(da[e.id]={}),da[e.id].startLeft=f,tT(u,e.startLabelLeft)}if(e.startLabelRight){let h=Hi(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),da[e.id]||(da[e.id]={}),da[e.id].startRight=f,tT(u,e.startLabelRight)}if(e.endLabelLeft){let h=Hi(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),da[e.id]||(da[e.id]={}),da[e.id].endLeft=f,tT(u,e.endLabelLeft)}if(e.endLabelRight){let h=Hi(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),da[e.id]||(da[e.id]={}),da[e.id].endRight=f,tT(u,e.endLabelRight)}return i},"insertEdgeLabel");s(tT,"setTerminalWidth");iT=s((t,e)=>{V.debug("Moving label abc88 ",t.id,t.label,rT[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=le(),{subGraphTitleTotalMargin:i}=Ks(n);if(t.label){let a=rT[t.id],o=t.x,l=t.y;if(r){let u=dt.calcLabelPosition(r);V.debug("Moving label "+t.label+" from (",o,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(o=u.x,l=u.y)}a.attr("transform",`translate(${o}, ${l+i/2})`)}if(t.startLabelLeft){let a=da[t.id].startLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.startLabelRight){let a=da[t.id].startRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelLeft){let a=da[t.id].endLeft,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}if(t.endLabelRight){let a=da[t.id].endRight,o=t.x,l=t.y;if(r){let u=dt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);o=u.x,l=u.y}a.attr("transform",`translate(${o}, ${l})`)}},"positionEdgeLabel"),Fze=s((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),o=t.width/2,l=t.height/2;return i>=o||a>=l},"outsideNode"),zze=s((t,e,r)=>{V.debug(`intersection calc abc89: +`,"getStyles"),CE=PGe});var She,BGe,FGe,_he,zGe,Ahe,SE,Lhe=R(()=>{"use strict";Zt();xr();ut();rr();She=0,BGe=o(function(t,e,r,n,i){let a=o(function(b){switch(b){case i.db.relationType.AGGREGATION:return"aggregation";case i.db.relationType.EXTENSION:return"extension";case i.db.relationType.COMPOSITION:return"composition";case i.db.relationType.DEPENDENCY:return"dependency";case i.db.relationType.LOLLIPOP:return"lollipop"}},"getRelationType");e.points=e.points.filter(b=>!Number.isNaN(b.y));let s=e.points,l=ha().x(function(b){return b.x}).y(function(b){return b.y}).curve(vs),u=t.append("path").attr("d",l(s)).attr("id","edge"+She).attr("class","relation"),h="";n.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),r.relation.lineType==1&&u.attr("class","relation dashed-line"),r.relation.lineType==10&&u.attr("class","relation dotted-line"),r.relation.type1!=="none"&&u.attr("marker-start","url("+h+"#"+a(r.relation.type1)+"Start)"),r.relation.type2!=="none"&&u.attr("marker-end","url("+h+"#"+a(r.relation.type2)+"End)");let f,d,p=e.points.length,m=Lt.calcLabelPosition(e.points);f=m.x,d=m.y;let g,y,v,x;if(p%2!==0&&p>1){let b=Lt.calcCardinalityPosition(r.relation.type1!=="none",e.points,e.points[0]),w=Lt.calcCardinalityPosition(r.relation.type2!=="none",e.points,e.points[p-1]);V.debug("cardinality_1_point "+JSON.stringify(b)),V.debug("cardinality_2_point "+JSON.stringify(w)),g=b.x,y=b.y,v=w.x,x=w.y}if(r.title!==void 0){let b=t.append("g").attr("class","classLabel"),w=b.append("text").attr("class","label").attr("x",f).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=w;let S=w.node().getBBox();b.insert("rect",":first-child").attr("class","box").attr("x",S.x-n.padding/2).attr("y",S.y-n.padding/2).attr("width",S.width+n.padding).attr("height",S.height+n.padding)}V.info("Rendering relation "+JSON.stringify(r)),r.relationTitle1!==void 0&&r.relationTitle1!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",g).attr("y",y).attr("fill","black").attr("font-size","6").text(r.relationTitle1),r.relationTitle2!==void 0&&r.relationTitle2!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",v).attr("y",x).attr("fill","black").attr("font-size","6").text(r.relationTitle2),She++},"drawEdge"),FGe=o(function(t,e,r,n){V.debug("Rendering class ",e,r);let i=e.id,a={id:i,label:e.id,width:0,height:0},s=t.append("g").attr("id",n.db.lookUpDomId(i)).attr("class","classGroup"),l;e.link?l=s.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",r.textHeight+r.padding).attr("x",0):l=s.append("text").attr("y",r.textHeight+r.padding).attr("x",0);let u=!0;e.annotations.forEach(function(w){let S=l.append("tspan").text("\xAB"+w+"\xBB");u||S.attr("dy",r.textHeight),u=!1});let h=_he(e),f=l.append("tspan").text(h).attr("class","title");u||f.attr("dy",r.textHeight);let d=l.node().getBBox().height,p,m,g;if(e.members.length>0){p=s.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin/2).attr("y2",r.padding+d+r.dividerMargin/2);let w=s.append("text").attr("x",r.padding).attr("y",d+r.dividerMargin+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.members.forEach(function(S){Ahe(w,S,u,r),u=!1}),m=w.node().getBBox()}if(e.methods.length>0){g=s.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin+m.height).attr("y2",r.padding+d+r.dividerMargin+m.height);let w=s.append("text").attr("x",r.padding).attr("y",d+2*r.dividerMargin+m.height+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.methods.forEach(function(S){Ahe(w,S,u,r),u=!1})}let y=s.node().getBBox();var v=" ";e.cssClasses.length>0&&(v=v+e.cssClasses.join(" "));let b=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*r.padding).attr("height",y.height+r.padding+.5*r.dividerMargin).attr("class",v).node().getBBox().width;return l.node().childNodes.forEach(function(w){w.setAttribute("x",(b-w.getBBox().width)/2)}),e.tooltip&&l.insert("title").text(e.tooltip),p&&p.attr("x2",b),g&&g.attr("x2",b),a.width=b,a.height=y.height+r.padding+.5*r.dividerMargin,a},"drawClass"),_he=o(function(t){let e=t.id;return t.type&&(e+="<"+gh(t.type)+">"),e},"getClassTitleString"),zGe=o(function(t,e,r,n){V.debug("Rendering note ",e,r);let i=e.id,a={id:i,text:e.text,width:0,height:0},s=t.append("g").attr("id",i).attr("class","classGroup"),l=s.append("text").attr("y",r.textHeight+r.padding).attr("x",0),u=JSON.parse(`"${e.text}"`).split(` +`);u.forEach(function(p){V.debug(`Adding line: ${p}`),l.append("tspan").text(p).attr("class","title").attr("dy",r.textHeight)});let h=s.node().getBBox(),d=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*r.padding).attr("height",h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach(function(p){p.setAttribute("x",(d-p.getBBox().width)/2)}),a.width=d,a.height=h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin,a},"drawNote"),Ahe=o(function(t,e,r,n){let{displayText:i,cssStyle:a}=e.getDisplayDetails(),s=t.append("tspan").attr("x",n.padding).text(i);a!==""&&s.attr("style",e.cssStyle),r||s.attr("dy",n.textHeight)},"addTspan"),SE={getClassTitleString:_he,drawClass:FGe,drawEdge:BGe,drawNote:zGe}});var _E,AE,kx,$Ge,GGe,Dhe,Rhe=R(()=>{"use strict";Zt();Vd();ya();ut();Lhe();Yn();_t();_E={},AE=20,kx=o(function(t){let e=Object.entries(_E).find(r=>r[1].label===t);if(e)return e[0]},"getGraphId"),$Ge=o(function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),GGe=o(function(t,e,r,n){let i=de().class;_E={},V.info("Rendering diagram "+t);let a=de().securityLevel,s;a==="sandbox"&&(s=Ge("#i"+e));let l=a==="sandbox"?Ge(s.nodes()[0].contentDocument.body):Ge("body"),u=l.select(`[id='${e}']`);$Ge(u);let h=new lr({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}});let f=n.db.getClasses(),d=[...f.keys()];for(let b of d){let w=f.get(b),S=SE.drawClass(u,w,i,n);_E[S.id]=S,h.setNode(S.id,S),V.info("Org height: "+S.height)}n.db.getRelations().forEach(function(b){V.info("tjoho"+kx(b.id1)+kx(b.id2)+JSON.stringify(b)),h.setEdge(kx(b.id1),kx(b.id2),{relation:b},b.title||"DEFAULT")}),n.db.getNotes().forEach(function(b){V.debug(`Adding note: ${JSON.stringify(b)}`);let w=SE.drawNote(u,b,i,n);_E[w.id]=w,h.setNode(w.id,w),b.class&&f.has(b.class)&&h.setEdge(b.id,kx(b.class),{relation:{id1:b.id,id2:b.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),lo(h),h.nodes().forEach(function(b){b!==void 0&&h.node(b)!==void 0&&(V.debug("Node "+b+": "+JSON.stringify(h.node(b))),l.select("#"+(n.db.lookUpDomId(b)||b)).attr("transform","translate("+(h.node(b).x-h.node(b).width/2)+","+(h.node(b).y-h.node(b).height/2)+" )"))}),h.edges().forEach(function(b){b!==void 0&&h.edge(b)!==void 0&&(V.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(h.edge(b))),SE.drawEdge(u,h.edge(b),h.edge(b).relation,i,n))});let g=u.node().getBBox(),y=g.width+AE*2,v=g.height+AE*2;Sr(u,v,y,i.useMaxWidth);let x=`${g.x-AE} ${g.y-AE} ${y} ${v}`;V.debug(`viewBox ${x}`),u.attr("viewBox",x)},"draw"),Dhe={draw:GGe}});var Nhe={};hr(Nhe,{diagram:()=>VGe});var VGe,Mhe=R(()=>{"use strict";TO();AO();_O();Rhe();VGe={parser:wE,db:Bg,renderer:Dhe,styles:CE,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Bg.clear()},"init")}});var WGe,qGe,XGe,jGe,KGe,QGe,ZGe,JGe,eVe,tVe,rVe,LE,LO=R(()=>{"use strict";ut();WGe=o((t,e,r,n)=>{e.forEach(i=>{rVe[i](t,r,n)})},"insertMarkers"),qGe=o((t,e,r)=>{V.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),XGe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),jGe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),KGe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),QGe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),ZGe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),JGe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),eVe=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),tVe=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),rVe={extension:qGe,composition:XGe,aggregation:jGe,dependency:KGe,lollipop:QGe,point:ZGe,circle:JGe,cross:eVe,barb:tVe},LE=WGe});var tr,zl,Phe,Bhe,RE,nVe,Fhe,zhe,Fg,DE,$he,Ghe,Vhe,Uhe,Hhe=R(()=>{"use strict";ut();Pv();ya();tr={},zl={},Phe={},Bhe=o(()=>{zl={},Phe={},tr={}},"clear"),RE=o((t,e)=>(V.trace("In isDescendant",e," ",t," = ",zl[e].includes(t)),!!zl[e].includes(t)),"isDescendant"),nVe=o((t,e)=>(V.info("Descendants of ",e," is ",zl[e]),V.info("Edge is ",t),t.v===e||t.w===e?!1:zl[e]?zl[e].includes(t.v)||RE(t.v,e)||RE(t.w,e)||zl[e].includes(t.w):(V.debug("Tilt, ",e,",not in descendants"),!1)),"edgeInCluster"),Fhe=o((t,e,r,n)=>{V.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),V.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Fhe(a,e,r,n);else{let s=e.node(a);V.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(V.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(V.debug("Setting parent",a,t),r.setParent(a,t)):(V.info("In copy ",t,"root",n,"data",e.node(t),n),V.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);V.debug("Copying Edges",l),l.forEach(u=>{V.info("Edge",u);let h=e.edge(u.v,u.w,u.name);V.info("Edge data",h,n);try{nVe(u,n)?(V.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),V.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):V.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){V.error(f)}})}V.debug("Removing node",a),e.removeNode(a)})},"copy"),zhe=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)Phe[i]=t,n=[...n,...zhe(i,e)];return n},"extractDescendants"),Fg=o((t,e)=>{V.trace("Searching",t);let r=e.children(t);if(V.trace("Searching children of id ",t,r),r.length<1)return V.trace("This is a valid node",t),t;for(let n of r){let i=Fg(n,e);if(i)return V.trace("Found replacement for",t," => ",i),i}},"findNonClusterChild"),DE=o(t=>!tr[t]||!tr[t].externalConnections?t:tr[t]?tr[t].id:t,"getAnchorId"),$he=o((t,e)=>{if(!t||e>10){V.debug("Opting out, no graph ");return}else V.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(V.warn("Cluster identified",r," Replacement id in edges: ",Fg(r,t)),zl[r]=zhe(r,t),tr[r]={id:Fg(r,t),clusterData:t.node(r)})}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(V.debug("Cluster identified",r,zl),i.forEach(a=>{if(a.v!==r&&a.w!==r){let s=RE(a.v,r),l=RE(a.w,r);s^l&&(V.warn("Edge: ",a," leaves cluster ",r),V.warn("Descendants of XXX ",r,": ",zl[r]),tr[r].externalConnections=!0)}})):V.debug("Not a cluster ",r,zl)});for(let r of Object.keys(tr)){let n=tr[r].id,i=t.parent(n);i!==r&&tr[i]&&!tr[i].externalConnections&&(tr[r].id=i)}t.edges().forEach(function(r){let n=t.edge(r);V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),V.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(V.warn("Fix XXX",tr,"ids:",r.v,r.w,"Translating: ",tr[r.v]," --- ",tr[r.w]),tr[r.v]&&tr[r.w]&&tr[r.v]===tr[r.w]){V.warn("Fixing and trixing link to self - removing XXX",r.v,r.w,r.name),V.warn("Fixing and trixing - removing XXX",r.v,r.w,r.name),i=DE(r.v),a=DE(r.w),t.removeEdge(r.v,r.w,r.name);let s=r.w+"---"+r.v;t.setNode(s,{domId:s,id:s,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});let l=structuredClone(n),u=structuredClone(n);l.label="",l.arrowTypeEnd="none",u.label="",l.fromCluster=r.v,u.toCluster=r.v,t.setEdge(i,s,l,r.name+"-cyclic-special"),t.setEdge(s,a,u,r.name+"-cyclic-special")}else if(tr[r.v]||tr[r.w]){if(V.warn("Fixing and trixing - removing XXX",r.v,r.w,r.name),i=DE(r.v),a=DE(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);tr[s].externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);tr[s].externalConnections=!0,n.toCluster=r.w}V.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),V.warn("Adjusted Graph",zn(t)),Ghe(t,0),V.trace(tr)},"adjustClustersAndEdges"),Ghe=o((t,e)=>{if(V.warn("extractor - ",e,zn(t),t.children("D")),e>10){V.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){V.debug("Done, no node has children",t.nodes());return}V.debug("Nodes = ",r,e);for(let i of r)if(V.debug("Extracting node",i,tr,tr[i]&&!tr[i].externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!tr[i])V.debug("Not a cluster",i,e);else if(!tr[i].externalConnections&&t.children(i)&&t.children(i).length>0){V.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";tr[i]?.clusterData?.dir&&(s=tr[i].clusterData.dir,V.warn("Fixing dir",tr[i].clusterData.dir,s));let l=new lr({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});V.warn("Old graph before copy",zn(t)),Fhe(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:tr[i].clusterData,labelText:tr[i].labelText,graph:l}),V.warn("New graph after copy node: (",i,")",zn(l)),V.debug("Old graph after copy",zn(t))}else V.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!tr[i].externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),V.debug(tr);r=t.nodes(),V.warn("New list of nodes",r);for(let i of r){let a=t.node(i);V.warn(" Now next level",i,a),a.clusterNode&&Ghe(a.graph,e+1)}},"extractor"),Vhe=o((t,e)=>{if(e.length===0)return[];let r=Object.assign(e);return e.forEach(n=>{let i=t.children(n),a=Vhe(t,i);r=[...r,...a]}),r},"sorter"),Uhe=o(t=>Vhe(t,t.children()),"sortNodesByHierarchy")});var iVe,aVe,sVe,oVe,lVe,Yhe,Whe,qhe,Xhe=R(()=>{"use strict";S9();ut();bv();Al();Zt();_t();rr();_d();iVe=o((t,e)=>{V.info("Creating subgraph rect for ",e.id,e);let r=de(),n=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),i=n.insert("rect",":first-child"),a=yr(r.flowchart.htmlLabels),s=n.insert("g").attr("class","cluster-label"),l=e.labelType==="markdown"?ta(s,e.labelText,{style:e.labelStyle,useHtmlLabels:a},r):s.node().appendChild(ra(e.labelText,e.labelStyle,void 0,!0)),u=l.getBBox();if(yr(r.flowchart.htmlLabels)){let g=l.children[0],y=Ge(l);u=g.getBoundingClientRect(),y.attr("width",u.width),y.attr("height",u.height)}let h=0*e.padding,f=h/2,d=e.width<=u.width+h?u.width+h:e.width;e.width<=u.width+h?e.diff=(u.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,V.trace("Data ",e,JSON.stringify(e)),i.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-d/2).attr("y",e.y-e.height/2-f).attr("width",d).attr("height",e.height+h);let{subGraphTitleTopMargin:p}=io(r);a?s.attr("transform",`translate(${e.x-u.width/2}, ${e.y-e.height/2+p})`):s.attr("transform",`translate(${e.x}, ${e.y-e.height/2+p})`);let m=i.node().getBBox();return e.width=m.width,e.height=m.height,e.intersect=function(g){return Ad(e,g)},n},"rect"),aVe=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Ad(e,l)},r},"noteGroup"),sVe=o((t,e)=>{let r=de(),n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),a=n.insert("g").attr("class","cluster-label"),s=n.append("rect"),l=a.node().appendChild(ra(e.labelText,e.labelStyle,void 0,!0)),u=l.getBBox();if(yr(r.flowchart.htmlLabels)){let g=l.children[0],y=Ge(l);u=g.getBoundingClientRect(),y.attr("width",u.width),y.attr("height",u.height)}u=l.getBBox();let h=0*e.padding,f=h/2,d=e.width<=u.width+e.padding?u.width+e.padding:e.width;e.width<=u.width+e.padding?e.diff=(u.width+e.padding*0-e.width)/2:e.diff=-e.padding/2,i.attr("class","outer").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f).attr("width",d+h).attr("height",e.height+h),s.attr("class","inner").attr("x",e.x-d/2-f).attr("y",e.y-e.height/2-f+u.height-1).attr("width",d+h).attr("height",e.height+h-u.height-3);let{subGraphTitleTopMargin:p}=io(r);a.attr("transform",`translate(${e.x-u.width/2}, ${e.y-e.height/2-e.padding/3+(yr(r.flowchart.htmlLabels)?5:3)+p})`);let m=i.node().getBBox();return e.height=m.height,e.intersect=function(g){return Ad(e,g)},n},"roundedWithTitle"),oVe=o((t,e)=>{let r=t.insert("g").attr("class",e.classes).attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+i).attr("height",e.height+i);let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.diff=-e.padding/2,e.intersect=function(l){return Ad(e,l)},r},"divider"),lVe={rect:iVe,roundedWithTitle:sVe,noteGroup:aVe,divider:oVe},Yhe={},Whe=o((t,e)=>{V.trace("Inserting cluster");let r=e.shape||"rect";Yhe[e.id]=lVe[r](t,e)},"insertCluster"),qhe=o(()=>{Yhe={}},"clear")});var Khe,cVe,jhe,Qhe=R(()=>{"use strict";ut();Khe=o((t,e,r,n,i)=>{e.arrowTypeStart&&jhe(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&jhe(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),cVe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},jhe=o((t,e,r,n,i,a)=>{let s=cVe[r];if(!s){V.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function NE(t,e){de().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var ME,Ta,Jhe,IE,OE,uVe,hVe,Zhe,PE,DO=R(()=>{"use strict";ut();bv();Al();Zt();_t();xr();rr();j9();_d();Qhe();ME={},Ta={},Jhe=o(()=>{ME={},Ta={}},"clear"),IE=o((t,e)=>{let r=de(),n=yr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?ta(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):ra(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=Ge(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),ME[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=ra(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Ta[e.id]||(Ta[e.id]={}),Ta[e.id].startLeft=f,NE(u,e.startLabelLeft)}if(e.startLabelRight){let h=ra(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Ta[e.id]||(Ta[e.id]={}),Ta[e.id].startRight=f,NE(u,e.startLabelRight)}if(e.endLabelLeft){let h=ra(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Ta[e.id]||(Ta[e.id]={}),Ta[e.id].endLeft=f,NE(u,e.endLabelLeft)}if(e.endLabelRight){let h=ra(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Ta[e.id]||(Ta[e.id]={}),Ta[e.id].endRight=f,NE(u,e.endLabelRight)}return i},"insertEdgeLabel");o(NE,"setTerminalWidth");OE=o((t,e)=>{V.debug("Moving label abc88 ",t.id,t.label,ME[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=de(),{subGraphTitleTotalMargin:i}=io(n);if(t.label){let a=ME[t.id],s=t.x,l=t.y;if(r){let u=Lt.calcLabelPosition(r);V.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=Ta[t.id].startLeft,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Ta[t.id].startRight,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Ta[t.id].endLeft,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Ta[t.id].endRight,s=t.x,l=t.y;if(r){let u=Lt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),uVe=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),hVe=o((t,e,r)=>{V.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),o=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{V.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!Fze(e,a)&&!i){let o=zze(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===o.x&&u.y===o.y}),r.some(u=>u.x===o.x&&u.y===o.y)||r.push(o),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),aT=s(function(t,e,r,n,i,a,o){let l=r.points;V.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(V.debug("to cluster abc88",n[r.toCluster]),l=wue(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(V.debug("from cluster abc88",n[r.fromCluster]),l=wue(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(A=>!Number.isNaN(A.y)),p=hs;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=y5(r),y=ra().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(le().flowchart.arrowMarkerAbsolute||le().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),bue(x,r,b,o,i);let k={};return u&&(k.updatedPath=l),k.originalPath=r.points,k},"insertEdge")});var Eue,Cue,Sue=_(()=>{"use strict";Dd();vv();FN();t5();pue();r5();vue();zN();it();gd();gt();Eue=s(async(t,e,r,n,i,a)=>{V.info("Graph in recursive render: XXX",Mn(e),i);let o=e.graph().rankdir;V.trace("Dir in recursive render - dir:",o);let l=t.insert("g").attr("class","root");e.nodes()?V.info("Recursive render XXX",e.nodes()):V.info("No nodes found for",e),e.edges().length>0&&V.trace("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(g){let y=e.node(g);if(i!==void 0){let v=JSON.parse(JSON.stringify(i.clusterData));V.info("Setting data for cluster XXX (",g,") ",v,i),e.setNode(i.id,v),e.parent(g)||(V.trace("Setting parent",g,i.id),e.setParent(g,i.id,v))}if(V.info("(Insert) Node XXX"+g+": "+JSON.stringify(e.node(g))),y?.clusterNode){V.info("Cluster identified",g,y.width,e.node(g));let{ranksep:v,nodesep:x}=e.graph();y.graph.setGraph({...y.graph.graph(),ranksep:v,nodesep:x});let b=await Eue(d,y.graph,r,n,e.node(g),a),k=b.elem;mn(y,k),y.diff=b.diff||0,V.info("Node bounds (abc123)",g,y,y.width,y.x,y.y),dX(k,y),V.warn("Recursive render complete ",k,y)}else e.children(g).length>0?(V.info("Cluster - the non recursive path XXX",g,y.id,y,e),V.info(Tg(y.id,e)),Kt[y.id]={id:Tg(y.id,e),node:y}):(V.info("Node - the non recursive path",g,y.id,y),await Zp(d,e.node(g),o))})),e.edges().forEach(async function(g){let y=e.edge(g.v,g.w,g.name);V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g)),V.info("Edge "+g.v+" -> "+g.w+": ",g," ",JSON.stringify(e.edge(g))),V.info("Fix",Kt,"ids:",g.v,g.w,"Translating: ",Kt[g.v],Kt[g.w]),await nT(f,y)}),e.edges().forEach(function(g){V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g))}),V.info("Graph before layout:",JSON.stringify(Mn(e))),V.info("#############################################"),V.info("### Layout ###"),V.info("#############################################"),V.info(e),eo(e),V.info("Graph after layout:",JSON.stringify(Mn(e)));let p=0,{subGraphTitleTotalMargin:m}=Ks(a);return due(e).forEach(function(g){let y=e.node(g);V.info("Position "+g+": "+JSON.stringify(e.node(g))),V.info("Position "+g+": ("+y.x,","+y.y,") width: ",y.width," height: ",y.height),y?.clusterNode?(y.y+=m,nv(y)):e.children(g).length>0?(y.height+=m,gue(u,y),Kt[y.id].node=y):(y.y+=m/2,nv(y))}),e.edges().forEach(function(g){let y=e.edge(g);V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(y),y),y.points.forEach(x=>x.y+=m/2);let v=aT(h,g,y,Kt,r,e,n);iT(y,v)}),e.nodes().forEach(function(g){let y=e.node(g);V.info(g,y.type,y.diff),y.type==="group"&&(p=y.diff)}),{elem:l,diff:p}},"recursiveRender"),Cue=s(async(t,e,r,n,i)=>{Zw(t,r,n,i),pX(),Tue(),yue(),oue(),V.warn("Graph at first:",JSON.stringify(Mn(e))),uue(e),V.warn("Graph after:",JSON.stringify(Mn(e)));let a=le();await Eue(t,e,n,i,void 0,a)},"render")});function _ue(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}var GN,$N,$ze,Aue,Gze,Vze,Uze,qze,Lue,Due=_(()=>{"use strict";Xt();la();it();gt();Sue();pr();pr();Un();Qt();GN=s(t=>$e.sanitizeText(t,le()),"sanitizeText"),$N={dividerMargin:10,padding:5,textHeight:10,curve:void 0},$ze=s(function(t,e,r,n){V.info("keys:",[...t.keys()]),V.info(t),t.forEach(function(i){let o={shape:"rect",id:i.id,domId:i.domId,labelText:GN(i.id),labelStyle:"",style:"fill: none; stroke: black",padding:le().flowchart?.padding??le().class?.padding};e.setNode(i.id,o),Aue(i.classes,e,r,n,i.id),V.info("setNode",o)})},"addNamespaces"),Aue=s(function(t,e,r,n,i){V.info("keys:",[...t.keys()]),V.info(t),[...t.values()].filter(a=>a.parent===i).forEach(function(a){let o=a.cssClasses.join(" "),l=Hp(a.styles),u=a.label??a.id,h=0,d={labelStyle:l.labelStyle,shape:"class_box",labelText:GN(u),classData:a,rx:h,ry:h,class:o,style:l.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id,i)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:le().flowchart?.padding??le().class?.padding};e.setNode(a.id,d),i&&e.setParent(a.id,i),V.info("setNode",d)})},"addClasses"),Gze=s(function(t,e,r,n){V.info(t),t.forEach(function(i,a){let o=i,l="",u={labelStyle:"",style:""},h=o.text,f=0,p={labelStyle:u.labelStyle,shape:"note",labelText:GN(h),noteData:o,rx:f,ry:f,class:l,style:u.style,id:o.id,domId:o.id,tooltip:"",type:"note",padding:le().flowchart?.padding??le().class?.padding};if(e.setNode(o.id,p),V.info("setNode",p),!o.class||!n.has(o.class))return;let m=r+a,g={id:`edgeNote${m}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Wp($N.curve,uu)};e.setEdge(o.id,o.class,g,m)})},"addNotes"),Vze=s(function(t,e){let r=le().flowchart,n=0;t.forEach(function(i){n++;let a={classes:"relation",pattern:i.relation.lineType==1?"dashed":"solid",id:$3(i.id1,i.id2,{prefix:"id",counter:n}),arrowhead:i.type==="arrow_open"?"none":"normal",startLabelRight:i.relationTitle1==="none"?"":i.relationTitle1,endLabelLeft:i.relationTitle2==="none"?"":i.relationTitle2,arrowTypeStart:_ue(i.relation.type1),arrowTypeEnd:_ue(i.relation.type2),style:"fill:none",labelStyle:"",curve:Wp(r?.curve,uu)};if(V.info(a,i),i.style!==void 0){let o=Hp(i.style);a.style=o.style,a.labelStyle=o.labelStyle}i.text=i.title,i.text===void 0?i.style!==void 0&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",le().flowchart?.htmlLabels??le().htmlLabels?(a.labelType="html",a.label=''+i.text+""):(a.labelType="text",a.label=i.text.replace($e.lineBreakRegex,` -`),i.style===void 0&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),e.setEdge(i.id1,i.id2,a,n)})},"addRelations"),Uze=s(function(t){$N={...$N,...t}},"setConf"),qze=s(async function(t,e,r,n){V.info("Drawing class - ",e);let i=le().flowchart??le().class,a=le().securityLevel;V.info("config:",i);let o=i?.nodeSpacing??50,l=i?.rankSpacing??50,u=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:o,ranksep:l,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getNamespaces(),f=n.db.getClasses(),d=n.db.getRelations(),p=n.db.getNotes();V.info(d),$ze(h,u,e,n),Aue(f,u,e,n),Vze(d,u),Gze(p,u,d.length+1,f);let m;a==="sandbox"&&(m=Me("#i"+e));let g=a==="sandbox"?Me(m.nodes()[0].contentDocument.body):Me("body"),y=g.select(`[id="${e}"]`),v=g.select("#"+e+" g");if(await Cue(v,u,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),dt.insertTitle(y,"classTitleText",i?.titleTopMargin??5,n.db.getDiagramTitle()),ql(u,y,i?.diagramPadding,i?.useMaxWidth),!i?.htmlLabels){let x=a==="sandbox"?m.nodes()[0].contentDocument:document,b=x.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(let k of b){let A=k.getBBox(),w=x.createElementNS("http://www.w3.org/2000/svg","rect");w.setAttribute("rx",0),w.setAttribute("ry",0),w.setAttribute("width",A.width),w.setAttribute("height",A.height),k.insertBefore(w,k.firstChild)}}},"draw");s(_ue,"getArrowMarker");Lue={setConf:Uze,draw:qze}});var Rue={};ur(Rue,{diagram:()=>Wze});var Wze,Mue=_(()=>{"use strict";RN();PN();BN();Due();Wze={parser:qw,db:wg,renderer:Lue,styles:Xw,init:s(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,wg.clear()},"init")}});var VN,sT,UN=_(()=>{"use strict";VN=function(){var t=s(function(z,N,U,$){for(U=U||{},$=z.length;$--;U[z[$]]=N);return U},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,32],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],k=[1,28],A=[1,29],w=[1,30],T=[1,31],C=[1,34],E=[1,35],S=[1,36],R=[1,37],D=[1,33],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],P=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],F={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:s(function(N,U,$,W,ee,te,ce){var Z=te.length-1;switch(ee){case 3:return W.setRootDoc(te[Z]),te[Z];break;case 4:this.$=[];break;case 5:te[Z]!="nl"&&(te[Z-1].push(te[Z]),this.$=te[Z-1]);break;case 6:case 7:this.$=te[Z];break;case 8:this.$="nl";break;case 12:this.$=te[Z];break;case 13:let Q=te[Z-1];Q.description=W.trimColon(te[Z]),this.$=Q;break;case 14:this.$={stmt:"relation",state1:te[Z-2],state2:te[Z]};break;case 15:let K=W.trimColon(te[Z]);this.$={stmt:"relation",state1:te[Z-3],state2:te[Z-1],description:K};break;case 19:this.$={stmt:"state",id:te[Z-3],type:"default",description:"",doc:te[Z-1]};break;case 20:var fe=te[Z],ne=te[Z-2].trim();if(te[Z].match(":")){var H=te[Z].split(":");fe=H[0],ne=[ne,H[1]]}this.$={stmt:"state",id:fe,type:"default",description:ne};break;case 21:this.$={stmt:"state",id:te[Z-3],type:"default",description:te[Z-5],doc:te[Z-1]};break;case 22:this.$={stmt:"state",id:te[Z],type:"fork"};break;case 23:this.$={stmt:"state",id:te[Z],type:"join"};break;case 24:this.$={stmt:"state",id:te[Z],type:"choice"};break;case 25:this.$={stmt:"state",id:W.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:te[Z-1].trim(),note:{position:te[Z-2].trim(),text:te[Z].trim()}};break;case 29:this.$=te[Z].trim(),W.setAccTitle(this.$);break;case 30:case 31:this.$=te[Z].trim(),W.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:te[Z-1].trim(),classes:te[Z].trim()};break;case 34:this.$={stmt:"style",id:te[Z-1].trim(),styleClass:te[Z].trim()};break;case 35:this.$={stmt:"applyClass",id:te[Z-1].trim(),styleClass:te[Z].trim()};break;case 36:W.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:W.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:W.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:W.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:te[Z].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:te[Z-2].trim(),classes:[te[Z].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:te[Z-2].trim(),classes:[te[Z].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,7]),t(L,[2,8]),t(L,[2,9]),t(L,[2,10]),t(L,[2,11]),t(L,[2,12],{14:[1,39],15:[1,40]}),t(L,[2,16]),{18:[1,41]},t(L,[2,18],{20:[1,42]}),{23:[1,43]},t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(L,[2,28]),{34:[1,48]},{36:[1,49]},t(L,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(P,[2,42],{55:[1,54]}),t(P,[2,43],{55:[1,55]}),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,6]),t(L,[2,13]),{13:56,24:d,54:D},t(L,[2,17]),t(M,i,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(L,[2,29]),t(L,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(L,[2,14],{14:[1,67]}),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,68],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(L,[2,32]),t(L,[2,33]),t(L,[2,34]),t(L,[2,35]),t(P,[2,44]),t(P,[2,45]),t(L,[2,15]),t(L,[2,19]),t(M,i,{7:72}),t(L,[2,26]),t(L,[2,27]),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,73],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:k,38:A,42:w,45:T,48:C,49:E,50:S,51:R,54:D},t(L,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:s(function(N,U){if(U.recoverable)this.trace(N);else{var $=new Error(N);throw $.hash=U,$}},"parseError"),parse:s(function(N){var U=this,$=[0],W=[],ee=[null],te=[],ce=this.table,Z="",fe=0,ne=0,H=0,Q=2,K=1,re=te.slice.call(arguments,1),ie=Object.create(this.lexer),ye={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(ye.yy[j]=this.yy[j]);ie.setInput(N,ye.yy),ye.yy.lexer=ie,ye.yy.parser=this,typeof ie.yylloc>"u"&&(ie.yylloc={});var De=ie.yylloc;te.push(De);var oe=ie.options&&ie.options.ranges;typeof ye.yy.parseError=="function"?this.parseError=ye.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(Ie){$.length=$.length-2*Ie,ee.length=ee.length-Ie,te.length=te.length-Ie}s(Re,"popStack");function Pe(){var Ie;return Ie=W.pop()||ie.lex()||K,typeof Ie!="number"&&(Ie instanceof Array&&(W=Ie,Ie=W.pop()),Ie=U.symbols_[Ie]||Ie),Ie}s(Pe,"lex");for(var Se,Ue,Oe,_e,he,q,se={},ue,X,ae,pe;;){if(Oe=$[$.length-1],this.defaultActions[Oe]?_e=this.defaultActions[Oe]:((Se===null||typeof Se>"u")&&(Se=Pe()),_e=ce[Oe]&&ce[Oe][Se]),typeof _e>"u"||!_e.length||!_e[0]){var de="";pe=[];for(ue in ce[Oe])this.terminals_[ue]&&ue>Q&&pe.push("'"+this.terminals_[ue]+"'");ie.showPosition?de="Parse error on line "+(fe+1)+`: -`+ie.showPosition()+` -Expecting `+pe.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":de="Parse error on line "+(fe+1)+": Unexpected "+(Se==K?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(de,{text:ie.match,token:this.terminals_[Se]||Se,line:ie.yylineno,loc:De,expected:pe})}if(_e[0]instanceof Array&&_e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Oe+", token: "+Se);switch(_e[0]){case 1:$.push(Se),ee.push(ie.yytext),te.push(ie.yylloc),$.push(_e[1]),Se=null,Ue?(Se=Ue,Ue=null):(ne=ie.yyleng,Z=ie.yytext,fe=ie.yylineno,De=ie.yylloc,H>0&&H--);break;case 2:if(X=this.productions_[_e[1]][1],se.$=ee[ee.length-X],se._$={first_line:te[te.length-(X||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(X||1)].first_column,last_column:te[te.length-1].last_column},oe&&(se._$.range=[te[te.length-(X||1)].range[0],te[te.length-1].range[1]]),q=this.performAction.apply(se,[Z,ne,fe,ye.yy,_e[1],ee,te].concat(re)),typeof q<"u")return q;X&&($=$.slice(0,-1*X*2),ee=ee.slice(0,-1*X),te=te.slice(0,-1*X)),$.push(this.productions_[_e[1]][0]),ee.push(se.$),te.push(se._$),ae=ce[$[$.length-2]][$[$.length-1]],$.push(ae);break;case 3:return!0}}return!0},"parse")},I=function(){var z={EOF:1,parseError:s(function(U,$){if(this.yy.parser)this.yy.parser.parseError(U,$);else throw new Error(U)},"parseError"),setInput:s(function(N,U){return this.yy=U||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var U=N.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:s(function(N){var U=N.length,$=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),$.length-1&&(this.yylineno-=$.length-1);var ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:$?($.length===W.length?this.yylloc.first_column:0)+W[W.length-$.length].length-$[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(N){this.unput(this.match.slice(N))},"less"),pastInput:s(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var N=this.pastInput(),U=new Array(N.length+1).join("-");return N+this.upcomingInput()+` -`+U+"^"},"showPosition"),test_match:s(function(N,U){var $,W,ee;if(this.options.backtrack_lexer&&(ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ee.yylloc.range=this.yylloc.range.slice(0))),W=N[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],$=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),$)return $;if(this._backtrack){for(var te in ee)this[te]=ee[te];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,U,$,W;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),te=0;teU[0].length)){if(U=$,W=te,this.options.backtrack_lexer){if(N=this.test_match($,ee[te]),N!==!1)return N;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(N=this.test_match(U,ee[W]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var U=this.next();return U||this.lex()},"lex"),begin:s(function(U){this.conditionStack.push(U)},"begin"),popState:s(function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:s(function(U){this.begin(U)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(U,$,W,ee){var te=ee;switch(W){case 0:return 41;case 1:return 48;case 2:return 49;case 3:return 50;case 4:return 51;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),17;break;case 13:return 18;case 14:this.popState();break;case 15:return this.begin("acc_title"),33;break;case 16:return this.popState(),"acc_title_value";break;case 17:return this.begin("acc_descr"),35;break;case 18:return this.popState(),"acc_descr_value";break;case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;break;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 24:return this.popState(),this.pushState("CLASSDEFID"),39;break;case 25:return this.popState(),40;break;case 26:return this.pushState("CLASS"),45;break;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;break;case 28:return this.popState(),47;break;case 29:return this.pushState("STYLE"),42;break;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;break;case 31:return this.popState(),44;break;case 32:return this.pushState("SCALE"),17;break;case 33:return 18;case 34:this.popState();break;case 35:this.pushState("STATE");break;case 36:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;break;case 37:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;break;case 38:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;break;case 39:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;break;case 42:return 48;case 43:return 49;case 44:return 50;case 45:return 51;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";break;case 48:return this.popState(),"ID";break;case 49:this.popState();break;case 50:return"STATE_DESCR";case 51:return 19;case 52:this.popState();break;case 53:return this.popState(),this.pushState("struct"),20;break;case 54:break;case 55:return this.popState(),21;break;case 56:break;case 57:return this.begin("NOTE"),29;break;case 58:return this.popState(),this.pushState("NOTE_ID"),56;break;case 59:return this.popState(),this.pushState("NOTE_ID"),57;break;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 62:break;case 63:return"NOTE_TEXT";case 64:return this.popState(),"ID";break;case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 66:return this.popState(),$.yytext=$.yytext.substr(2).trim(),31;break;case 67:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),31;break;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return $.yytext=$.yytext.trim(),14;break;case 74:return 15;case 75:return 28;case 76:return 55;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return z}();F.lexer=I;function O(){this.yy={}}return s(O,"Parser"),O.prototype=F,F.Parser=O,new O}();VN.parser=VN;sT=VN});var Oue,oT,Eg,sx,Pue,Bue,Fue,k0,lT,qN,WN,HN,YN,XN,cT,uT,zue,$ue,jN,KN,Gue,Vue,Cg,jze,Uue,QN,Kze,Qze,que,Wue,Zze,Hue,Jze,Yue,ZN,JN,Xue,hT,jue,eO,fT=_(()=>{"use strict";Oue="LR",oT="TB",Eg="state",sx="relation",Pue="classDef",Bue="style",Fue="applyClass",k0="default",lT="divider",qN="fill:none",WN="fill: #333",HN="c",YN="text",XN="normal",cT="rect",uT="rectWithTitle",zue="stateStart",$ue="stateEnd",jN="divider",KN="roundedWithTitle",Gue="note",Vue="noteGroup",Cg="statediagram",jze="state",Uue=`${Cg}-${jze}`,QN="transition",Kze="note",Qze="note-edge",que=`${QN} ${Qze}`,Wue=`${Cg}-${Kze}`,Zze="cluster",Hue=`${Cg}-${Zze}`,Jze="cluster-alt",Yue=`${Cg}-${Jze}`,ZN="parent",JN="note",Xue="state",hT="----",jue=`${hT}${JN}`,eO=`${hT}${ZN}`});function tO(t="",e=0,r="",n=hT){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${Xue}-${t}${i}-${e}`}function dT(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{if(r.get(i)){let a=r.get(i);e.cssCompiledStyles=[...e.cssCompiledStyles,...a.styles]}}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function t$e(t){return t?.classes?.join(" ")??""}function r$e(t){return t?.styles??[]}var pT,of,e$e,Kue,Sg,Que,Zue=_(()=>{"use strict";gt();it();Qt();fT();pT=new Map,of=0;s(tO,"stateDomId");e$e=s((t,e,r,n,i,a,o,l)=>{V.trace("items",e),e.forEach(u=>{switch(u.stmt){case Eg:Sg(t,u,r,n,i,a,o,l);break;case k0:Sg(t,u,r,n,i,a,o,l);break;case sx:{Sg(t,u.state1,r,n,i,a,o,l),Sg(t,u.state2,r,n,i,a,o,l);let h={id:"edge"+of,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:qN,labelStyle:"",label:$e.sanitizeText(u.description,le()),arrowheadStyle:WN,labelpos:HN,labelType:YN,thickness:XN,classes:QN,look:o};i.push(h),of++}break}})},"setupDoc"),Kue=s((t,e=oT)=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");s(dT,"insertOrUpdateNode");s(t$e,"getClassesFromDbInfo");s(r$e,"getStylesFromDbInfo");Sg=s((t,e,r,n,i,a,o,l)=>{let u=e.id,h=r.get(u),f=t$e(h),d=r$e(h);if(V.info("dataFetcher parsedItem",e,h,d),u!=="root"){let p=cT;e.start===!0?p=zue:e.start===!1&&(p=$ue),e.type!==k0&&(p=e.type),pT.get(u)||pT.set(u,{id:u,shape:p,description:$e.sanitizeText(u,le()),cssClasses:`${f} ${Uue}`,cssStyles:d});let m=pT.get(u);e.description&&(Array.isArray(m.description)?(m.shape=uT,m.description.push(e.description)):m.description?.length>0?(m.shape=uT,m.description===u?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=cT,m.description=e.description),m.description=$e.sanitizeTextOrArray(m.description,le())),m.description?.length===1&&m.shape===uT&&(m.type==="group"?m.shape=KN:m.shape=cT),!m.type&&e.doc&&(V.info("Setting cluster for XCX",u,Kue(e)),m.type="group",m.isGroup=!0,m.dir=Kue(e),m.shape=e.type===lT?jN:KN,m.cssClasses=`${m.cssClasses} ${Hue} ${a?Yue:""}`);let g={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:u,dir:m.dir,domId:tO(u,of),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:o};if(g.shape===jN&&(g.label=""),t&&t.id!=="root"&&(V.trace("Setting node ",u," to be child of its parent ",t.id),g.parentId=t.id),g.centerLabel=!0,e.note){let y={labelStyle:"",shape:Gue,label:e.note.text,cssClasses:Wue,cssStyles:[],cssCompilesStyles:[],id:u+jue+"-"+of,domId:tO(u,of,JN),type:m.type,isGroup:m.type==="group",padding:le().flowchart.padding,look:o,position:e.note.position},v=u+eO,x={labelStyle:"",shape:Vue,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:u+eO,domId:tO(u,of,ZN),type:"group",isGroup:!0,padding:16,look:o,position:e.note.position};of++,x.id=v,y.parentId=v,dT(n,x,l),dT(n,y,l),dT(n,g,l);let b=u,k=y.id;e.note.position==="left of"&&(b=y.id,k=u),i.push({id:b+"-"+k,start:b,end:k,arrowhead:"none",arrowTypeEnd:"",style:qN,labelStyle:"",classes:que,arrowheadStyle:WN,labelpos:HN,labelType:YN,thickness:XN,look:o})}else dT(n,g,l)}e.doc&&(V.trace("Adding nodes children "),e$e(e,e.doc,r,n,i,!a,o,l))},"dataFetcher"),Que=s(()=>{pT.clear(),of=0},"reset")});var rO,n$e,i$e,Jue,nO=_(()=>{"use strict";gt();it();zA();Rk();_L();pr();fT();rO=s((t,e=oT)=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),n$e=s(function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()},"getClasses"),i$e=s(async function(t,e,r,n){V.info("REF0:"),V.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:o}=le();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=n5(e,i);l.type=n.type,l.layoutAlgorithm=o,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await Dk(l,u);let h=8;dt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Mk(u,h,Cg,a?.useMaxWidth??!0)},"draw"),Jue={getClasses:n$e,draw:i$e,getDir:rO}});function she(){return new Map}function iO(t=""){let e=t;return t===oO&&(ox++,e=`${nhe}${ox}`),e}function aO(t="",e=k0){return t===oO?nhe:e}function p$e(t=""){let e=t;return t===ihe&&(ox++,e=`${ahe}${ox}`),e}function m$e(t="",e=k0){return t===ihe?ahe:e}function g$e(t,e,r){let n=iO(t.id.trim()),i=aO(t.id.trim(),t.type),a=iO(e.id.trim()),o=aO(e.id.trim(),e.type);lf(n,i,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),lf(a,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),Rs.relations.push({id1:n,id2:a,relationTitle:$e.sanitizeText(r,le())})}var oO,nhe,ihe,ahe,ehe,the,a$e,s$e,yT,lO,ohe,vT,_g,lhe,xT,Rs,ox,rhe,o$e,l$e,mT,c$e,u$e,gT,cO,h$e,lf,che,w0,uhe,f$e,d$e,hhe,sO,y$e,v$e,fhe,x$e,uO,b$e,k$e,w$e,T$e,E$e,C$e,Fo,bT=_(()=>{"use strict";it();pr();Qt();gt();Ci();Zue();nO();fT();oO="[*]",nhe="start",ihe=oO,ahe="end",ehe="color",the="fill",a$e="bgFill",s$e=",";s(she,"newClassesList");yT=[],lO=[],ohe=Oue,vT=[],_g=she(),lhe=s(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),xT={root:lhe()},Rs=xT.root,ox=0,rhe=0,o$e={LINE:0,DOTTED_LINE:1},l$e={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},mT=s(t=>JSON.parse(JSON.stringify(t)),"clone"),c$e=s(t=>{V.info("Setting root doc",t),vT=t},"setRootDoc"),u$e=s(()=>vT,"getRootDoc"),gT=s((t,e,r)=>{if(e.stmt===sx)gT(t,e.state1,!0),gT(t,e.state2,!1);else if(e.stmt===Eg&&(e.id==="[*]"?(e.id=r?t.id+"_start":t.id+"_end",e.start=r):e.id=e.id.trim()),e.doc){let n=[],i=[],a;for(a=0;a0&&i.length>0){let o={stmt:Eg,id:lA(),type:"divider",doc:mT(i)};n.push(mT(o)),e.doc=n}e.doc.forEach(o=>gT(e,o,!0))}},"docTranslator"),cO=s(()=>(gT({id:"root"},{id:"root",doc:vT},!0),{id:"root",doc:vT}),"getRootDocV2"),h$e=s(t=>{let e;t.doc?e=t.doc:e=t,V.info(e),che(!0),V.info("Extract initial document:",e),e.forEach(a=>{switch(V.warn("Statement",a.stmt),a.stmt){case Eg:lf(a.id.trim(),a.type,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles);break;case sx:hhe(a.state1,a.state2,a.description);break;case Pue:fhe(a.id.trim(),a.classes);break;case Bue:{let o=a.id.trim().split(","),l=a.styleClass.split(",");o.forEach(u=>{let h=w0(u);if(h===void 0){let f=u.trim();lf(f),h=w0(f)}h.styles=l.map(f=>f.replace(/;/g,"")?.trim())})}break;case Fue:uO(a.id.trim(),a.styleClass);break}});let r=uhe(),i=le().look;Que(),Sg(void 0,cO(),r,yT,lO,!0,i,_g),yT.forEach(a=>{if(Array.isArray(a.label)){if(a.description=a.label.slice(1),a.isGroup&&a.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+a.id+"]");a.label=a.label[0]}})},"extract"),lf=s(function(t,e=k0,r=null,n=null,i=null,a=null,o=null,l=null){let u=t?.trim();if(Rs.states.has(u)?(Rs.states.get(u).doc||(Rs.states.get(u).doc=r),Rs.states.get(u).type||(Rs.states.get(u).type=e)):(V.info("Adding state ",u,n),Rs.states.set(u,{id:u,descriptions:[],type:e,doc:r,note:i,classes:[],styles:[],textStyles:[]})),n&&(V.info("Setting state description",u,n),typeof n=="string"&&sO(u,n.trim()),typeof n=="object"&&n.forEach(h=>sO(u,h.trim()))),i){let h=Rs.states.get(u);h.note=i,h.note.text=$e.sanitizeText(h.note.text,le())}a&&(V.info("Setting state classes",u,a),(typeof a=="string"?[a]:a).forEach(f=>uO(u,f.trim()))),o&&(V.info("Setting state styles",u,o),(typeof o=="string"?[o]:o).forEach(f=>b$e(u,f.trim()))),l&&(V.info("Setting state styles",u,o),(typeof l=="string"?[l]:l).forEach(f=>k$e(u,f.trim())))},"addState"),che=s(function(t){yT=[],lO=[],xT={root:lhe()},Rs=xT.root,ox=0,_g=she(),t||br()},"clear"),w0=s(function(t){return Rs.states.get(t)},"getState"),uhe=s(function(){return Rs.states},"getStates"),f$e=s(function(){V.info("Documents = ",xT)},"logDocuments"),d$e=s(function(){return Rs.relations},"getRelations");s(iO,"startIdIfNeeded");s(aO,"startTypeIfNeeded");s(p$e,"endIdIfNeeded");s(m$e,"endTypeIfNeeded");s(g$e,"addRelationObjs");hhe=s(function(t,e,r){if(typeof t=="object")g$e(t,e,r);else{let n=iO(t.trim()),i=aO(t),a=p$e(e.trim()),o=m$e(e);lf(n,i),lf(a,o),Rs.relations.push({id1:n,id2:a,title:$e.sanitizeText(r,le())})}},"addRelation"),sO=s(function(t,e){let r=Rs.states.get(t),n=e.startsWith(":")?e.replace(":","").trim():e;r.descriptions.push($e.sanitizeText(n,le()))},"addDescription"),y$e=s(function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},"cleanupLabel"),v$e=s(()=>(rhe++,"divider-id-"+rhe),"getDividerId"),fhe=s(function(t,e=""){_g.has(t)||_g.set(t,{id:t,styles:[],textStyles:[]});let r=_g.get(t);e?.split(s$e).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(ehe).exec(n)){let o=i.replace(the,a$e).replace(ehe,the);r.textStyles.push(o)}r.styles.push(i)})},"addStyleClass"),x$e=s(function(){return _g},"getClasses"),uO=s(function(t,e){t.split(",").forEach(function(r){let n=w0(r);if(n===void 0){let i=r.trim();lf(i),n=w0(i)}n.classes.push(e)})},"setCssClass"),b$e=s(function(t,e){let r=w0(t);r!==void 0&&r.styles.push(e)},"setStyle"),k$e=s(function(t,e){let r=w0(t);r!==void 0&&r.textStyles.push(e)},"setTextStyle"),w$e=s(()=>ohe,"getDirection"),T$e=s(t=>{ohe=t},"setDirection"),E$e=s(t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),"trimColon"),C$e=s(()=>{let t=le();return{nodes:yT,edges:lO,other:{},config:t,direction:rO(cO())}},"getData"),Fo={getConfig:s(()=>le().state,"getConfig"),getData:C$e,addState:lf,clear:che,getState:w0,getStates:uhe,getRelations:d$e,getClasses:x$e,getDirection:w$e,addRelation:hhe,getDividerId:v$e,setDirection:T$e,cleanupLabel:y$e,lineType:o$e,relationType:l$e,logDocuments:f$e,getRootDoc:u$e,setRootDoc:c$e,getRootDocV2:cO,extract:h$e,trimColon:E$e,getAccTitle:Gr,setAccTitle:Ar,getAccDescription:Ur,setAccDescription:Vr,addStyleClass:fhe,setCssClass:uO,addDescription:sO,setDiagramTitle:an,getDiagramTitle:Qr}});var S$e,kT,hO=_(()=>{"use strict";S$e=s(t=>` + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{V.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!uVe(e,a)&&!i){let s=hVe(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),PE=o(function(t,e,r,n,i,a,s){let l=r.points;V.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(V.debug("to cluster abc88",n[r.toCluster]),l=Zhe(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(V.debug("from cluster abc88",n[r.fromCluster]),l=Zhe(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(S=>!Number.isNaN(S.y)),p=vs;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=X5(r),y=ha().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(de().flowchart.arrowMarkerAbsolute||de().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),Khe(x,r,b,s,i);let w={};return u&&(w.updatedPath=l),w.originalPath=r.points,w},"insertEdge")});var efe,tfe,rfe=R(()=>{"use strict";Vd();Pv();LO();N5();Hhe();M5();Xhe();DO();ut();_d();_t();efe=o(async(t,e,r,n,i,a)=>{V.info("Graph in recursive render: XXX",zn(e),i);let s=e.graph().rankdir;V.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?V.info("Recursive render XXX",e.nodes()):V.info("No nodes found for",e),e.edges().length>0&&V.trace("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(g){let y=e.node(g);if(i!==void 0){let v=JSON.parse(JSON.stringify(i.clusterData));V.info("Setting data for cluster XXX (",g,") ",v,i),e.setNode(i.id,v),e.parent(g)||(V.trace("Setting parent",g,i.id),e.setParent(g,i.id,v))}if(V.info("(Insert) Node XXX"+g+": "+JSON.stringify(e.node(g))),y?.clusterNode){V.info("Cluster identified",g,y.width,e.node(g));let{ranksep:v,nodesep:x}=e.graph();y.graph.setGraph({...y.graph.graph(),ranksep:v,nodesep:x});let b=await efe(d,y.graph,r,n,e.node(g),a),w=b.elem;kn(y,w),y.diff=b.diff||0,V.info("Node bounds (abc123)",g,y,y.width,y.x,y.y),Bj(w,y),V.warn("Recursive render complete ",w,y)}else e.children(g).length>0?(V.info("Cluster - the non recursive path XXX",g,y.id,y,e),V.info(Fg(y.id,e)),tr[y.id]={id:Fg(y.id,e),node:y}):(V.info("Node - the non recursive path",g,y.id,y),await pm(d,e.node(g),s))})),e.edges().forEach(async function(g){let y=e.edge(g.v,g.w,g.name);V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g)),V.info("Edge "+g.v+" -> "+g.w+": ",g," ",JSON.stringify(e.edge(g))),V.info("Fix",tr,"ids:",g.v,g.w,"Translating: ",tr[g.v],tr[g.w]),await IE(f,y)}),e.edges().forEach(function(g){V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g))}),V.info("Graph before layout:",JSON.stringify(zn(e))),V.info("#############################################"),V.info("### Layout ###"),V.info("#############################################"),V.info(e),lo(e),V.info("Graph after layout:",JSON.stringify(zn(e)));let p=0,{subGraphTitleTotalMargin:m}=io(a);return Uhe(e).forEach(function(g){let y=e.node(g);V.info("Position "+g+": "+JSON.stringify(e.node(g))),V.info("Position "+g+": ("+y.x,","+y.y,") width: ",y.width," height: ",y.height),y?.clusterNode?(y.y+=m,wv(y)):e.children(g).length>0?(y.height+=m,Whe(u,y),tr[y.id].node=y):(y.y+=m/2,wv(y))}),e.edges().forEach(function(g){let y=e.edge(g);V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(y),y),y.points.forEach(x=>x.y+=m/2);let v=PE(h,g,y,tr,r,e,n);OE(y,v)}),e.nodes().forEach(function(g){let y=e.node(g);V.info(g,y.type,y.diff),y.type==="group"&&(p=y.diff)}),{elem:l,diff:p}},"recursiveRender"),tfe=o(async(t,e,r,n,i)=>{LE(t,r,n,i),Fj(),Jhe(),qhe(),Bhe(),V.warn("Graph at first:",JSON.stringify(zn(e))),$he(e),V.warn("Graph after:",JSON.stringify(zn(e)));let a=de();await efe(t,e,n,i,void 0,a)},"render")});function nfe(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}var NO,RO,fVe,ife,dVe,pVe,mVe,gVe,afe,sfe=R(()=>{"use strict";Zt();ya();ut();_t();rfe();xr();xr();Yn();rr();NO=o(t=>We.sanitizeText(t,de()),"sanitizeText"),RO={dividerMargin:10,padding:5,textHeight:10,curve:void 0},fVe=o(function(t,e,r,n){V.info("keys:",[...t.keys()]),V.info(t),t.forEach(function(i){let s={shape:"rect",id:i.id,domId:i.domId,labelText:NO(i.id),labelStyle:"",style:"fill: none; stroke: black",padding:de().flowchart?.padding??de().class?.padding};e.setNode(i.id,s),ife(i.classes,e,r,n,i.id),V.info("setNode",s)})},"addNamespaces"),ife=o(function(t,e,r,n,i){V.info("keys:",[...t.keys()]),V.info(t),[...t.values()].filter(a=>a.parent===i).forEach(function(a){let s=a.cssClasses.join(" "),l=lm(a.styles),u=a.label??a.id,h=0,d={labelStyle:l.labelStyle,shape:"class_box",labelText:NO(u),classData:a,rx:h,ry:h,class:s,style:l.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id,i)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:de().flowchart?.padding??de().class?.padding};e.setNode(a.id,d),i&&e.setParent(a.id,i),V.info("setNode",d)})},"addClasses"),dVe=o(function(t,e,r,n){V.info(t),t.forEach(function(i,a){let s=i,l="",u={labelStyle:"",style:""},h=s.text,f=0,p={labelStyle:u.labelStyle,shape:"note",labelText:NO(h),noteData:s,rx:f,ry:f,class:l,style:u.style,id:s.id,domId:s.id,tooltip:"",type:"note",padding:de().flowchart?.padding??de().class?.padding};if(e.setNode(s.id,p),V.info("setNode",p),!s.class||!n.has(s.class))return;let m=r+a,g={id:`edgeNote${m}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:om(RO.curve,xu)};e.setEdge(s.id,s.class,g,m)})},"addNotes"),pVe=o(function(t,e){let r=de().flowchart,n=0;t.forEach(function(i){n++;let a={classes:"relation",pattern:i.relation.lineType==1?"dashed":"solid",id:y5(i.id1,i.id2,{prefix:"id",counter:n}),arrowhead:i.type==="arrow_open"?"none":"normal",startLabelRight:i.relationTitle1==="none"?"":i.relationTitle1,endLabelLeft:i.relationTitle2==="none"?"":i.relationTitle2,arrowTypeStart:nfe(i.relation.type1),arrowTypeEnd:nfe(i.relation.type2),style:"fill:none",labelStyle:"",curve:om(r?.curve,xu)};if(V.info(a,i),i.style!==void 0){let s=lm(i.style);a.style=s.style,a.labelStyle=s.labelStyle}i.text=i.title,i.text===void 0?i.style!==void 0&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",de().flowchart?.htmlLabels??de().htmlLabels?(a.labelType="html",a.label=''+i.text+""):(a.labelType="text",a.label=i.text.replace(We.lineBreakRegex,` +`),i.style===void 0&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),e.setEdge(i.id1,i.id2,a,n)})},"addRelations"),mVe=o(function(t){RO={...RO,...t}},"setConf"),gVe=o(async function(t,e,r,n){V.info("Drawing class - ",e);let i=de().flowchart??de().class,a=de().securityLevel;V.info("config:",i);let s=i?.nodeSpacing??50,l=i?.rankSpacing??50,u=new lr({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:s,ranksep:l,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getNamespaces(),f=n.db.getClasses(),d=n.db.getRelations(),p=n.db.getNotes();V.info(d),fVe(h,u,e,n),ife(f,u,e,n),pVe(d,u),dVe(p,u,d.length+1,f);let m;a==="sandbox"&&(m=Ge("#i"+e));let g=a==="sandbox"?Ge(m.nodes()[0].contentDocument.body):Ge("body"),y=g.select(`[id="${e}"]`),v=g.select("#"+e+" g");if(await tfe(v,u,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),Lt.insertTitle(y,"classTitleText",i?.titleTopMargin??5,n.db.getDiagramTitle()),Lo(u,y,i?.diagramPadding,i?.useMaxWidth),!i?.htmlLabels){let x=a==="sandbox"?m.nodes()[0].contentDocument:document,b=x.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(let w of b){let S=w.getBBox(),T=x.createElementNS("http://www.w3.org/2000/svg","rect");T.setAttribute("rx",0),T.setAttribute("ry",0),T.setAttribute("width",S.width),T.setAttribute("height",S.height),w.insertBefore(T,w.firstChild)}}},"draw");o(nfe,"getArrowMarker");afe={setConf:mVe,draw:gVe}});var ofe={};hr(ofe,{diagram:()=>yVe});var yVe,lfe=R(()=>{"use strict";TO();AO();_O();sfe();yVe={parser:wE,db:Bg,renderer:afe,styles:CE,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Bg.clear()},"init")}});var MO,BE,IO=R(()=>{"use strict";MO=function(){var t=o(function(F,B,G,z){for(G=G||{},z=F.length;z--;G[F[z]]=B);return G},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,32],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],w=[1,28],S=[1,29],T=[1,30],E=[1,31],_=[1,34],A=[1,35],L=[1,36],M=[1,37],N=[1,33],k=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],I=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],C=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],O={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(B,G,z,Y,Q,X,ie){var j=X.length-1;switch(Q){case 3:return Y.setRootDoc(X[j]),X[j];break;case 4:this.$=[];break;case 5:X[j]!="nl"&&(X[j-1].push(X[j]),this.$=X[j-1]);break;case 6:case 7:this.$=X[j];break;case 8:this.$="nl";break;case 12:this.$=X[j];break;case 13:let q=X[j-1];q.description=Y.trimColon(X[j]),this.$=q;break;case 14:this.$={stmt:"relation",state1:X[j-2],state2:X[j]};break;case 15:let K=Y.trimColon(X[j]);this.$={stmt:"relation",state1:X[j-3],state2:X[j-1],description:K};break;case 19:this.$={stmt:"state",id:X[j-3],type:"default",description:"",doc:X[j-1]};break;case 20:var J=X[j],Z=X[j-2].trim();if(X[j].match(":")){var H=X[j].split(":");J=H[0],Z=[Z,H[1]]}this.$={stmt:"state",id:J,type:"default",description:Z};break;case 21:this.$={stmt:"state",id:X[j-3],type:"default",description:X[j-5],doc:X[j-1]};break;case 22:this.$={stmt:"state",id:X[j],type:"fork"};break;case 23:this.$={stmt:"state",id:X[j],type:"join"};break;case 24:this.$={stmt:"state",id:X[j],type:"choice"};break;case 25:this.$={stmt:"state",id:Y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:X[j-1].trim(),note:{position:X[j-2].trim(),text:X[j].trim()}};break;case 29:this.$=X[j].trim(),Y.setAccTitle(this.$);break;case 30:case 31:this.$=X[j].trim(),Y.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:X[j-1].trim(),classes:X[j].trim()};break;case 34:this.$={stmt:"style",id:X[j-1].trim(),styleClass:X[j].trim()};break;case 35:this.$={stmt:"applyClass",id:X[j-1].trim(),styleClass:X[j].trim()};break;case 36:Y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:Y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:Y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:Y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:X[j].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:X[j-2].trim(),classes:[X[j].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:X[j-2].trim(),classes:[X[j].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:S,42:T,45:E,48:_,49:A,50:L,51:M,54:N},t(k,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:S,42:T,45:E,48:_,49:A,50:L,51:M,54:N},t(k,[2,7]),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(k,[2,11]),t(k,[2,12],{14:[1,39],15:[1,40]}),t(k,[2,16]),{18:[1,41]},t(k,[2,18],{20:[1,42]}),{23:[1,43]},t(k,[2,22]),t(k,[2,23]),t(k,[2,24]),t(k,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(k,[2,28]),{34:[1,48]},{36:[1,49]},t(k,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(I,[2,42],{55:[1,54]}),t(I,[2,43],{55:[1,55]}),t(k,[2,36]),t(k,[2,37]),t(k,[2,38]),t(k,[2,39]),t(k,[2,6]),t(k,[2,13]),{13:56,24:d,54:N},t(k,[2,17]),t(C,i,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(k,[2,29]),t(k,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(k,[2,14],{14:[1,67]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,68],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:S,42:T,45:E,48:_,49:A,50:L,51:M,54:N},t(k,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(k,[2,32]),t(k,[2,33]),t(k,[2,34]),t(k,[2,35]),t(I,[2,44]),t(I,[2,45]),t(k,[2,15]),t(k,[2,19]),t(C,i,{7:72}),t(k,[2,26]),t(k,[2,27]),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,73],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:S,42:T,45:E,48:_,49:A,50:L,51:M,54:N},t(k,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:o(function(B,G){if(G.recoverable)this.trace(B);else{var z=new Error(B);throw z.hash=G,z}},"parseError"),parse:o(function(B){var G=this,z=[0],Y=[],Q=[null],X=[],ie=this.table,j="",J=0,Z=0,H=0,q=2,K=1,se=X.slice.call(arguments,1),ce=Object.create(this.lexer),ue={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(ue.yy[te]=this.yy[te]);ce.setInput(B,ue.yy),ue.yy.lexer=ce,ue.yy.parser=this,typeof ce.yylloc>"u"&&(ce.yylloc={});var De=ce.yylloc;X.push(De);var oe=ce.options&&ce.options.ranges;typeof ue.yy.parseError=="function"?this.parseError=ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(we){z.length=z.length-2*we,Q.length=Q.length-we,X.length=X.length-we}o(ke,"popStack");function Ie(){var we;return we=Y.pop()||ce.lex()||K,typeof we!="number"&&(we instanceof Array&&(Y=we,we=Y.pop()),we=G.symbols_[we]||we),we}o(Ie,"lex");for(var Se,Ue,Pe,_e,me,W,fe={},ge,re,he,ne;;){if(Pe=z[z.length-1],this.defaultActions[Pe]?_e=this.defaultActions[Pe]:((Se===null||typeof Se>"u")&&(Se=Ie()),_e=ie[Pe]&&ie[Pe][Se]),typeof _e>"u"||!_e.length||!_e[0]){var ae="";ne=[];for(ge in ie[Pe])this.terminals_[ge]&&ge>q&&ne.push("'"+this.terminals_[ge]+"'");ce.showPosition?ae="Parse error on line "+(J+1)+`: +`+ce.showPosition()+` +Expecting `+ne.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":ae="Parse error on line "+(J+1)+": Unexpected "+(Se==K?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(ae,{text:ce.match,token:this.terminals_[Se]||Se,line:ce.yylineno,loc:De,expected:ne})}if(_e[0]instanceof Array&&_e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pe+", token: "+Se);switch(_e[0]){case 1:z.push(Se),Q.push(ce.yytext),X.push(ce.yylloc),z.push(_e[1]),Se=null,Ue?(Se=Ue,Ue=null):(Z=ce.yyleng,j=ce.yytext,J=ce.yylineno,De=ce.yylloc,H>0&&H--);break;case 2:if(re=this.productions_[_e[1]][1],fe.$=Q[Q.length-re],fe._$={first_line:X[X.length-(re||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(re||1)].first_column,last_column:X[X.length-1].last_column},oe&&(fe._$.range=[X[X.length-(re||1)].range[0],X[X.length-1].range[1]]),W=this.performAction.apply(fe,[j,Z,J,ue.yy,_e[1],Q,X].concat(se)),typeof W<"u")return W;re&&(z=z.slice(0,-1*re*2),Q=Q.slice(0,-1*re),X=X.slice(0,-1*re)),z.push(this.productions_[_e[1]][0]),Q.push(fe.$),X.push(fe._$),he=ie[z[z.length-2]][z[z.length-1]],z.push(he);break;case 3:return!0}}return!0},"parse")},D=function(){var F={EOF:1,parseError:o(function(G,z){if(this.yy.parser)this.yy.parser.parseError(G,z);else throw new Error(G)},"parseError"),setInput:o(function(B,G){return this.yy=G||this.yy||{},this._input=B,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var B=this._input[0];this.yytext+=B,this.yyleng++,this.offset++,this.match+=B,this.matched+=B;var G=B.match(/(?:\r\n?|\n).*/g);return G?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),B},"input"),unput:o(function(B){var G=B.length,z=B.split(/(?:\r\n?|\n)/g);this._input=B+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-G),this.offset-=G;var Y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.length-1);var Q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:z?(z.length===Y.length?this.yylloc.first_column:0)+Y[Y.length-z.length].length-z[0].length:this.yylloc.first_column-G},this.options.ranges&&(this.yylloc.range=[Q[0],Q[0]+this.yyleng-G]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(B){this.unput(this.match.slice(B))},"less"),pastInput:o(function(){var B=this.matched.substr(0,this.matched.length-this.match.length);return(B.length>20?"...":"")+B.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var B=this.match;return B.length<20&&(B+=this._input.substr(0,20-B.length)),(B.substr(0,20)+(B.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var B=this.pastInput(),G=new Array(B.length+1).join("-");return B+this.upcomingInput()+` +`+G+"^"},"showPosition"),test_match:o(function(B,G){var z,Y,Q;if(this.options.backtrack_lexer&&(Q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Q.yylloc.range=this.yylloc.range.slice(0))),Y=B[0].match(/(?:\r\n?|\n).*/g),Y&&(this.yylineno+=Y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y?Y[Y.length-1].length-Y[Y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+B[0].length},this.yytext+=B[0],this.match+=B[0],this.matches=B,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(B[0].length),this.matched+=B[0],z=this.performAction.call(this,this.yy,this,G,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var X in Q)this[X]=Q[X];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var B,G,z,Y;this._more||(this.yytext="",this.match="");for(var Q=this._currentRules(),X=0;XG[0].length)){if(G=z,Y=X,this.options.backtrack_lexer){if(B=this.test_match(z,Q[X]),B!==!1)return B;if(this._backtrack){G=!1;continue}else return!1}else if(!this.options.flex)break}return G?(B=this.test_match(G,Q[Y]),B!==!1?B:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var G=this.next();return G||this.lex()},"lex"),begin:o(function(G){this.conditionStack.push(G)},"begin"),popState:o(function(){var G=this.conditionStack.length-1;return G>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(G){return G=this.conditionStack.length-1-Math.abs(G||0),G>=0?this.conditionStack[G]:"INITIAL"},"topState"),pushState:o(function(G){this.begin(G)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(G,z,Y,Q){var X=Q;switch(Y){case 0:return 41;case 1:return 48;case 2:return 49;case 3:return 50;case 4:return 51;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),17;break;case 13:return 18;case 14:this.popState();break;case 15:return this.begin("acc_title"),33;break;case 16:return this.popState(),"acc_title_value";break;case 17:return this.begin("acc_descr"),35;break;case 18:return this.popState(),"acc_descr_value";break;case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;break;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 24:return this.popState(),this.pushState("CLASSDEFID"),39;break;case 25:return this.popState(),40;break;case 26:return this.pushState("CLASS"),45;break;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;break;case 28:return this.popState(),47;break;case 29:return this.pushState("STYLE"),42;break;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;break;case 31:return this.popState(),44;break;case 32:return this.pushState("SCALE"),17;break;case 33:return 18;case 34:this.popState();break;case 35:this.pushState("STATE");break;case 36:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),25;break;case 37:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),26;break;case 38:return this.popState(),z.yytext=z.yytext.slice(0,-10).trim(),27;break;case 39:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),z.yytext=z.yytext.slice(0,-10).trim(),27;break;case 42:return 48;case 43:return 49;case 44:return 50;case 45:return 51;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";break;case 48:return this.popState(),"ID";break;case 49:this.popState();break;case 50:return"STATE_DESCR";case 51:return 19;case 52:this.popState();break;case 53:return this.popState(),this.pushState("struct"),20;break;case 54:break;case 55:return this.popState(),21;break;case 56:break;case 57:return this.begin("NOTE"),29;break;case 58:return this.popState(),this.pushState("NOTE_ID"),56;break;case 59:return this.popState(),this.pushState("NOTE_ID"),57;break;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 62:break;case 63:return"NOTE_TEXT";case 64:return this.popState(),"ID";break;case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 66:return this.popState(),z.yytext=z.yytext.substr(2).trim(),31;break;case 67:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),31;break;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return z.yytext=z.yytext.trim(),14;break;case 74:return 15;case 75:return 28;case 76:return 55;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return F}();O.lexer=D;function P(){this.yy={}}return o(P,"Parser"),P.prototype=O,O.Parser=P,new P}();MO.parser=MO;BE=MO});var hfe,FE,zg,Ex,ffe,dfe,pfe,N0,zE,OO,PO,BO,FO,zO,$E,GE,mfe,gfe,$O,GO,yfe,vfe,$g,wVe,xfe,VO,TVe,kVe,bfe,wfe,EVe,Tfe,CVe,kfe,UO,HO,Efe,VE,Cfe,YO,UE=R(()=>{"use strict";hfe="LR",FE="TB",zg="state",Ex="relation",ffe="classDef",dfe="style",pfe="applyClass",N0="default",zE="divider",OO="fill:none",PO="fill: #333",BO="c",FO="text",zO="normal",$E="rect",GE="rectWithTitle",mfe="stateStart",gfe="stateEnd",$O="divider",GO="roundedWithTitle",yfe="note",vfe="noteGroup",$g="statediagram",wVe="state",xfe=`${$g}-${wVe}`,VO="transition",TVe="note",kVe="note-edge",bfe=`${VO} ${kVe}`,wfe=`${$g}-${TVe}`,EVe="cluster",Tfe=`${$g}-${EVe}`,CVe="cluster-alt",kfe=`${$g}-${CVe}`,UO="parent",HO="note",Efe="state",VE="----",Cfe=`${VE}${HO}`,YO=`${VE}${UO}`});function WO(t="",e=0,r="",n=VE){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${Efe}-${t}${i}-${e}`}function HE(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{if(r.get(i)){let a=r.get(i);e.cssCompiledStyles=[...e.cssCompiledStyles,...a.styles]}}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function AVe(t){return t?.classes?.join(" ")??""}function _Ve(t){return t?.styles??[]}var YE,yf,SVe,Sfe,Gg,Afe,_fe=R(()=>{"use strict";_t();ut();rr();UE();YE=new Map,yf=0;o(WO,"stateDomId");SVe=o((t,e,r,n,i,a,s,l)=>{V.trace("items",e),e.forEach(u=>{switch(u.stmt){case zg:Gg(t,u,r,n,i,a,s,l);break;case N0:Gg(t,u,r,n,i,a,s,l);break;case Ex:{Gg(t,u.state1,r,n,i,a,s,l),Gg(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+yf,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:OO,labelStyle:"",label:We.sanitizeText(u.description,de()),arrowheadStyle:PO,labelpos:BO,labelType:FO,thickness:zO,classes:VO,look:s};i.push(h),yf++}break}})},"setupDoc"),Sfe=o((t,e=FE)=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(HE,"insertOrUpdateNode");o(AVe,"getClassesFromDbInfo");o(_Ve,"getStylesFromDbInfo");Gg=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=AVe(h),d=_Ve(h);if(V.info("dataFetcher parsedItem",e,h,d),u!=="root"){let p=$E;e.start===!0?p=mfe:e.start===!1&&(p=gfe),e.type!==N0&&(p=e.type),YE.get(u)||YE.set(u,{id:u,shape:p,description:We.sanitizeText(u,de()),cssClasses:`${f} ${xfe}`,cssStyles:d});let m=YE.get(u);e.description&&(Array.isArray(m.description)?(m.shape=GE,m.description.push(e.description)):m.description?.length>0?(m.shape=GE,m.description===u?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=$E,m.description=e.description),m.description=We.sanitizeTextOrArray(m.description,de())),m.description?.length===1&&m.shape===GE&&(m.type==="group"?m.shape=GO:m.shape=$E),!m.type&&e.doc&&(V.info("Setting cluster for XCX",u,Sfe(e)),m.type="group",m.isGroup=!0,m.dir=Sfe(e),m.shape=e.type===zE?$O:GO,m.cssClasses=`${m.cssClasses} ${Tfe} ${a?kfe:""}`);let g={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:u,dir:m.dir,domId:WO(u,yf),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s};if(g.shape===$O&&(g.label=""),t&&t.id!=="root"&&(V.trace("Setting node ",u," to be child of its parent ",t.id),g.parentId=t.id),g.centerLabel=!0,e.note){let y={labelStyle:"",shape:yfe,label:e.note.text,cssClasses:wfe,cssStyles:[],cssCompilesStyles:[],id:u+Cfe+"-"+yf,domId:WO(u,yf,HO),type:m.type,isGroup:m.type==="group",padding:de().flowchart.padding,look:s,position:e.note.position},v=u+YO,x={labelStyle:"",shape:vfe,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:u+YO,domId:WO(u,yf,UO),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};yf++,x.id=v,y.parentId=v,HE(n,x,l),HE(n,y,l),HE(n,g,l);let b=u,w=y.id;e.note.position==="left of"&&(b=y.id,w=u),i.push({id:b+"-"+w,start:b,end:w,arrowhead:"none",arrowTypeEnd:"",style:OO,labelStyle:"",classes:bfe,arrowheadStyle:PO,labelpos:BO,labelType:FO,thickness:zO,look:s})}else HE(n,g,l)}e.doc&&(V.trace("Adding nodes children "),SVe(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),Afe=o(()=>{YE.clear(),yf=0},"reset")});var qO,LVe,DVe,Lfe,XO=R(()=>{"use strict";_t();ut();L9();oT();yD();xr();UE();qO=o((t,e=FE)=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),LVe=o(function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()},"getClasses"),DVe=o(async function(t,e,r,n){V.info("REF0:"),V.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=de();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=I5(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await sT(l,u);let h=8;Lt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),lT(u,h,$g,a?.useMaxWidth??!0)},"draw"),Lfe={getClasses:LVe,draw:DVe,getDir:qO}});function Pfe(){return new Map}function jO(t=""){let e=t;return t===ZO&&(Cx++,e=`${Mfe}${Cx}`),e}function KO(t="",e=N0){return t===ZO?Mfe:e}function $Ve(t=""){let e=t;return t===Ife&&(Cx++,e=`${Ofe}${Cx}`),e}function GVe(t="",e=N0){return t===Ife?Ofe:e}function VVe(t,e,r){let n=jO(t.id.trim()),i=KO(t.id.trim(),t.type),a=jO(e.id.trim()),s=KO(e.id.trim(),e.type);vf(n,i,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),vf(a,s,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),Fs.relations.push({id1:n,id2:a,relationTitle:We.sanitizeText(r,de())})}var ZO,Mfe,Ife,Ofe,Dfe,Rfe,RVe,NVe,XE,JO,Bfe,jE,Vg,Ffe,KE,Fs,Cx,Nfe,MVe,IVe,WE,OVe,PVe,qE,eP,BVe,vf,zfe,M0,$fe,FVe,zVe,Gfe,QO,UVe,HVe,Vfe,YVe,tP,WVe,qVe,XVe,jVe,KVe,QVe,Qo,QE=R(()=>{"use strict";ut();xr();rr();_t();bi();_fe();XO();UE();ZO="[*]",Mfe="start",Ife=ZO,Ofe="end",Dfe="color",Rfe="fill",RVe="bgFill",NVe=",";o(Pfe,"newClassesList");XE=[],JO=[],Bfe=hfe,jE=[],Vg=Pfe(),Ffe=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),KE={root:Ffe()},Fs=KE.root,Cx=0,Nfe=0,MVe={LINE:0,DOTTED_LINE:1},IVe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},WE=o(t=>JSON.parse(JSON.stringify(t)),"clone"),OVe=o(t=>{V.info("Setting root doc",t),jE=t},"setRootDoc"),PVe=o(()=>jE,"getRootDoc"),qE=o((t,e,r)=>{if(e.stmt===Ex)qE(t,e.state1,!0),qE(t,e.state2,!1);else if(e.stmt===zg&&(e.id==="[*]"?(e.id=r?t.id+"_start":t.id+"_end",e.start=r):e.id=e.id.trim()),e.doc){let n=[],i=[],a;for(a=0;a0&&i.length>0){let s={stmt:zg,id:Z_(),type:"divider",doc:WE(i)};n.push(WE(s)),e.doc=n}e.doc.forEach(s=>qE(e,s,!0))}},"docTranslator"),eP=o(()=>(qE({id:"root"},{id:"root",doc:jE},!0),{id:"root",doc:jE}),"getRootDocV2"),BVe=o(t=>{let e;t.doc?e=t.doc:e=t,V.info(e),zfe(!0),V.info("Extract initial document:",e),e.forEach(a=>{switch(V.warn("Statement",a.stmt),a.stmt){case zg:vf(a.id.trim(),a.type,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles);break;case Ex:Gfe(a.state1,a.state2,a.description);break;case ffe:Vfe(a.id.trim(),a.classes);break;case dfe:{let s=a.id.trim().split(","),l=a.styleClass.split(",");s.forEach(u=>{let h=M0(u);if(h===void 0){let f=u.trim();vf(f),h=M0(f)}h.styles=l.map(f=>f.replace(/;/g,"")?.trim())})}break;case pfe:tP(a.id.trim(),a.styleClass);break}});let r=$fe(),i=de().look;Afe(),Gg(void 0,eP(),r,XE,JO,!0,i,Vg),XE.forEach(a=>{if(Array.isArray(a.label)){if(a.description=a.label.slice(1),a.isGroup&&a.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+a.id+"]");a.label=a.label[0]}})},"extract"),vf=o(function(t,e=N0,r=null,n=null,i=null,a=null,s=null,l=null){let u=t?.trim();if(Fs.states.has(u)?(Fs.states.get(u).doc||(Fs.states.get(u).doc=r),Fs.states.get(u).type||(Fs.states.get(u).type=e)):(V.info("Adding state ",u,n),Fs.states.set(u,{id:u,descriptions:[],type:e,doc:r,note:i,classes:[],styles:[],textStyles:[]})),n&&(V.info("Setting state description",u,n),typeof n=="string"&&QO(u,n.trim()),typeof n=="object"&&n.forEach(h=>QO(u,h.trim()))),i){let h=Fs.states.get(u);h.note=i,h.note.text=We.sanitizeText(h.note.text,de())}a&&(V.info("Setting state classes",u,a),(typeof a=="string"?[a]:a).forEach(f=>tP(u,f.trim()))),s&&(V.info("Setting state styles",u,s),(typeof s=="string"?[s]:s).forEach(f=>WVe(u,f.trim()))),l&&(V.info("Setting state styles",u,s),(typeof l=="string"?[l]:l).forEach(f=>qVe(u,f.trim())))},"addState"),zfe=o(function(t){XE=[],JO=[],KE={root:Ffe()},Fs=KE.root,Cx=0,Vg=Pfe(),t||vr()},"clear"),M0=o(function(t){return Fs.states.get(t)},"getState"),$fe=o(function(){return Fs.states},"getStates"),FVe=o(function(){V.info("Documents = ",KE)},"logDocuments"),zVe=o(function(){return Fs.relations},"getRelations");o(jO,"startIdIfNeeded");o(KO,"startTypeIfNeeded");o($Ve,"endIdIfNeeded");o(GVe,"endTypeIfNeeded");o(VVe,"addRelationObjs");Gfe=o(function(t,e,r){if(typeof t=="object")VVe(t,e,r);else{let n=jO(t.trim()),i=KO(t),a=$Ve(e.trim()),s=GVe(e);vf(n,i),vf(a,s),Fs.relations.push({id1:n,id2:a,title:We.sanitizeText(r,de())})}},"addRelation"),QO=o(function(t,e){let r=Fs.states.get(t),n=e.startsWith(":")?e.replace(":","").trim():e;r.descriptions.push(We.sanitizeText(n,de()))},"addDescription"),UVe=o(function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},"cleanupLabel"),HVe=o(()=>(Nfe++,"divider-id-"+Nfe),"getDividerId"),Vfe=o(function(t,e=""){Vg.has(t)||Vg.set(t,{id:t,styles:[],textStyles:[]});let r=Vg.get(t);e?.split(NVe).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(Dfe).exec(n)){let s=i.replace(Rfe,RVe).replace(Dfe,Rfe);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),YVe=o(function(){return Vg},"getClasses"),tP=o(function(t,e){t.split(",").forEach(function(r){let n=M0(r);if(n===void 0){let i=r.trim();vf(i),n=M0(i)}n.classes.push(e)})},"setCssClass"),WVe=o(function(t,e){let r=M0(t);r!==void 0&&r.styles.push(e)},"setStyle"),qVe=o(function(t,e){let r=M0(t);r!==void 0&&r.textStyles.push(e)},"setTextStyle"),XVe=o(()=>Bfe,"getDirection"),jVe=o(t=>{Bfe=t},"setDirection"),KVe=o(t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),"trimColon"),QVe=o(()=>{let t=de();return{nodes:XE,edges:JO,other:{},config:t,direction:qO(eP())}},"getData"),Qo={getConfig:o(()=>de().state,"getConfig"),getData:QVe,addState:vf,clear:zfe,getState:M0,getStates:$fe,getRelations:zVe,getClasses:YVe,getDirection:XVe,addRelation:Gfe,getDividerId:HVe,setDirection:jVe,cleanupLabel:UVe,lineType:MVe,relationType:IVe,logDocuments:FVe,getRootDoc:PVe,setRootDoc:OVe,getRootDocV2:eP,extract:BVe,trimColon:KVe,getAccTitle:Ar,setAccTitle:kr,getAccDescription:Lr,setAccDescription:_r,addStyleClass:Vfe,setCssClass:tP,addDescription:QO,setDiagramTitle:nn,getDiagramTitle:Xr}});var ZVe,ZE,rP=R(()=>{"use strict";ZVe=o(t=>` defs #statediagram-barbEnd { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; @@ -1624,12 +1624,12 @@ g.stateGroup line { font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),kT=S$e});var fO,_$e,A$e,dhe,L$e,phe,mhe=_(()=>{"use strict";fO={},_$e=s((t,e)=>{fO[t]=e},"set"),A$e=s(t=>fO[t],"get"),dhe=s(()=>Object.keys(fO),"keys"),L$e=s(()=>dhe().length,"size"),phe={get:A$e,set:_$e,keys:dhe,size:L$e}});var D$e,R$e,M$e,I$e,yhe,N$e,O$e,P$e,B$e,dO,ghe,vhe,xhe=_(()=>{"use strict";Xt();mhe();bT();pr();Qt();gt();it();D$e=s(t=>t.append("circle").attr("class","start-state").attr("r",le().state.sizeUnit).attr("cx",le().state.padding+le().state.sizeUnit).attr("cy",le().state.padding+le().state.sizeUnit),"drawStartState"),R$e=s(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",le().state.textHeight).attr("class","divider").attr("x2",le().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),M$e=s((t,e)=>{let r=t.append("text").attr("x",2*le().state.padding).attr("y",le().state.textHeight+2*le().state.padding).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",le().state.padding).attr("y",le().state.padding).attr("width",n.width+2*le().state.padding).attr("height",n.height+2*le().state.padding).attr("rx",le().state.radius),r},"drawSimpleState"),I$e=s((t,e)=>{let r=s(function(p,m,g){let y=p.append("tspan").attr("x",2*le().state.padding).text(m);g||y.attr("dy",le().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*le().state.padding).attr("y",le().state.textHeight+1.3*le().state.padding).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,o=t.append("text").attr("x",le().state.padding).attr("y",a+le().state.padding*.4+le().state.dividerMargin+le().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(o,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",le().state.padding).attr("y1",le().state.padding+a+le().state.dividerMargin/2).attr("y2",le().state.padding+a+le().state.dividerMargin/2).attr("class","descr-divider"),f=o.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*le().state.padding),t.insert("rect",":first-child").attr("x",le().state.padding).attr("y",le().state.padding).attr("width",d+2*le().state.padding).attr("height",f.height+a+2*le().state.padding).attr("rx",le().state.radius),t},"drawDescrState"),yhe=s((t,e,r)=>{let n=le().state.padding,i=2*le().state.padding,a=t.node().getBBox(),o=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",le().state.titleShift).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,o);d===o&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>o&&(p=(o-d)/2+n),Math.abs(l-m.x)o&&(p=l-(f-o)/2);let g=1-le().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+le().state.textHeight+le().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=o&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",le().state.titleShift-le().state.textHeight-le().state.padding).attr("width",d).attr("height",le().state.textHeight*3).attr("rx",le().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",le().state.titleShift-le().state.textHeight-le().state.padding).attr("width",d).attr("height",m.height+3+2*le().state.textHeight).attr("rx",le().state.radius),t},"addTitleAndBox"),N$e=s(t=>(t.append("circle").attr("class","end-state-outer").attr("r",le().state.sizeUnit+le().state.miniPadding).attr("cx",le().state.padding+le().state.sizeUnit+le().state.miniPadding).attr("cy",le().state.padding+le().state.sizeUnit+le().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",le().state.sizeUnit).attr("cx",le().state.padding+le().state.sizeUnit+2).attr("cy",le().state.padding+le().state.sizeUnit+2)),"drawEndState"),O$e=s((t,e)=>{let r=le().state.forkWidth,n=le().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",le().state.padding).attr("y",le().state.padding)},"drawForkJoinState"),P$e=s((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let o=t.replace(/\r\n/g,"
    ");o=o.replace(/\n/g,"
    ");let l=o.split($e.lineBreakRegex),u=1.25*le().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+le().state.noteMargin),d.attr("y",r+i+1.25*le().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),B$e=s((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",le().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=P$e(t,0,0,n);return r.attr("height",a+2*le().state.noteMargin),r.attr("width",i+le().state.noteMargin*2),r},"drawNote"),dO=s(function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&D$e(i),e.type==="end"&&N$e(i),(e.type==="fork"||e.type==="join")&&O$e(i,e),e.type==="note"&&B$e(e.note.text,i),e.type==="divider"&&R$e(i),e.type==="default"&&e.descriptions.length===0&&M$e(i,e),e.type==="default"&&e.descriptions.length>0&&I$e(i,e);let a=i.node().getBBox();return n.width=a.width+2*le().state.padding,n.height=a.height+2*le().state.padding,phe.set(r,n),n},"drawState"),ghe=0,vhe=s(function(t,e,r){let n=s(function(u){switch(u){case Fo.relationType.AGGREGATION:return"aggregation";case Fo.relationType.EXTENSION:return"extension";case Fo.relationType.COMPOSITION:return"composition";case Fo.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=ra().x(function(u){return u.x}).y(function(u){return u.y}).curve(hs),o=t.append("path").attr("d",a(i)).attr("id","edge"+ghe).attr("class","transition"),l="";if(le().state.arrowMarkerAbsolute&&(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\(/g,"\\("),l=l.replace(/\)/g,"\\)")),o.attr("marker-end","url("+l+"#"+n(Fo.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=dt.calcLabelPosition(e.points),d=$e.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let k=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),A=k.node().getBBox();g=Math.max(g,A.width),y=Math.min(y,A.x),V.info(A.x,h,f+p),p===0&&(p=k.node().getBBox().height,V.info("Title height",p,f)),m.push(k)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((k,A)=>k.attr("y",f+A*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-le().state.padding/2).attr("y",f-v/2-le().state.padding/2-3.5).attr("width",g+le().state.padding).attr("height",v+le().state.padding),V.info(x)}ghe++},"drawEdge")});var so,pO,F$e,z$e,$$e,G$e,bhe,khe,whe=_(()=>{"use strict";Xt();Dd();la();it();Qt();xhe();gt();Un();pO={},F$e=s(function(){},"setConf"),z$e=s(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),$$e=s(function(t,e,r,n){so=le().state;let i=le().securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let o=i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;V.debug("Rendering diagram "+t);let u=o.select(`[id='${e}']`);z$e(u);let h=n.db.getRootDoc();bhe(h,u,void 0,!1,o,l,n);let f=so.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;xr(u,m,g,so.useMaxWidth),u.attr("viewBox",`${d.x-so.padding} ${d.y-so.padding} `+p+" "+m)},"draw"),G$e=s(t=>t?t.length*so.fontSizeFactor:1,"getLabelWidth"),bhe=s((t,e,r,n,i,a,o)=>{let l=new ir({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=A.parentElement,T=0,C=0;w&&(w.parentElement&&(T=w.parentElement.getBBox().width),C=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(C)&&(C=0)),A.setAttribute("x1",0-C+8),A.setAttribute("x2",T-C-8)})):V.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(V.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),vhe(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*so.padding,x.height=v.height+2*so.padding,V.debug("Doc rendered",x,l),x},"renderDoc"),khe={setConf:F$e,draw:$$e}});var The={};ur(The,{diagram:()=>V$e});var V$e,Ehe=_(()=>{"use strict";UN();bT();hO();whe();V$e={parser:sT,db:Fo,renderer:khe,styles:kT,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Fo.clear()},"init")}});var _he={};ur(_he,{diagram:()=>H$e});var H$e,Ahe=_(()=>{"use strict";UN();bT();hO();nO();H$e={parser:sT,db:Fo,renderer:Jue,styles:kT,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Fo.clear()},"init")}});var mO,Rhe,Mhe=_(()=>{"use strict";mO=function(){var t=s(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],o=[1,13],l=[1,14],u={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:s(function(p,m,g,y,v,x,b){var k=x.length-1;switch(v){case 1:return x[k-1];case 2:this.$=[];break;case 3:x[k-1].push(x[k]),this.$=x[k-1];break;case 4:case 5:this.$=x[k];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[k].substr(6)),this.$=x[k].substr(6);break;case 9:this.$=x[k].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[k].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[k].substr(8)),this.$=x[k].substr(8);break;case 13:y.addTask(x[k-1],x[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:o,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:o,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:s(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:s(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,k="",A=0,w=0,T=0,C=2,E=1,S=x.slice.call(arguments,1),R=Object.create(this.lexer),D={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(D.yy[L]=this.yy[L]);R.setInput(p,D.yy),D.yy.lexer=R,D.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var P=R.yylloc;x.push(P);var M=R.options&&R.options.ranges;typeof D.yy.parseError=="function"?this.parseError=D.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(H){g.length=g.length-2*H,v.length=v.length-H,x.length=x.length-H}s(F,"popStack");function I(){var H;return H=y.pop()||R.lex()||E,typeof H!="number"&&(H instanceof Array&&(y=H,H=y.pop()),H=m.symbols_[H]||H),H}s(I,"lex");for(var O,z,N,U,$,W,ee={},te,ce,Z,fe;;){if(N=g[g.length-1],this.defaultActions[N]?U=this.defaultActions[N]:((O===null||typeof O>"u")&&(O=I()),U=b[N]&&b[N][O]),typeof U>"u"||!U.length||!U[0]){var ne="";fe=[];for(te in b[N])this.terminals_[te]&&te>C&&fe.push("'"+this.terminals_[te]+"'");R.showPosition?ne="Parse error on line "+(A+1)+`: -`+R.showPosition()+` -Expecting `+fe.join(", ")+", got '"+(this.terminals_[O]||O)+"'":ne="Parse error on line "+(A+1)+": Unexpected "+(O==E?"end of input":"'"+(this.terminals_[O]||O)+"'"),this.parseError(ne,{text:R.match,token:this.terminals_[O]||O,line:R.yylineno,loc:P,expected:fe})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+O);switch(U[0]){case 1:g.push(O),v.push(R.yytext),x.push(R.yylloc),g.push(U[1]),O=null,z?(O=z,z=null):(w=R.yyleng,k=R.yytext,A=R.yylineno,P=R.yylloc,T>0&&T--);break;case 2:if(ce=this.productions_[U[1]][1],ee.$=v[v.length-ce],ee._$={first_line:x[x.length-(ce||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(ce||1)].first_column,last_column:x[x.length-1].last_column},M&&(ee._$.range=[x[x.length-(ce||1)].range[0],x[x.length-1].range[1]]),W=this.performAction.apply(ee,[k,w,A,D.yy,U[1],v,x].concat(S)),typeof W<"u")return W;ce&&(g=g.slice(0,-1*ce*2),v=v.slice(0,-1*ce),x=x.slice(0,-1*ce)),g.push(this.productions_[U[1]][0]),v.push(ee.$),x.push(ee._$),Z=b[g[g.length-2]][g[g.length-1]],g.push(Z);break;case 3:return!0}}return!0},"parse")},h=function(){var d={EOF:1,parseError:s(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:s(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:s(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(p){this.unput(this.match.slice(p))},"less"),pastInput:s(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` -`+m+"^"},"showPosition"),test_match:s(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var m=this.next();return m||this.lex()},"lex"),begin:s(function(m){this.conditionStack.push(m)},"begin"),popState:s(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:s(function(m){this.begin(m)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d}();u.lexer=h;function f(){this.yy={}}return s(f,"Parser"),f.prototype=u,u.Parser=f,new f}();mO.parser=mO;Rhe=mO});var Ag,gO,lx,cx,K$e,Q$e,Z$e,J$e,eGe,tGe,rGe,Ihe,nGe,yO,Nhe=_(()=>{"use strict";gt();Ci();Ag="",gO=[],lx=[],cx=[],K$e=s(function(){gO.length=0,lx.length=0,Ag="",cx.length=0,br()},"clear"),Q$e=s(function(t){Ag=t,gO.push(t)},"addSection"),Z$e=s(function(){return gO},"getSections"),J$e=s(function(){let t=Ihe(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),tGe=s(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),o={section:Ag,type:Ag,people:a,task:t,score:n};cx.push(o)},"addTask"),rGe=s(function(t){let e={section:Ag,type:Ag,description:t,task:t,classes:[]};lx.push(e)},"addTaskOrg"),Ihe=s(function(){let t=s(function(r){return cx[r].processed},"compileTask"),e=!0;for(let[r,n]of cx.entries())t(r),e=e&&n.processed;return e},"compileTasks"),nGe=s(function(){return eGe()},"getActors"),yO={getConfig:s(()=>le().journey,"getConfig"),clear:K$e,setDiagramTitle:an,getDiagramTitle:Qr,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addSection:Q$e,getSections:Z$e,getTasks:J$e,addTask:tGe,addTaskOrg:rGe,getActors:nGe}});var iGe,Ohe,Phe=_(()=>{"use strict";iGe=s(t=>`.label { +`,"getStyles"),ZE=ZVe});var nP,JVe,eUe,Ufe,tUe,Hfe,Yfe=R(()=>{"use strict";nP={},JVe=o((t,e)=>{nP[t]=e},"set"),eUe=o(t=>nP[t],"get"),Ufe=o(()=>Object.keys(nP),"keys"),tUe=o(()=>Ufe().length,"size"),Hfe={get:eUe,set:JVe,keys:Ufe,size:tUe}});var rUe,nUe,iUe,aUe,qfe,sUe,oUe,lUe,cUe,iP,Wfe,Xfe,jfe=R(()=>{"use strict";Zt();Yfe();QE();xr();rr();_t();ut();rUe=o(t=>t.append("circle").attr("class","start-state").attr("r",de().state.sizeUnit).attr("cx",de().state.padding+de().state.sizeUnit).attr("cy",de().state.padding+de().state.sizeUnit),"drawStartState"),nUe=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",de().state.textHeight).attr("class","divider").attr("x2",de().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),iUe=o((t,e)=>{let r=t.append("text").attr("x",2*de().state.padding).attr("y",de().state.textHeight+2*de().state.padding).attr("font-size",de().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",de().state.padding).attr("y",de().state.padding).attr("width",n.width+2*de().state.padding).attr("height",n.height+2*de().state.padding).attr("rx",de().state.radius),r},"drawSimpleState"),aUe=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*de().state.padding).text(m);g||y.attr("dy",de().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*de().state.padding).attr("y",de().state.textHeight+1.3*de().state.padding).attr("font-size",de().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",de().state.padding).attr("y",a+de().state.padding*.4+de().state.dividerMargin+de().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",de().state.padding).attr("y1",de().state.padding+a+de().state.dividerMargin/2).attr("y2",de().state.padding+a+de().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*de().state.padding),t.insert("rect",":first-child").attr("x",de().state.padding).attr("y",de().state.padding).attr("width",d+2*de().state.padding).attr("height",f.height+a+2*de().state.padding).attr("rx",de().state.radius),t},"drawDescrState"),qfe=o((t,e,r)=>{let n=de().state.padding,i=2*de().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",de().state.titleShift).attr("font-size",de().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-de().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+de().state.textHeight+de().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",de().state.titleShift-de().state.textHeight-de().state.padding).attr("width",d).attr("height",de().state.textHeight*3).attr("rx",de().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",de().state.titleShift-de().state.textHeight-de().state.padding).attr("width",d).attr("height",m.height+3+2*de().state.textHeight).attr("rx",de().state.radius),t},"addTitleAndBox"),sUe=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",de().state.sizeUnit+de().state.miniPadding).attr("cx",de().state.padding+de().state.sizeUnit+de().state.miniPadding).attr("cy",de().state.padding+de().state.sizeUnit+de().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",de().state.sizeUnit).attr("cx",de().state.padding+de().state.sizeUnit+2).attr("cy",de().state.padding+de().state.sizeUnit+2)),"drawEndState"),oUe=o((t,e)=>{let r=de().state.forkWidth,n=de().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",de().state.padding).attr("y",de().state.padding)},"drawForkJoinState"),lUe=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(We.lineBreakRegex),u=1.25*de().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+de().state.noteMargin),d.attr("y",r+i+1.25*de().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),cUe=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",de().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=lUe(t,0,0,n);return r.attr("height",a+2*de().state.noteMargin),r.attr("width",i+de().state.noteMargin*2),r},"drawNote"),iP=o(function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&rUe(i),e.type==="end"&&sUe(i),(e.type==="fork"||e.type==="join")&&oUe(i,e),e.type==="note"&&cUe(e.note.text,i),e.type==="divider"&&nUe(i),e.type==="default"&&e.descriptions.length===0&&iUe(i,e),e.type==="default"&&e.descriptions.length>0&&aUe(i,e);let a=i.node().getBBox();return n.width=a.width+2*de().state.padding,n.height=a.height+2*de().state.padding,Hfe.set(r,n),n},"drawState"),Wfe=0,Xfe=o(function(t,e,r){let n=o(function(u){switch(u){case Qo.relationType.AGGREGATION:return"aggregation";case Qo.relationType.EXTENSION:return"extension";case Qo.relationType.COMPOSITION:return"composition";case Qo.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=ha().x(function(u){return u.x}).y(function(u){return u.y}).curve(vs),s=t.append("path").attr("d",a(i)).attr("id","edge"+Wfe).attr("class","transition"),l="";if(de().state.arrowMarkerAbsolute&&(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\(/g,"\\("),l=l.replace(/\)/g,"\\)")),s.attr("marker-end","url("+l+"#"+n(Qo.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=Lt.calcLabelPosition(e.points),d=We.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let w=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),S=w.node().getBBox();g=Math.max(g,S.width),y=Math.min(y,S.x),V.info(S.x,h,f+p),p===0&&(p=w.node().getBBox().height,V.info("Title height",p,f)),m.push(w)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((w,S)=>w.attr("y",f+S*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-de().state.padding/2).attr("y",f-v/2-de().state.padding/2-3.5).attr("width",g+de().state.padding).attr("height",v+de().state.padding),V.info(x)}Wfe++},"drawEdge")});var vo,aP,uUe,hUe,fUe,dUe,Kfe,Qfe,Zfe=R(()=>{"use strict";Zt();Vd();ya();ut();rr();jfe();_t();Yn();aP={},uUe=o(function(){},"setConf"),hUe=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),fUe=o(function(t,e,r,n){vo=de().state;let i=de().securityLevel,a;i==="sandbox"&&(a=Ge("#i"+e));let s=i==="sandbox"?Ge(a.nodes()[0].contentDocument.body):Ge("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;V.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);hUe(u);let h=n.db.getRootDoc();Kfe(h,u,void 0,!1,s,l,n);let f=vo.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;Sr(u,m,g,vo.useMaxWidth),u.attr("viewBox",`${d.x-vo.padding} ${d.y-vo.padding} `+p+" "+m)},"draw"),dUe=o(t=>t?t.length*vo.fontSizeFactor:1,"getLabelWidth"),Kfe=o((t,e,r,n,i,a,s)=>{let l=new lr({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let T=S.parentElement,E=0,_=0;T&&(T.parentElement&&(E=T.parentElement.getBBox().width),_=parseInt(T.getAttribute("data-x-shift"),10),Number.isNaN(_)&&(_=0)),S.setAttribute("x1",0-_+8),S.setAttribute("x2",E-_-8)})):V.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(V.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),Xfe(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*vo.padding,x.height=v.height+2*vo.padding,V.debug("Doc rendered",x,l),x},"renderDoc"),Qfe={setConf:uUe,draw:fUe}});var Jfe={};hr(Jfe,{diagram:()=>pUe});var pUe,ede=R(()=>{"use strict";IO();QE();rP();Zfe();pUe={parser:BE,db:Qo,renderer:Qfe,styles:ZE,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Qo.clear()},"init")}});var nde={};hr(nde,{diagram:()=>vUe});var vUe,ide=R(()=>{"use strict";IO();QE();rP();XO();vUe={parser:BE,db:Qo,renderer:Lfe,styles:ZE,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Qo.clear()},"init")}});var sP,ode,lde=R(()=>{"use strict";sP=function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var w=x.length-1;switch(v){case 1:return x[w-1];case 2:this.$=[];break;case 3:x[w-1].push(x[w]),this.$=x[w-1];break;case 4:case 5:this.$=x[w];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[w].substr(6)),this.$=x[w].substr(6);break;case 9:this.$=x[w].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[w].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[w].substr(8)),this.$=x[w].substr(8);break;case 13:y.addTask(x[w-1],x[w]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,w="",S=0,T=0,E=0,_=2,A=1,L=x.slice.call(arguments,1),M=Object.create(this.lexer),N={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(N.yy[k]=this.yy[k]);M.setInput(p,N.yy),N.yy.lexer=M,N.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var I=M.yylloc;x.push(I);var C=M.options&&M.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(H){g.length=g.length-2*H,v.length=v.length-H,x.length=x.length-H}o(O,"popStack");function D(){var H;return H=y.pop()||M.lex()||A,typeof H!="number"&&(H instanceof Array&&(y=H,H=y.pop()),H=m.symbols_[H]||H),H}o(D,"lex");for(var P,F,B,G,z,Y,Q={},X,ie,j,J;;){if(B=g[g.length-1],this.defaultActions[B]?G=this.defaultActions[B]:((P===null||typeof P>"u")&&(P=D()),G=b[B]&&b[B][P]),typeof G>"u"||!G.length||!G[0]){var Z="";J=[];for(X in b[B])this.terminals_[X]&&X>_&&J.push("'"+this.terminals_[X]+"'");M.showPosition?Z="Parse error on line "+(S+1)+`: +`+M.showPosition()+` +Expecting `+J.join(", ")+", got '"+(this.terminals_[P]||P)+"'":Z="Parse error on line "+(S+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(Z,{text:M.match,token:this.terminals_[P]||P,line:M.yylineno,loc:I,expected:J})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+P);switch(G[0]){case 1:g.push(P),v.push(M.yytext),x.push(M.yylloc),g.push(G[1]),P=null,F?(P=F,F=null):(T=M.yyleng,w=M.yytext,S=M.yylineno,I=M.yylloc,E>0&&E--);break;case 2:if(ie=this.productions_[G[1]][1],Q.$=v[v.length-ie],Q._$={first_line:x[x.length-(ie||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(ie||1)].first_column,last_column:x[x.length-1].last_column},C&&(Q._$.range=[x[x.length-(ie||1)].range[0],x[x.length-1].range[1]]),Y=this.performAction.apply(Q,[w,T,S,N.yy,G[1],v,x].concat(L)),typeof Y<"u")return Y;ie&&(g=g.slice(0,-1*ie*2),v=v.slice(0,-1*ie),x=x.slice(0,-1*ie)),g.push(this.productions_[G[1]][0]),v.push(Q.$),x.push(Q._$),j=b[g[g.length-2]][g[g.length-1]],g.push(j);break;case 3:return!0}}return!0},"parse")},h=function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` +`+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d}();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f}();sP.parser=sP;ode=sP});var Ug,oP,Sx,Ax,TUe,kUe,EUe,CUe,SUe,AUe,_Ue,cde,LUe,lP,ude=R(()=>{"use strict";_t();bi();Ug="",oP=[],Sx=[],Ax=[],TUe=o(function(){oP.length=0,Sx.length=0,Ug="",Ax.length=0,vr()},"clear"),kUe=o(function(t){Ug=t,oP.push(t)},"addSection"),EUe=o(function(){return oP},"getSections"),CUe=o(function(){let t=cde(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),AUe=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:Ug,type:Ug,people:a,task:t,score:n};Ax.push(s)},"addTask"),_Ue=o(function(t){let e={section:Ug,type:Ug,description:t,task:t,classes:[]};Sx.push(e)},"addTaskOrg"),cde=o(function(){let t=o(function(r){return Ax[r].processed},"compileTask"),e=!0;for(let[r,n]of Ax.entries())t(r),e=e&&n.processed;return e},"compileTasks"),LUe=o(function(){return SUe()},"getActors"),lP={getConfig:o(()=>de().journey,"getConfig"),clear:TUe,setDiagramTitle:nn,getDiagramTitle:Xr,setAccTitle:kr,getAccTitle:Ar,setAccDescription:_r,getAccDescription:Lr,addSection:kUe,getSections:EUe,getTasks:CUe,addTask:AUe,addTaskOrg:_Ue,getActors:LUe}});var DUe,hde,fde=R(()=>{"use strict";DUe=o(t=>`.label { font-family: 'trebuchet ms', verdana, arial, sans-serif; font-family: var(--mermaid-font-family); color: ${t.textColor}; @@ -1762,12 +1762,12 @@ Expecting `+fe.join(", ")+", got '"+(this.terminals_[O]||O)+"'":ne="Parse error .actor-5 { ${t.actor5?`fill: ${t.actor5}`:""}; } -`,"getStyles"),Ohe=iGe});var vO,aGe,Fhe,zhe,sGe,oGe,Bhe,lGe,cGe,$he,uGe,Lg,Ghe=_(()=>{"use strict";Xt();Iy();vO=s(function(t,e){return ad(t,e)},"drawRect"),aGe=s(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=sl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}s(a,"smile");function o(u){let h=sl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}s(o,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s(l,"ambivalent"),e.score>3?a(i):e.score<3?o(i):l(i),n},"drawFace"),Fhe=s(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),zhe=s(function(t,e){return Zq(t,e)},"drawText"),sGe=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,zhe(t,e)},"drawLabel"),oGe=s(function(t,e,r){let n=t.append("g"),i=ol();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,vO(n,i),$he(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Bhe=-1,lGe=s(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Bhe++;let a=300+5*30;i.append("line").attr("id","task"+Bhe).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),aGe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let o=ol();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,vO(i,o);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Fhe(i,f),l+=10}),$he(r)(e.task,i,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),cGe=s(function(t,e){v3(t,e)},"drawBackgroundRect"),$he=function(){function t(i,a,o,l,u,h,f,d){let p=a.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}s(t,"byText");function e(i,a,o,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let i=Vu[n].color,a={cx:20,cy:r,r:7,fill:i,stroke:"#000",pos:Vu[n].position};Lg.drawCircle(t,a);let o={x:40,y:r+7,fill:"#666",text:n,textMargin:e.boxTextMargin|5};Lg.drawText(t,o),r+=20})}var hGe,Vu,wT,T0,dGe,zo,xO,Vhe,pGe,bO,Uhe=_(()=>{"use strict";Xt();Ghe();gt();Un();hGe=s(function(t){Object.keys(t).forEach(function(r){wT[r]=t[r]})},"setConf"),Vu={};s(fGe,"drawActorLegend");wT=le().journey,T0=wT.leftMargin,dGe=s(function(t,e,r,n){let i=le().journey,a=le().securityLevel,o;a==="sandbox"&&(o=Me("#i"+e));let l=a==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body");zo.init();let u=l.select("#"+e);Lg.initGraphics(u);let h=n.db.getTasks(),f=n.db.getDiagramTitle(),d=n.db.getActors();for(let x in Vu)delete Vu[x];let p=0;d.forEach(x=>{Vu[x]={color:i.actorColours[p%i.actorColours.length],position:p},p++}),fGe(u),zo.insert(0,0,T0,Object.keys(Vu).length*50),pGe(u,h,0);let m=zo.getBounds();f&&u.append("text").text(f).attr("x",T0).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let g=m.stopy-m.starty+2*i.diagramMarginY,y=T0+m.stopx+2*i.diagramMarginX;xr(u,g,y,i.useMaxWidth),u.append("line").attr("x1",T0).attr("y1",i.height*4).attr("x2",y-T0-4).attr("y2",i.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let v=f?70:0;u.attr("viewBox",`${m.startx} -25 ${y} ${g+v}`),u.attr("preserveAspectRatio","xMinYMin meet"),u.attr("height",g+v+25)},"draw"),zo={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:s(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:s(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:s(function(t,e,r,n){let i=le().journey,a=this,o=0;function l(u){return s(function(f){o++;let d=a.sequenceItems.length-o+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(zo.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(zo.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(zo.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(zo.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}s(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:s(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),o=Math.min(e,n),l=Math.max(e,n);this.updateVal(zo.data,"startx",i,Math.min),this.updateVal(zo.data,"starty",o,Math.min),this.updateVal(zo.data,"stopx",a,Math.max),this.updateVal(zo.data,"stopy",l,Math.max),this.updateBounds(i,o,a,l)},"insert"),bumpVerticalPos:s(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:s(function(){return this.verticalPos},"getVerticalPos"),getBounds:s(function(){return this.data},"getBounds")},xO=wT.sectionFills,Vhe=wT.sectionColours,pGe=s(function(t,e,r){let n=le().journey,i="",a=n.height*2+n.diagramMarginY,o=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=xO[l%xO.length],f=l%xO.length,h=Vhe[l%Vhe.length];let g=0,y=p.section;for(let x=d;x(Vu[y]&&(g[y]=Vu[y]),g),{});p.x=d*n.taskMargin+d*n.width+T0,p.y=o,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,Lg.drawTask(t,p,n),zo.insert(p.x,p.y,p.x+p.width+n.taskMargin,300+5*30)}},"drawTasks"),bO={setConf:hGe,draw:dGe}});var qhe={};ur(qhe,{diagram:()=>mGe});var mGe,Whe=_(()=>{"use strict";Mhe();Nhe();Phe();Uhe();mGe={parser:Rhe,db:yO,renderer:bO,styles:Ohe,init:s(t=>{bO.setConf(t.journey),yO.clear()},"init")}});var wO,Zhe,Jhe=_(()=>{"use strict";wO=function(){var t=s(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],o=[1,13],l=[1,16],u=[1,17],h={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(m,g,y,v,x,b,k){var A=b.length-1;switch(x){case 1:return b[A-1];case 2:this.$=[];break;case 3:b[A-1].push(b[A]),this.$=b[A-1];break;case 4:case 5:this.$=b[A];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[A].substr(6)),this.$=b[A].substr(6);break;case 9:this.$=b[A].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[A].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[A].substr(8)),this.$=b[A].substr(8);break;case 15:v.addTask(b[A],0,""),this.$=b[A];break;case 16:v.addEvent(b[A].substr(2)),this.$=b[A];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:o,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:o,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:s(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:s(function(m){var g=this,y=[0],v=[],x=[null],b=[],k=this.table,A="",w=0,T=0,C=0,E=2,S=1,R=b.slice.call(arguments,1),D=Object.create(this.lexer),L={yy:{}};for(var P in this.yy)Object.prototype.hasOwnProperty.call(this.yy,P)&&(L.yy[P]=this.yy[P]);D.setInput(m,L.yy),L.yy.lexer=D,L.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var M=D.yylloc;b.push(M);var F=D.options&&D.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){y.length=y.length-2*Q,x.length=x.length-Q,b.length=b.length-Q}s(I,"popStack");function O(){var Q;return Q=v.pop()||D.lex()||S,typeof Q!="number"&&(Q instanceof Array&&(v=Q,Q=v.pop()),Q=g.symbols_[Q]||Q),Q}s(O,"lex");for(var z,N,U,$,W,ee,te={},ce,Z,fe,ne;;){if(U=y[y.length-1],this.defaultActions[U]?$=this.defaultActions[U]:((z===null||typeof z>"u")&&(z=O()),$=k[U]&&k[U][z]),typeof $>"u"||!$.length||!$[0]){var H="";ne=[];for(ce in k[U])this.terminals_[ce]&&ce>E&&ne.push("'"+this.terminals_[ce]+"'");D.showPosition?H="Parse error on line "+(w+1)+`: -`+D.showPosition()+` -Expecting `+ne.join(", ")+", got '"+(this.terminals_[z]||z)+"'":H="Parse error on line "+(w+1)+": Unexpected "+(z==S?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(H,{text:D.match,token:this.terminals_[z]||z,line:D.yylineno,loc:M,expected:ne})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+z);switch($[0]){case 1:y.push(z),x.push(D.yytext),b.push(D.yylloc),y.push($[1]),z=null,N?(z=N,N=null):(T=D.yyleng,A=D.yytext,w=D.yylineno,M=D.yylloc,C>0&&C--);break;case 2:if(Z=this.productions_[$[1]][1],te.$=x[x.length-Z],te._$={first_line:b[b.length-(Z||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(Z||1)].first_column,last_column:b[b.length-1].last_column},F&&(te._$.range=[b[b.length-(Z||1)].range[0],b[b.length-1].range[1]]),ee=this.performAction.apply(te,[A,T,w,L.yy,$[1],x,b].concat(R)),typeof ee<"u")return ee;Z&&(y=y.slice(0,-1*Z*2),x=x.slice(0,-1*Z),b=b.slice(0,-1*Z)),y.push(this.productions_[$[1]][0]),x.push(te.$),b.push(te._$),fe=k[y[y.length-2]][y[y.length-1]],y.push(fe);break;case 3:return!0}}return!0},"parse")},f=function(){var p={EOF:1,parseError:s(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:s(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:s(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(m){this.unput(this.match.slice(m))},"less"),pastInput:s(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` -`+g+"^"},"showPosition"),test_match:s(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var g=this.next();return g||this.lex()},"lex"),begin:s(function(g){this.conditionStack.push(g)},"begin"),popState:s(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:s(function(g){this.begin(g)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p}();h.lexer=f;function d(){this.yy={}}return s(d,"Parser"),d.prototype=h,h.Parser=d,new d}();wO.parser=wO;Zhe=wO});var EO={};ur(EO,{addEvent:()=>lfe,addSection:()=>ife,addTask:()=>ofe,addTaskOrg:()=>cfe,clear:()=>nfe,default:()=>EGe,getCommonDb:()=>rfe,getSections:()=>afe,getTasks:()=>sfe});var Dg,tfe,TO,TT,Rg,rfe,nfe,ife,afe,sfe,ofe,lfe,cfe,efe,EGe,ufe=_(()=>{"use strict";Ci();Dg="",tfe=0,TO=[],TT=[],Rg=[],rfe=s(()=>q1,"getCommonDb"),nfe=s(function(){TO.length=0,TT.length=0,Dg="",Rg.length=0,br()},"clear"),ife=s(function(t){Dg=t,TO.push(t)},"addSection"),afe=s(function(){return TO},"getSections"),sfe=s(function(){let t=efe(),e=100,r=0;for(;!t&&rr.id===tfe-1).events.push(t)},"addEvent"),cfe=s(function(t){let e={section:Dg,type:Dg,description:t,task:t,classes:[]};TT.push(e)},"addTaskOrg"),efe=s(function(){let t=s(function(r){return Rg[r].processed},"compileTask"),e=!0;for(let[r,n]of Rg.entries())t(r),e=e&&n.processed;return e},"compileTasks"),EGe={clear:nfe,getCommonDb:rfe,addSection:ife,getSections:afe,getTasks:sfe,addTask:ofe,addTaskOrg:cfe,addEvent:lfe}});function pfe(t,e){t.each(function(){var r=Me(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],o=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",o+"em").text(i))})}var CGe,ET,SGe,_Ge,ffe,AGe,LGe,hfe,DGe,RGe,MGe,CO,dfe,IGe,NGe,OGe,PGe,cf,mfe=_(()=>{"use strict";Xt();CGe=12,ET=s(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),SGe=s(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=sl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}s(a,"smile");function o(u){let h=sl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}s(o,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s(l,"ambivalent"),e.score>3?a(i):e.score<3?o(i):l(i),n},"drawFace"),_Ge=s(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),ffe=s(function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),AGe=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,ffe(t,e)},"drawLabel"),LGe=s(function(t,e,r){let n=t.append("g"),i=CO();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,ET(n,i),dfe(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),hfe=-1,DGe=s(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");hfe++;let a=300+5*30;i.append("line").attr("id","task"+hfe).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),SGe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let o=CO();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,ET(i,o),dfe(r)(e.task,i,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),RGe=s(function(t,e){ET(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),MGe=s(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),CO=s(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),dfe=function(){function t(i,a,o,l,u,h,f,d){let p=a.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}s(t,"byText");function e(i,a,o,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";Xt();mfe();it();gt();Un();BGe=s(function(t,e,r,n){let i=le(),a=i.leftMargin??50;V.debug("timeline",n.db);let o=i.securityLevel,l;o==="sandbox"&&(l=Me("#i"+e));let h=(o==="sandbox"?Me(l.nodes()[0].contentDocument.body):Me("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();V.debug("task",f),cf.initGraphics(h);let p=n.db.getSections();V.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let k=0,A=!0;p.forEach(function(S){let R={number:k,descr:S,section:k,width:150,padding:20,maxHeight:m},D=cf.getVirtualNodeHeight(h,R,i);V.debug("sectionHeight before draw",D),m=Math.max(m,D+20)});let w=0,T=0;V.debug("tasks.length",f.length);for(let[S,R]of f.entries()){let D={number:S,descr:R,section:R.section,width:150,padding:20,maxHeight:g},L=cf.getVirtualNodeHeight(h,D,i);V.debug("taskHeight before draw",L),g=Math.max(g,L+20),w=Math.max(w,R.events.length);let P=0;for(let M of R.events){let F={descr:M,section:R.section,number:R.section,width:150,padding:20,maxHeight:50};P+=cf.getVirtualNodeHeight(h,F,i)}T=Math.max(T,P)}V.debug("maxSectionHeight before draw",m),V.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(S=>{let R=f.filter(M=>M.section===S),D={number:k,descr:S,section:k,width:200*Math.max(R.length,1)-50,padding:20,maxHeight:m};V.debug("sectionNode",D);let L=h.append("g"),P=cf.drawNode(L,D,k,i);V.debug("sectionNode output",P),L.attr("transform",`translate(${x}, ${v})`),b+=m+50,R.length>0&&gfe(h,R,k,x,b,g,i,w,T,m,!1),x+=200*Math.max(R.length,1),b=v,k++}):(A=!1,gfe(h,f,k,x,b,g,i,w,T,m,!0));let C=h.node().getBBox();V.debug("bounds",C),d&&h.append("text").text(d).attr("x",C.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=A?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",C.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),ql(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),gfe=s(function(t,e,r,n,i,a,o,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};V.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=cf.drawNode(m,p,r,o).height;if(V.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+FGe(t,d.events,r,n,i,o),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+(f?a:h)+u+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!o.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),FGe=s(function(t,e,r,n,i,a){let o=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};V.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=cf.drawNode(f,h,r,a).height;o=o+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),yfe={setConf:s(()=>{},"setConf"),draw:BGe}});var zGe,$Ge,xfe,bfe=_(()=>{"use strict";Ho();zGe=s(t=>{let e="";for(let r=0;r{"use strict";Zt();Qy();cP=o(function(t,e){return yd(t,e)},"drawRect"),RUe=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=bl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=bl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),pde=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),mde=o(function(t,e){return TW(t,e)},"drawText"),NUe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,mde(t,e)},"drawLabel"),MUe=o(function(t,e,r){let n=t.append("g"),i=wl();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,cP(n,i),gde(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),dde=-1,IUe=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");dde++;let a=300+5*30;i.append("line").attr("id","task"+dde).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),RUe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=wl();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,cP(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};pde(i,f),l+=10}),gde(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),OUe=o(function(t,e){j3(t,e)},"drawBackgroundRect"),gde=function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let i=Xu[n].color,a={cx:20,cy:r,r:7,fill:i,stroke:"#000",pos:Xu[n].position};Hg.drawCircle(t,a);let s={x:40,y:r+7,fill:"#666",text:n,textMargin:e.boxTextMargin|5};Hg.drawText(t,s),r+=20})}var BUe,Xu,JE,I0,zUe,Zo,uP,vde,$Ue,hP,xde=R(()=>{"use strict";Zt();yde();_t();Yn();BUe=o(function(t){Object.keys(t).forEach(function(r){JE[r]=t[r]})},"setConf"),Xu={};o(FUe,"drawActorLegend");JE=de().journey,I0=JE.leftMargin,zUe=o(function(t,e,r,n){let i=de().journey,a=de().securityLevel,s;a==="sandbox"&&(s=Ge("#i"+e));let l=a==="sandbox"?Ge(s.nodes()[0].contentDocument.body):Ge("body");Zo.init();let u=l.select("#"+e);Hg.initGraphics(u);let h=n.db.getTasks(),f=n.db.getDiagramTitle(),d=n.db.getActors();for(let x in Xu)delete Xu[x];let p=0;d.forEach(x=>{Xu[x]={color:i.actorColours[p%i.actorColours.length],position:p},p++}),FUe(u),Zo.insert(0,0,I0,Object.keys(Xu).length*50),$Ue(u,h,0);let m=Zo.getBounds();f&&u.append("text").text(f).attr("x",I0).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let g=m.stopy-m.starty+2*i.diagramMarginY,y=I0+m.stopx+2*i.diagramMarginX;Sr(u,g,y,i.useMaxWidth),u.append("line").attr("x1",I0).attr("y1",i.height*4).attr("x2",y-I0-4).attr("y2",i.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let v=f?70:0;u.attr("viewBox",`${m.startx} -25 ${y} ${g+v}`),u.attr("preserveAspectRatio","xMinYMin meet"),u.attr("height",g+v+25)},"draw"),Zo={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=de().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(Zo.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(Zo.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(Zo.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(Zo.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal(Zo.data,"startx",i,Math.min),this.updateVal(Zo.data,"starty",s,Math.min),this.updateVal(Zo.data,"stopx",a,Math.max),this.updateVal(Zo.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},uP=JE.sectionFills,vde=JE.sectionColours,$Ue=o(function(t,e,r){let n=de().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=uP[l%uP.length],f=l%uP.length,h=vde[l%vde.length];let g=0,y=p.section;for(let x=d;x(Xu[y]&&(g[y]=Xu[y]),g),{});p.x=d*n.taskMargin+d*n.width+I0,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,Hg.drawTask(t,p,n),Zo.insert(p.x,p.y,p.x+p.width+n.taskMargin,300+5*30)}},"drawTasks"),hP={setConf:BUe,draw:zUe}});var bde={};hr(bde,{diagram:()=>GUe});var GUe,wde=R(()=>{"use strict";lde();ude();fde();xde();GUe={parser:ode,db:lP,renderer:hP,styles:hde,init:o(t=>{hP.setConf(t.journey),lP.clear()},"init")}});var dP,_de,Lde=R(()=>{"use strict";dP=function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,w){var S=b.length-1;switch(x){case 1:return b[S-1];case 2:this.$=[];break;case 3:b[S-1].push(b[S]),this.$=b[S-1];break;case 4:case 5:this.$=b[S];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[S].substr(6)),this.$=b[S].substr(6);break;case 9:this.$=b[S].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[S].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[S].substr(8)),this.$=b[S].substr(8);break;case 15:v.addTask(b[S],0,""),this.$=b[S];break;case 16:v.addEvent(b[S].substr(2)),this.$=b[S];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],w=this.table,S="",T=0,E=0,_=0,A=2,L=1,M=b.slice.call(arguments,1),N=Object.create(this.lexer),k={yy:{}};for(var I in this.yy)Object.prototype.hasOwnProperty.call(this.yy,I)&&(k.yy[I]=this.yy[I]);N.setInput(m,k.yy),k.yy.lexer=N,k.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var C=N.yylloc;b.push(C);var O=N.options&&N.options.ranges;typeof k.yy.parseError=="function"?this.parseError=k.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(q){y.length=y.length-2*q,x.length=x.length-q,b.length=b.length-q}o(D,"popStack");function P(){var q;return q=v.pop()||N.lex()||L,typeof q!="number"&&(q instanceof Array&&(v=q,q=v.pop()),q=g.symbols_[q]||q),q}o(P,"lex");for(var F,B,G,z,Y,Q,X={},ie,j,J,Z;;){if(G=y[y.length-1],this.defaultActions[G]?z=this.defaultActions[G]:((F===null||typeof F>"u")&&(F=P()),z=w[G]&&w[G][F]),typeof z>"u"||!z.length||!z[0]){var H="";Z=[];for(ie in w[G])this.terminals_[ie]&&ie>A&&Z.push("'"+this.terminals_[ie]+"'");N.showPosition?H="Parse error on line "+(T+1)+`: +`+N.showPosition()+` +Expecting `+Z.join(", ")+", got '"+(this.terminals_[F]||F)+"'":H="Parse error on line "+(T+1)+": Unexpected "+(F==L?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(H,{text:N.match,token:this.terminals_[F]||F,line:N.yylineno,loc:C,expected:Z})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+F);switch(z[0]){case 1:y.push(F),x.push(N.yytext),b.push(N.yylloc),y.push(z[1]),F=null,B?(F=B,B=null):(E=N.yyleng,S=N.yytext,T=N.yylineno,C=N.yylloc,_>0&&_--);break;case 2:if(j=this.productions_[z[1]][1],X.$=x[x.length-j],X._$={first_line:b[b.length-(j||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(j||1)].first_column,last_column:b[b.length-1].last_column},O&&(X._$.range=[b[b.length-(j||1)].range[0],b[b.length-1].range[1]]),Q=this.performAction.apply(X,[S,E,T,k.yy,z[1],x,b].concat(M)),typeof Q<"u")return Q;j&&(y=y.slice(0,-1*j*2),x=x.slice(0,-1*j),b=b.slice(0,-1*j)),y.push(this.productions_[z[1]][0]),x.push(X.$),b.push(X._$),J=w[y[y.length-2]][y[y.length-1]],y.push(J);break;case 3:return!0}}return!0},"parse")},f=function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` +`+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p}();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d}();dP.parser=dP;_de=dP});var mP={};hr(mP,{addEvent:()=>Fde,addSection:()=>Ide,addTask:()=>Bde,addTaskOrg:()=>zde,clear:()=>Mde,default:()=>KUe,getCommonDb:()=>Nde,getSections:()=>Ode,getTasks:()=>Pde});var Yg,Rde,pP,e6,Wg,Nde,Mde,Ide,Ode,Pde,Bde,Fde,zde,Dde,KUe,$de=R(()=>{"use strict";bi();Yg="",Rde=0,pP=[],e6=[],Wg=[],Nde=o(()=>ly,"getCommonDb"),Mde=o(function(){pP.length=0,e6.length=0,Yg="",Wg.length=0,vr()},"clear"),Ide=o(function(t){Yg=t,pP.push(t)},"addSection"),Ode=o(function(){return pP},"getSections"),Pde=o(function(){let t=Dde(),e=100,r=0;for(;!t&&rr.id===Rde-1).events.push(t)},"addEvent"),zde=o(function(t){let e={section:Yg,type:Yg,description:t,task:t,classes:[]};e6.push(e)},"addTaskOrg"),Dde=o(function(){let t=o(function(r){return Wg[r].processed},"compileTask"),e=!0;for(let[r,n]of Wg.entries())t(r),e=e&&n.processed;return e},"compileTasks"),KUe={clear:Mde,getCommonDb:Nde,addSection:Ide,getSections:Ode,getTasks:Pde,addTask:Bde,addTaskOrg:zde,addEvent:Fde}});function Hde(t,e){t.each(function(){var r=Ge(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var QUe,t6,ZUe,JUe,Vde,eHe,tHe,Gde,rHe,nHe,iHe,gP,Ude,aHe,sHe,oHe,lHe,xf,Yde=R(()=>{"use strict";Zt();QUe=12,t6=o(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),ZUe=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=bl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=bl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),JUe=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),Vde=o(function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),eHe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Vde(t,e)},"drawLabel"),tHe=o(function(t,e,r){let n=t.append("g"),i=gP();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,t6(n,i),Ude(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Gde=-1,rHe=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Gde++;let a=300+5*30;i.append("line").attr("id","task"+Gde).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),ZUe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=gP();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,t6(i,s),Ude(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),nHe=o(function(t,e){t6(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),iHe=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),gP=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Ude=function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";Zt();Yde();ut();_t();Yn();cHe=o(function(t,e,r,n){let i=de(),a=i.leftMargin??50;V.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=Ge("#i"+e));let h=(s==="sandbox"?Ge(l.nodes()[0].contentDocument.body):Ge("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();V.debug("task",f),xf.initGraphics(h);let p=n.db.getSections();V.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let w=0,S=!0;p.forEach(function(L){let M={number:w,descr:L,section:w,width:150,padding:20,maxHeight:m},N=xf.getVirtualNodeHeight(h,M,i);V.debug("sectionHeight before draw",N),m=Math.max(m,N+20)});let T=0,E=0;V.debug("tasks.length",f.length);for(let[L,M]of f.entries()){let N={number:L,descr:M,section:M.section,width:150,padding:20,maxHeight:g},k=xf.getVirtualNodeHeight(h,N,i);V.debug("taskHeight before draw",k),g=Math.max(g,k+20),T=Math.max(T,M.events.length);let I=0;for(let C of M.events){let O={descr:C,section:M.section,number:M.section,width:150,padding:20,maxHeight:50};I+=xf.getVirtualNodeHeight(h,O,i)}E=Math.max(E,I)}V.debug("maxSectionHeight before draw",m),V.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(L=>{let M=f.filter(C=>C.section===L),N={number:w,descr:L,section:w,width:200*Math.max(M.length,1)-50,padding:20,maxHeight:m};V.debug("sectionNode",N);let k=h.append("g"),I=xf.drawNode(k,N,w,i);V.debug("sectionNode output",I),k.attr("transform",`translate(${x}, ${v})`),b+=m+50,M.length>0&&Wde(h,M,w,x,b,g,i,T,E,m,!1),x+=200*Math.max(M.length,1),b=v,w++}):(S=!1,Wde(h,f,w,x,b,g,i,T,E,m,!0));let _=h.node().getBBox();V.debug("bounds",_),d&&h.append("text").text(d).attr("x",_.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=S?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",_.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Lo(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),Wde=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};V.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=xf.drawNode(m,p,r,s).height;if(V.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+uHe(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+(f?a:h)+u+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),uHe=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};V.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=xf.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),qde={setConf:o(()=>{},"setConf"),draw:cHe}});var hHe,fHe,jde,Kde=R(()=>{"use strict";al();hHe=o(t=>{let e="";for(let r=0;r` + `}return e},"genSections"),fHe=o(t=>` .edge { stroke-width: 3; } - ${zGe(t)} + ${hHe(t)} .section-root rect, .section-root path, .section-root circle { fill: ${t.git0}; } @@ -1822,31 +1822,31 @@ Expecting `+ne.join(", ")+", got '"+(this.terminals_[z]||z)+"'":H="Parse error o .eventWrapper { filter: brightness(120%); } -`,"getStyles"),xfe=$Ge});var kfe={};ur(kfe,{diagram:()=>GGe});var GGe,wfe=_(()=>{"use strict";Jhe();ufe();vfe();bfe();GGe={db:EO,renderer:yfe,parser:Zhe,styles:xfe}});var SO,Cfe,Sfe=_(()=>{"use strict";SO=function(){var t=s(function(A,w,T,C){for(T=T||{},C=A.length;C--;T[A[C]]=w);return T},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],o=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:s(function(w,T,C,E,S,R,D){var L=R.length-1;switch(S){case 6:case 7:return E;case 8:E.getLogger().trace("Stop NL ");break;case 9:E.getLogger().trace("Stop EOF ");break;case 11:E.getLogger().trace("Stop NL2 ");break;case 12:E.getLogger().trace("Stop EOF2 ");break;case 15:E.getLogger().info("Node: ",R[L].id),E.addNode(R[L-1].length,R[L].id,R[L].descr,R[L].type);break;case 16:E.getLogger().trace("Icon: ",R[L]),E.decorateNode({icon:R[L]});break;case 17:case 21:E.decorateNode({class:R[L]});break;case 18:E.getLogger().trace("SPACELIST");break;case 19:E.getLogger().trace("Node: ",R[L].id),E.addNode(0,R[L].id,R[L].descr,R[L].type);break;case 20:E.decorateNode({icon:R[L]});break;case 25:E.getLogger().trace("node found ..",R[L-2]),this.$={id:R[L-1],descr:R[L-1],type:E.getType(R[L-2],R[L])};break;case 26:this.$={id:R[L],descr:R[L],type:E.nodeType.DEFAULT};break;case 27:E.getLogger().trace("node found ..",R[L-3]),this.$={id:R[L-3],descr:R[L-1],type:E.getType(R[L-2],R[L])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:s(function(w,T){if(T.recoverable)this.trace(w);else{var C=new Error(w);throw C.hash=T,C}},"parseError"),parse:s(function(w){var T=this,C=[0],E=[],S=[null],R=[],D=this.table,L="",P=0,M=0,F=0,I=2,O=1,z=R.slice.call(arguments,1),N=Object.create(this.lexer),U={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(U.yy[$]=this.yy[$]);N.setInput(w,U.yy),U.yy.lexer=N,U.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var W=N.yylloc;R.push(W);var ee=N.options&&N.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(Re){C.length=C.length-2*Re,S.length=S.length-Re,R.length=R.length-Re}s(te,"popStack");function ce(){var Re;return Re=E.pop()||N.lex()||O,typeof Re!="number"&&(Re instanceof Array&&(E=Re,Re=E.pop()),Re=T.symbols_[Re]||Re),Re}s(ce,"lex");for(var Z,fe,ne,H,Q,K,re={},ie,ye,j,De;;){if(ne=C[C.length-1],this.defaultActions[ne]?H=this.defaultActions[ne]:((Z===null||typeof Z>"u")&&(Z=ce()),H=D[ne]&&D[ne][Z]),typeof H>"u"||!H.length||!H[0]){var oe="";De=[];for(ie in D[ne])this.terminals_[ie]&&ie>I&&De.push("'"+this.terminals_[ie]+"'");N.showPosition?oe="Parse error on line "+(P+1)+`: -`+N.showPosition()+` -Expecting `+De.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":oe="Parse error on line "+(P+1)+": Unexpected "+(Z==O?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(oe,{text:N.match,token:this.terminals_[Z]||Z,line:N.yylineno,loc:W,expected:De})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ne+", token: "+Z);switch(H[0]){case 1:C.push(Z),S.push(N.yytext),R.push(N.yylloc),C.push(H[1]),Z=null,fe?(Z=fe,fe=null):(M=N.yyleng,L=N.yytext,P=N.yylineno,W=N.yylloc,F>0&&F--);break;case 2:if(ye=this.productions_[H[1]][1],re.$=S[S.length-ye],re._$={first_line:R[R.length-(ye||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(ye||1)].first_column,last_column:R[R.length-1].last_column},ee&&(re._$.range=[R[R.length-(ye||1)].range[0],R[R.length-1].range[1]]),K=this.performAction.apply(re,[L,M,P,U.yy,H[1],S,R].concat(z)),typeof K<"u")return K;ye&&(C=C.slice(0,-1*ye*2),S=S.slice(0,-1*ye),R=R.slice(0,-1*ye)),C.push(this.productions_[H[1]][0]),S.push(re.$),R.push(re._$),j=D[C[C.length-2]][C[C.length-1]],C.push(j);break;case 3:return!0}}return!0},"parse")},b=function(){var A={EOF:1,parseError:s(function(T,C){if(this.yy.parser)this.yy.parser.parseError(T,C);else throw new Error(T)},"parseError"),setInput:s(function(w,T){return this.yy=T||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var T=w.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:s(function(w){var T=w.length,C=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var E=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),C.length-1&&(this.yylineno-=C.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:C?(C.length===E.length?this.yylloc.first_column:0)+E[E.length-C.length].length-C[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(w){this.unput(this.match.slice(w))},"less"),pastInput:s(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var w=this.pastInput(),T=new Array(w.length+1).join("-");return w+this.upcomingInput()+` -`+T+"^"},"showPosition"),test_match:s(function(w,T){var C,E,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),E=w[0].match(/(?:\r\n?|\n).*/g),E&&(this.yylineno+=E.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:E?E[E.length-1].length-E[E.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(w[0].length),this.matched+=w[0],C=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var R in S)this[R]=S[R];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,T,C,E;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),R=0;RT[0].length)){if(T=C,E=R,this.options.backtrack_lexer){if(w=this.test_match(C,S[R]),w!==!1)return w;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(w=this.test_match(T,S[E]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var T=this.next();return T||this.lex()},"lex"),begin:s(function(T){this.conditionStack.push(T)},"begin"),popState:s(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:s(function(T){this.begin(T)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(T,C,E,S){var R=S;switch(E){case 0:return T.getLogger().trace("Found comment",C.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:T.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return T.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:T.getLogger().trace("end icon"),this.popState();break;case 10:return T.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return T.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return T.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return T.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:T.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return T.getLogger().trace("description:",C.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),T.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),T.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),T.getLogger().trace("node end ...",C.yytext),"NODE_DEND";break;case 30:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),T.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),T.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return T.getLogger().trace("Long description:",C.yytext),20;break;case 36:return T.getLogger().trace("Long description:",C.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return A}();x.lexer=b;function k(){this.yy={}}return s(k,"Parser"),k.prototype=x,x.Parser=k,new k}();SO.parser=SO;Cfe=SO});var Cl,_fe,_O,WGe,HGe,YGe,XGe,Ii,jGe,KGe,QGe,ZGe,JGe,eVe,tVe,Afe,Lfe=_(()=>{"use strict";gt();Qt();it();Pl();Cl=[],_fe=0,_O={},WGe=s(()=>{Cl=[],_fe=0,_O={}},"clear"),HGe=s(function(t){for(let e=Cl.length-1;e>=0;e--)if(Cl[e].levelCl.length>0?Cl[0]:null,"getMindmap"),XGe=s((t,e,r,n)=>{V.info("addNode",t,e,r,n);let i=le(),a=i.mindmap?.padding??dr.mindmap.padding;switch(n){case Ii.ROUNDED_RECT:case Ii.RECT:case Ii.HEXAGON:a*=2}let o={id:_fe++,nodeId:$r(e,i),level:t,descr:$r(r,i),type:n,children:[],width:i.mindmap?.maxNodeWidth??dr.mindmap.maxNodeWidth,padding:a},l=HGe(t);if(l)l.children.push(o),Cl.push(o);else if(Cl.length===0)Cl.push(o);else throw new Error('There can be only one root. No parent could be found for ("'+o.descr+'")')},"addNode"),Ii={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},jGe=s((t,e)=>{switch(V.debug("In get type",t,e),t){case"[":return Ii.RECT;case"(":return e===")"?Ii.ROUNDED_RECT:Ii.CLOUD;case"((":return Ii.CIRCLE;case")":return Ii.CLOUD;case"))":return Ii.BANG;case"{{":return Ii.HEXAGON;default:return Ii.DEFAULT}},"getType"),KGe=s((t,e)=>{_O[t]=e},"setElementForId"),QGe=s(t=>{if(!t)return;let e=le(),r=Cl[Cl.length-1];t.icon&&(r.icon=$r(t.icon,e)),t.class&&(r.class=$r(t.class,e))},"decorateNode"),ZGe=s(t=>{switch(t){case Ii.DEFAULT:return"no-border";case Ii.RECT:return"rect";case Ii.ROUNDED_RECT:return"rounded-rect";case Ii.CIRCLE:return"circle";case Ii.CLOUD:return"cloud";case Ii.BANG:return"bang";case Ii.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),JGe=s(()=>V,"getLogger"),eVe=s(t=>_O[t],"getElementById"),tVe={clear:WGe,addNode:XGe,getMindmap:YGe,nodeType:Ii,getType:jGe,setElementForId:KGe,decorateNode:QGe,type2Str:ZGe,getLogger:JGe,getElementById:eVe},Afe=tVe});function Pi(t){"@babel/helpers - typeof";return Pi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pi(t)}function nP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Dfe(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:s(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,l;return{s:s(function(){r=r.call(t)},"s"),n:s(function(){var u=r.next();return a=u.done,u},"n"),e:s(function(u){o=!0,l=u},"e"),f:s(function(){try{!a&&r.return!=null&&r.return()}finally{if(o)throw l}},"f")}}function AVe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}function LVe(t,e){return e={exports:{}},t(e,e.exports),e.exports}function PVe(t){for(var e=t.length;e--&&OVe.test(t.charAt(e)););return e}function zVe(t){return t&&t.slice(0,BVe(t)+1).replace(FVe,"")}function qVe(t){var e=VVe.call(t,ux),r=t[ux];try{t[ux]=void 0;var n=!0}catch{}var i=UVe.call(t);return n&&(e?t[ux]=r:delete t[ux]),i}function XVe(t){return YVe.call(t)}function ZVe(t){return t==null?t===void 0?QVe:KVe:Nfe&&Nfe in Object(t)?WVe(t):jVe(t)}function JVe(t){return t!=null&&typeof t=="object"}function rUe(t){return typeof t=="symbol"||eUe(t)&&t0e(t)==tUe}function oUe(t){if(typeof t=="number")return t;if(Ox(t))return Ofe;if(R0(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=R0(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=$Ve(t);var r=iUe.test(t);return r||aUe.test(t)?sUe(t.slice(2),r?2:8):nUe.test(t)?Ofe:+t}function hUe(t,e,r){var n,i,a,o,l,u,h=0,f=!1,d=!1,p=!0;if(typeof t!="function")throw new TypeError(lUe);e=Pfe(e)||0,R0(r)&&(f=!!r.leading,d="maxWait"in r,a=d?cUe(Pfe(r.maxWait)||0,e):a,p="trailing"in r?!!r.trailing:p);function m(T){var C=n,E=i;return n=i=void 0,h=T,o=t.apply(E,C),o}s(m,"invokeFunc");function g(T){return h=T,l=setTimeout(x,e),f?m(T):o}s(g,"leadingEdge");function y(T){var C=T-u,E=T-h,S=e-C;return d?uUe(S,a-E):S}s(y,"remainingWait");function v(T){var C=T-u,E=T-h;return u===void 0||C>=e||C<0||d&&E>=a}s(v,"shouldInvoke");function x(){var T=AO();if(v(T))return b(T);l=setTimeout(x,y(T))}s(x,"timerExpired");function b(T){return l=void 0,p&&n?m(T):(n=i=void 0,o)}s(b,"trailingEdge");function k(){l!==void 0&&clearTimeout(l),h=0,n=u=i=l=void 0}s(k,"cancel");function A(){return l===void 0?o:b(AO())}s(A,"flush");function w(){var T=AO(),C=v(T);if(n=arguments,i=this,u=T,C){if(l===void 0)return g(u);if(d)return clearTimeout(l),l=setTimeout(x,e),m(u)}return l===void 0&&(l=setTimeout(x,e)),o}return s(w,"debounced"),w.cancel=k,w.flush=A,w}function l7(t,e,r,n,i,a){var o;return Gn(t)?o=t:o=Hg[t]||Hg.euclidean,e===0&&Gn(t)?o(i,a):o(e,r,n,i,a)}function nWe(t,e){if(c7(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ox(t)?!0:rWe.test(t)||!tWe.test(t)||e!=null&&t in Object(e)}function cWe(t){if(!R0(t))return!1;var e=t0e(t);return e==sWe||e==oWe||e==aWe||e==lWe}function fWe(t){return!!rde&&rde in t}function gWe(t){if(t!=null){try{return mWe.call(t)}catch{}try{return t+""}catch{}}return""}function CWe(t){if(!R0(t)||dWe(t))return!1;var e=uWe(t)?EWe:xWe;return e.test(yWe(t))}function _We(t,e){return t?.[e]}function LWe(t,e){var r=AWe(t,e);return SWe(r)?r:void 0}function RWe(){this.__data__=Ax?Ax(null):{},this.size=0}function IWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function FWe(t){var e=this.__data__;if(Ax){var r=e[t];return r===OWe?void 0:r}return BWe.call(e,t)?e[t]:void 0}function VWe(t){var e=this.__data__;return Ax?e[t]!==void 0:GWe.call(e,t)}function WWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ax&&e===void 0?qWe:e,this}function Kg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function aHe(t,e){var r=this.__data__,n=u7(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Qg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function N0e(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:UYe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?L=M:D=M;while(Math.abs(P)>o&&++F=a?b(R,F):I===0?F:A(R,D,D+h)}s(w,"getTForX");var T=!1;function C(){T=!0,(t!==e||r!==n)&&k()}s(C,"precompute");var E=s(function(D){return T||C(),t===e&&r===n?D:D===0?0:D===1?1:v(w(D),e,n)},"f");E.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var S="generateBezier("+[t,e,r,n]+")";return E.toString=function(){return S},E}function kde(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function wde(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Ng(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var o=wde(t,i),l=wde(e,i);if(rt(o)&&rt(l))return kde(a,o,l,r,n);if(hn(o)&&hn(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(o.duration),o.easingImpl=GT[m].apply(null,g)):o.easingImpl=GT[m]}var y=o.easingImpl,v;if(o.duration===0?v=1:v=(r-u)/o.duration,o.applying&&(v=o.progress),v<0?v=0:v>1&&(v=1),o.delay==null){var x=o.startPosition,b=o.position;if(b&&i&&!t.locked()){var k={};px(x.x,b.x)&&(k.x=Ng(x.x,b.x,v,y)),px(x.y,b.y)&&(k.y=Ng(x.y,b.y,v,y)),t.position(k)}var A=o.startPan,w=o.pan,T=a.pan,C=w!=null&&n;C&&(px(A.x,w.x)&&(T.x=Ng(A.x,w.x,v,y)),px(A.y,w.y)&&(T.y=Ng(A.y,w.y,v,y)),t.emit("pan"));var E=o.startZoom,S=o.zoom,R=S!=null&&n;R&&(px(E,S)&&(a.zoom=Sx(a.minZoom,Ng(E,S,v,y),a.maxZoom)),t.emit("zoom")),(C||R)&&t.emit("viewport");var D=o.style;if(D&&D.length>0&&i){for(var L=0;L=0;C--){var E=T[C];E()}T.splice(0,T.length)},"callbacks"),b=m.length-1;b>=0;b--){var k=m[b],A=k._private;if(A.stopped){m.splice(b,1),A.hooked=!1,A.playing=!1,A.started=!1,x(A.frames);continue}!A.playing&&!A.applying||(A.playing&&A.applying&&(A.applying=!1),A.started||nXe(f,k,t),rXe(f,k,t,d),A.applying&&(A.applying=!1),x(A.frames),A.step!=null&&A.step(t),k.completed()&&(m.splice(b,1),A.hooked=!1,A.playing=!1,A.started=!1,x(A.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}s(i,"stepOne");for(var a=!1,o=0;o0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Q0e(t){this.options=Pt({},hXe,fXe,t)}function Z0e(t){this.options=Pt({},dXe,t)}function J0e(t){this.options=Pt({},pXe,t)}function v7(t){this.options=Pt({},mXe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),o=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===o});return!l||!u});this.options.eles=this.options.eles.not(n)}function tpe(t){this.options=Pt({},MXe,t)}function wP(t){this.options=Pt({},IXe,t)}function rpe(t){this.options=Pt({},NXe,t)}function npe(t){this.options=Pt({},OXe,t)}function ipe(t){this.options=t,this.notifications=0}function ope(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function EP(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(FXe(t,e,r,n,i),{cx:jO,cy:KO,radius:A0,startX:ape,startY:spe,stopX:QO,stopY:ZO,startAngle:Rc.ang+Math.PI/2*L0,endAngle:$o.ang-Math.PI/2*L0,counterClockwise:qT})}function lpe(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.quadraticCurveTo(e+n,r,e+n,r+a),t.lineTo(e+n,r+i-a),t.quadraticCurveTo(e+n,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.quadraticCurveTo(e,r+i,e,r+i-a),t.lineTo(e,r+a),t.quadraticCurveTo(e,r,e+a,r),t.closePath(),o?t.stroke():t.fill()}function Sje(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a{"use strict";s(Pi,"_typeof");s(nP,"_classCallCheck");s(Dfe,"_defineProperties");s(iP,"_createClass");s(qde,"_defineProperty$1");s(Sl,"_slicedToArray");s(rVe,"_arrayWithHoles");s(nVe,"_iterableToArrayLimit");s(Wde,"_unsupportedIterableToArray");s(Rfe,"_arrayLikeToArray");s(iVe,"_nonIterableRest");s(Hde,"_createForOfIteratorHelper");Ni=typeof window>"u"?null:window,Mfe=Ni?Ni.navigator:null;Ni&&Ni.document;aVe=Pi(""),Yde=Pi({}),sVe=Pi(function(){}),oVe=typeof HTMLElement>"u"?"undefined":Pi(HTMLElement),Ix=s(function(e){return e&&e.instanceString&&Gn(e.instanceString)?e.instanceString():null},"instanceStr"),At=s(function(e){return e!=null&&Pi(e)==aVe},"string"),Gn=s(function(e){return e!=null&&Pi(e)===sVe},"fn"),hn=s(function(e){return!oo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Er=s(function(e){return e!=null&&Pi(e)===Yde&&!hn(e)&&e.constructor===Object},"plainObject"),lVe=s(function(e){return e!=null&&Pi(e)===Yde},"object"),rt=s(function(e){return e!=null&&Pi(e)===Pi(1)&&!isNaN(e)},"number"),cVe=s(function(e){return rt(e)&&Math.floor(e)===e},"integer"),HT=s(function(e){if(oVe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),oo=s(function(e){return Nx(e)||Xde(e)},"elementOrCollection"),Nx=s(function(e){return Ix(e)==="collection"&&e._private.single},"element"),Xde=s(function(e){return Ix(e)==="collection"&&!e._private.single},"collection"),aP=s(function(e){return Ix(e)==="core"},"core"),jde=s(function(e){return Ix(e)==="stylesheet"},"stylesheet"),uVe=s(function(e){return Ix(e)==="event"},"event"),gf=s(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),hVe=s(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),fVe=s(function(e){return Er(e)&&rt(e.x1)&&rt(e.x2)&&rt(e.y1)&&rt(e.y2)},"boundingBox"),dVe=s(function(e){return lVe(e)&&Gn(e.then)},"promise"),pVe=s(function(){return Mfe&&Mfe.userAgent.match(/msie|trident|edge/i)},"ms"),wx=s(function(e,r){r||(r=s(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],o=0;or?1:0},"ascending"),kVe=s(function(e,r){return-1*Qde(e,r)},"descending"),Pt=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}s(f,"hue2rgb");var d=new RegExp("^"+yVe+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,o=d[4],o!==void 0&&(o=parseFloat(o),o<0||o>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,o]}return r},"hsl2tuple"),EVe=s(function(e){var r,n=new RegExp("^"+mVe+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var o=n[a];if(o[o.length-1]==="%"&&(i[a]=!0),o=parseFloat(o),i[a]&&(o=o/100*255),o<0||o>255)return;r.push(Math.floor(o))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),CVe=s(function(e){return _Ve[e.toLowerCase()]},"colorname2tuple"),SVe=s(function(e){return(hn(e)?e:null)||CVe(e)||wVe(e)||EVe(e)||TVe(e)},"color2tuple"),_Ve={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Zde=s(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:Bg,n=r,i;i=e.next(),!i.done;)n=n*n0e+i.value|0;return n},"hashIterableInts"),Tx=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bg;return r*n0e+e|0},"hashInt"),Ex=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gx;return(r<<5)+r+e|0},"hashIntAlt"),dUe=s(function(e,r){return e*2097152+r},"combineHashes"),uf=s(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),CT=s(function(e,r){return[Tx(e[0],r[0]),Ex(e[1],r[1])]},"hashArrays"),pUe=s(function(e,r){var n={value:0,done:!1},i=0,a=e.length,o={next:s(function(){return i=0&&!(e[i]===r&&(e.splice(i,1),n));i--);},"removeFromArray"),cP=s(function(e){e.splice(0,e.length)},"clearArray"),kUe=s(function(e,r){for(var n=0;n"u"?"undefined":Pi(Set))!==TUe?Set:EUe,s7=s(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!aP(e)){Jn("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){Jn("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new Xg,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var o=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(o.x-l.x)/u,y:(o.y-l.y)/u}}var h=[];hn(r.classes)?h=r.classes:At(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;fb?1:0},"defaultCmp"),f=s(function(x,b,k,A,w){var T;if(k==null&&(k=0),w==null&&(w=n),k<0)throw new Error("lo must be non-negative");for(A==null&&(A=x.length);kR;0<=R?S++:S--)E.push(S);return E}.apply(this).reverse(),C=[],A=0,w=T.length;AD;0<=D?++E:--E)L.push(o(x,k));return L},"nsmallest"),y=s(function(x,b,k,A){var w,T,C;for(A==null&&(A=n),w=x[k];k>b;){if(C=k-1>>1,T=x[C],A(w,T)<0){x[k]=T,k=C;continue}break}return x[k]=w},"_siftdown"),v=s(function(x,b,k){var A,w,T,C,E;for(k==null&&(k=n),w=x.length,E=b,T=x[b],A=2*b+1;A0;){var T=b.pop(),C=v(T),E=T.id();if(p[E]=C,C!==1/0)for(var S=T.neighborhood().intersect(g),R=0;R0)for(z.unshift(O);d[U];){var $=d[U];z.unshift($.edge),z.unshift($.node),N=$.node,U=N.id()}return l.spawn(z)},"pathTo")}},"dijkstra")},AUe={kruskal:s(function(e){e=e||function(k){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,o=new Array(a),l=n,u=s(function(A){for(var w=0;w0;){if(w(),C++,A===f){for(var E=[],S=a,R=f,D=x[R];E.unshift(S),D!=null&&E.unshift(D),S=v[R],S!=null;)R=S.id(),D=x[R];return{found:!0,distance:d[A],path:this.spawn(E),steps:C}}m[A]=!0;for(var L=k._private.edges,P=0;PD&&(g[R]=D,b[R]=S,k[R]=w),!a){var L=S*f+E;!a&&g[L]>D&&(g[L]=D,b[L]=E,k[L]=w)}}}for(var P=0;P1&&arguments[1]!==void 0?arguments[1]:o,Se=k(Re),Ue=[],Oe=Se;;){if(Oe==null)return r.spawn();var _e=b(Oe),he=_e.edge,q=_e.pred;if(Ue.unshift(Oe[0]),Oe.same(Pe)&&Ue.length>0)break;he!=null&&Ue.unshift(he),Oe=q}return u.spawn(Ue)},"pathTo"),T=0;T=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=PUe(a,e,r),n--}return r},"contractUntil"),BUe={kargerStein:s(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(z){return z.isLoop()});var a=n.length,o=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/OUe);if(a<2){Jn("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,o=r;o1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];o?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),UUe=s(function(e){return Math.PI*e/180},"deg2rad"),ST=s(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),uP=Math.log2||function(t){return Math.log(t)/Math.log(2)},h0e=s(function(e){return e>0?1:e<0?-1:0},"signum"),I0=s(function(e,r){return Math.sqrt(S0(e,r))},"dist"),S0=s(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),qUe=s(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),HUe=s(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),YUe=s(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),XUe=s(function(e,r,n){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},"shiftBoundingBox"),f0e=s(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),jUe=s(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),BT=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),FT=s(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,o;if(r.length===1)n=i=a=o=r[0];else if(r.length===2)n=a=r[0],o=i=r[1];else if(r.length===4){var l=Sl(r,4);n=l[0],i=l[1],a=l[2],o=l[3]}return e.x1-=o,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),$fe=s(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),hP=s(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),Wg=s(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),KUe=s(function(e,r){return Wg(e,r.x,r.y)},"pointInBoundingBox"),d0e=s(function(e,r){return Wg(e,r.x1,r.y1)&&Wg(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),p0e=s(function(e,r,n,i,a,o,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?N0(a,o):u,f=a/2,d=o/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=df(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var k=n+f+l,A=i-d+h-l,w=k,T=i+d-h+l;if(g=df(e,r,n,i,k,A,w,T,!1),g.length>0)return g}if(p){var C=n-f+h-l,E=i+d+l,S=n+f-h+l,R=E;if(g=df(e,r,n,i,C,E,S,R,!1),g.length>0)return g}if(m){var D=n-f-l,L=i-d+h-l,P=D,M=i+d-h+l;if(g=df(e,r,n,i,D,L,P,M,!1),g.length>0)return g}var F;{var I=n-f+h,O=i-d+h;if(F=yx(e,r,n,i,I,O,h+l),F.length>0&&F[0]<=I&&F[1]<=O)return[F[0],F[1]]}{var z=n+f-h,N=i-d+h;if(F=yx(e,r,n,i,z,N,h+l),F.length>0&&F[0]>=z&&F[1]<=N)return[F[0],F[1]]}{var U=n+f-h,$=i+d-h;if(F=yx(e,r,n,i,U,$,h+l),F.length>0&&F[0]>=U&&F[1]>=$)return[F[0],F[1]]}{var W=n-f+h,ee=i+d-h;if(F=yx(e,r,n,i,W,ee,h+l),F.length>0&&F[0]<=W&&F[1]>=ee)return[F[0],F[1]]}return[]},"roundRectangleIntersectLine"),QUe=s(function(e,r,n,i,a,o,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,o),p=Math.max(i,o);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),ZUe=s(function(e,r,n,i,a,o,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,o)-h,y2:Math.max(i,u,o)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),JUe=s(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var o=Math.sqrt(a),l=2*e,u=(-r+o)/l,h=(-r-o)/l;return[u,h]},"solveQuadratic"),eqe=s(function(e,r,n,i,a){var o=1e-5;e===0&&(e=o),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),tqe=s(function(e,r,n,i,a,o,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*o+2*i*u+4*o*o-4*o*u+u*u,f=1*9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*o-3*i*i-3*i*u-6*o*o+3*o*u,d=1*3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*o+i*u-i*r+2*o*o+2*o*r-u*r,p=1*n*a-n*n+n*e-a*e+i*o-i*i+i*r-o*r,m=[];eqe(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,k,A,w=0;w=0?Ah?(e-a)*(e-a)+(r-o)*(r-o):f-p},"sqdistToFiniteLine"),Ms=s(function(e,r,n){for(var i,a,o,l,u,h=0,f=0;f=e&&e>=o||i<=e&&e<=o)u=(e-i)/(o-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Wu=s(function(e,r,n,i,a,o,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=KT(f,-h);y=jT(v)}else y=f;return Ms(e,r,y)},"pointInsidePolygon"),nqe=s(function(e,r,n,i,a,o,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var k=b[0]*u[0]+e,A=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[k,A];var w=b[1]*u[0]+e,T=b[1]*u[1]+r;return[k,A,w,T]}else return[k,A]},"intersectLineCircle"),RO=s(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),df=s(function(e,r,n,i,a,o,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-o,g=i-r,y=u-o,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var k=v/b,A=x/b,w=.001,T=0-w,C=1+w;return T<=k&&k<=C&&T<=A&&A<=C?[e+k*d,r+k*g]:h?[e+k*d,r+k*g]:[]}else return v===0||x===0?RO(e,n,l)===l?[l,u]:RO(e,n,a)===a?[a,o]:RO(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),_x=s(function(e,r,n,i,a,o,l,u){var h=[],f,d=new Array(n.length),p=!0;o==null&&(p=!1);var m;if(p){for(var g=0;g0){var y=KT(d,-u);m=jT(y)}else m=d}else m=n;for(var v,x,b,k,A=0;A2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=A)},"set"),get:s(function(k){return h[k]},"get")},p=0;p0?I=F.edgesTo(M)[0]:I=M.edgesTo(F)[0];var O=i(I);M=M.id(),E[M]>E[L]+O&&(E[M]=E[L]+O,S.nodes.indexOf(M)<0?S.push(M):S.updateItem(M),C[M]=0,T[M]=[]),E[M]==E[L]+O&&(C[M]=C[M]+C[L],T[M].push(L))}else for(var z=0;z0;){for(var W=w.pop(),ee=0;ee0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),xqe=s(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:wqe,l=i,u,h,f=0;f=2?hx(e,r,n,0,Wfe,Tqe):hx(e,r,n,0,qfe)},"euclidean"),squaredEuclidean:s(function(e,r,n){return hx(e,r,n,0,Wfe)},"squaredEuclidean"),manhattan:s(function(e,r,n){return hx(e,r,n,0,qfe)},"manhattan"),max:s(function(e,r,n){return hx(e,r,n,-1/0,Eqe)},"max")};Hg["squared-euclidean"]=Hg.squaredEuclidean;Hg.squaredeuclidean=Hg.squaredEuclidean;s(l7,"clusteringDistance");Cqe=ya({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),dP=s(function(e){return Cqe(e)},"setOptions"),QT=s(function(e,r,n,i,a){var o=a!=="kMedoids",l=o?function(d){return n[d]}:function(d){return i[d](n)},u=s(function(p){return i[p](r)},"getQ"),h=n,f=r;return l7(e,i.length,l,u,h,f)},"getDist"),MO=s(function(e,r,n){for(var i=n.length,a=new Array(i),o=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),Aqe=s(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[o],y=r[i[o]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),Qfe=s(function(e,r,n){for(var i=[],a=0;al&&(o=h,l=r[a*e+h])}o>0&&i.push(o)}for(var f=0;fh&&(u=f,h=d)}n[a]=o[u]}return i=Qfe(e,r,n),i},"assign"),Zfe=s(function(e){for(var r=this.cy(),n=this.nodes(),i=Vqe(e),a={},o=0;o=D?(L=D,D=M,P=F):M>L&&(L=M);for(var I=0;I0?1:0;C[S%i.minIterations*l+W]=ee,$+=ee}if($>0&&(S>=i.minIterations-1||S==i.maxIterations-1)){for(var te=0,ce=0;ce1||T>1)&&(l=!0),d[k]=[],b.outgoers().forEach(function(E){E.isEdge()&&d[k].push(E.id())})}else p[k]=[void 0,b.target().id()]}):o.forEach(function(b){var k=b.id();if(b.isNode()){var A=b.degree(!0);A%2&&(u?h?l=!0:h=k:u=k),d[k]=[],b.connectedEdges().forEach(function(w){return d[k].push(w.id())})}else p[k]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=o[0].id());var g=s(function(k){for(var A=k,w=[k],T,C,E;d[A].length;)T=d[A].shift(),C=p[T][0],E=p[T][1],A!=E?(d[E]=d[E].filter(function(S){return S!=T}),A=E):!a&&A!=C&&(d[C]=d[C].filter(function(S){return S!=T}),A=C),w.unshift(T),w.unshift(A);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(o.getElementById(v.shift())),y.unshift(o.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(o.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},LT=s(function(){var e=this,r={},n=0,i=0,a=[],o=[],l={},u=s(function(p,m){for(var g=o.length-1,y=[],v=e.spawn();o[g].x!=p||o[g].y!=m;)y.push(o.pop().edge),g--;y.push(o.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(k){var A=k.id(),w=k.connectedEdges().intersection(e);v.merge(k),r[A].cutVertex?v.merge(w.filter(function(T){return T.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=s(function d(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,k;y.forEach(function(A){v=A.source().id(),x=A.target().id(),b=v===m?x:v,b!==g&&(k=A.id(),l[k]||(l[k]=!0,o.push({x:m,y:b,edge:A})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(d(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),Kqe={hopcroftTarjanBiconnected:LT,htbc:LT,htb:LT,hopcroftTarjanBiconnectedComponents:LT},DT=s(function(){var e=this,r={},n=0,i=[],a=[],o=e.spawn(e),l=s(function u(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||u(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),o=o.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:o,components:i}},"tarjanStronglyConnected"),Qqe={tarjanStronglyConnected:DT,tsc:DT,tscc:DT,tarjanStronglyConnectedComponents:DT},k0e={};[Cx,_Ue,AUe,DUe,MUe,NUe,BUe,lqe,Gg,Vg,UO,kqe,Nqe,$qe,Yqe,jqe,Kqe,Qqe].forEach(function(t){Pt(k0e,t)});w0e=0,T0e=1,E0e=2,Hu=s(function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=w0e,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Hu.prototype={fulfill:s(function(e){return Jfe(this,T0e,"fulfillValue",e)},"fulfill"),reject:s(function(e){return Jfe(this,E0e,"rejectReason",e)},"reject"),then:s(function(e,r){var n=this,i=new Hu;return n.onFulfilled.push(tde(e,i,"fulfill")),n.onRejected.push(tde(r,i,"reject")),C0e(n),i.proxy},"then")};Jfe=s(function(e,r,n,i){return e.state===w0e&&(e.state=r,e[n]=i,C0e(e)),e},"deliver"),C0e=s(function(e){e.state===T0e?ede(e,"onFulfilled",e.fulfillValue):e.state===E0e&&ede(e,"onRejected",e.rejectReason)},"execute"),ede=s(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=s(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:s(function(){return s(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var o=0;o0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:s(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:s(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:s(function(e,r){hn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],o=0,l=n.length;o0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:s(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:s(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};zT.className=zT.classNames=zT.classes;Tr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Oi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Tr.variable="(?:[\\w-.]|(?:\\\\"+Tr.metaChar+"))+";Tr.className="(?:[\\w-]|(?:\\\\"+Tr.metaChar+"))+";Tr.value=Tr.string+"|"+Tr.number;Tr.id=Tr.variable;(function(){var t,e,r;for(t=Tr.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(Tr.comparatorOp+="|\\!"+e)})();rn=s(function(){return{checks:[]}},"newQuery"),ft={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},WO=[{selector:":selected",matches:s(function(e){return e.selected()},"matches")},{selector:":unselected",matches:s(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:s(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:s(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:s(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:s(function(e){return!e.locked()},"matches")},{selector:":visible",matches:s(function(e){return e.visible()},"matches")},{selector:":hidden",matches:s(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:s(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:s(function(e){return e.grabbed()},"matches")},{selector:":free",matches:s(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:s(function(e){return e.removed()},"matches")},{selector:":inside",matches:s(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:s(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:s(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:s(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:s(function(e){return!e.animated()},"matches")},{selector:":parent",matches:s(function(e){return e.isParent()},"matches")},{selector:":childless",matches:s(function(e){return e.isChildless()},"matches")},{selector:":child",matches:s(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:s(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:s(function(e){return e.isChild()},"matches")},{selector:":compound",matches:s(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:s(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:s(function(e){return e.isSimple()},"matches")},{selector:":active",matches:s(function(e){return e.active()},"matches")},{selector:":inactive",matches:s(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:s(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:s(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return kVe(t.selector,e.selector)}),uYe=function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return Kr("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return Kr("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&Kr("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),gYe=s(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=s(function(f){return f??""},"clean"),r=s(function(f){return At(f)?'"'+f+'"':e(f)},"cleanVal"),n=s(function(f){return" "+f+" "},"space"),i=s(function(f,d){var p=f.type,m=f.value;switch(p){case ft.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case ft.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case ft.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case ft.DATA_EXIST:{var k=f.field;return"["+k+"]"}case ft.META_COMPARE:{var A=f.operator,w=f.field;return"[["+w+n(e(A))+r(m)+"]]"}case ft.STATE:return m;case ft.ID:return"#"+m;case ft.CLASS:return"."+m;case ft.PARENT:case ft.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case ft.ANCESTOR:case ft.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case ft.COMPOUND_SPLIT:{var T=a(f.left,d),C=a(f.subject,d),E=a(f.right,d);return T+(T.length>0?" ":"")+C+E}case ft.TRUE:return""}},"checkToString"),a=s(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),o="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!o?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return vP(this,t,e,N0e)};s(O0e,"addParent");Yg.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return vP(this,t,e,O0e)};s(EYe,"addParentAndChildren");Yg.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return vP(this,t,e,EYe)};Yg.ancestors=Yg.parents;Lx=P0e={data:jr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:jr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:jr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:jr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:jr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:jr.removeData({field:"rscratch",triggerEvent:!1}),id:s(function(){var e=this[0];if(e)return e._private.data.id},"id")};Lx.attr=Lx.data;Lx.removeAttr=Lx.removeData;CYe=P0e,f7={};s(NO,"defineDegreeFunction");Pt(f7,{degree:NO(function(t,e){return e.source().same(e.target())?2:1}),indegree:NO(function(t,e){return e.target().same(t)?1:0}),outdegree:NO(function(t,e){return e.source().same(t)?1:0})});s(Ig,"defineDegreeBoundsFunction");Pt(f7,{minDegree:Ig("degree",function(t,e){return te}),minIndegree:Ig("indegree",function(t,e){return te}),minOutdegree:Ig("outdegree",function(t,e){return te})});Pt(f7,{totalDegree:s(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!o)return;return this},"relativePosition")};Ll.modelPosition=Ll.point=Ll.position;Ll.modelPositions=Ll.points=Ll.positions;Ll.renderedPoint=Ll.renderedPosition;Ll.relativePoint=Ll.relativePosition;SYe=B0e;Ug=kf={};kf.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,o=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:o,y1:l,y2:u,w:o-a,h:u-l}};kf.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};kf.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(o){if(!o.isParent())return;var l=o._private,u=o.children(),h=o.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:o.pstyle("min-width").pfValue,left:o.pstyle("min-width-bias-left"),right:o.pstyle("min-width-bias-right")},height:{val:o.pstyle("min-height").pfValue,top:o.pstyle("min-height-bias-top"),bottom:o.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:o.pstyle("width").pfValue,h:o.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(S,R,D){var L=0,P=0,M=R+D;return S>0&&M>0&&(L=R/M*S,P=D/M*S),{biasDiff:L,biasComplementDiff:P}}s(m,"computeBiasValues");function g(S,R,D,L){if(D.units==="%")switch(L){case"width":return S>0?D.pfValue*S:0;case"height":return R>0?D.pfValue*R:0;case"average":return S>0&&R>0?D.pfValue*(S+R)/2:0;case"min":return S>0&&R>0?S>R?D.pfValue*R:D.pfValue*S:0;case"max":return S>0&&R>0?S>R?D.pfValue*S:D.pfValue*R:0;default:return 0}else return D.units==="px"?D.pfValue:0}s(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var k=m(f.width.val-d.w,y,v),A=k.biasDiff,w=k.biasComplementDiff,T=m(f.height.val-d.h,x,b),C=T.biasDiff,E=T.biasComplementDiff;l.autoPadding=g(d.w,d.h,o.pstyle("padding"),o.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-A+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-C+d.y1+d.y2+E)/2}s(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),_0=s(function(e,r){return r==null?e:_l(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),fx=s(function(e,r,n){return Al(e,r,n)},"prefixedProperty"),RT=s(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,o=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-o,d.y1=h-o,d.x2=u+o,d.y2=h+o,d.w=d.x2-d.x1,d.h=d.y2-d.y1,BT(d,1),_l(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),OO=s(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,o=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=fx(o,"labelWidth",n),d=fx(o,"labelHeight",n),p=fx(o,"labelX",n),m=fx(o,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,k=r.pstyle("text-border-width").pfValue,A=k/2,w=r.pstyle("text-background-padding").pfValue,T=2,C=d,E=f,S=E/2,R=C/2,D,L,P,M;if(v)D=p-S,L=p+S,P=m-R,M=m+R;else{switch(u.value){case"left":D=p-E,L=p;break;case"center":D=p-S,L=p+S;break;case"right":D=p,L=p+E;break}switch(h.value){case"top":P=m-C,M=m;break;case"center":P=m-R,M=m+R;break;case"bottom":P=m,M=m+C;break}}D+=g-Math.max(b,A)-w-T,L+=g+Math.max(b,A)+w+T,P+=y-Math.max(b,A)-w-T,M+=y+Math.max(b,A)+w+T;var F=n||"main",I=a.labelBounds,O=I[F]=I[F]||{};O.x1=D,O.y1=P,O.x2=L,O.y2=M,O.w=L-D,O.h=M-P;var z=v&&x.strValue==="autorotate",N=x.pfValue!=null&&x.pfValue!==0;if(z||N){var U=z?fx(a.rstyle,"labelAngle",n):x.pfValue,$=Math.cos(U),W=Math.sin(U),ee=(D+L)/2,te=(P+M)/2;if(!v){switch(u.value){case"left":ee=L;break;case"right":ee=D;break}switch(h.value){case"top":te=M;break;case"bottom":te=P;break}}var ce=s(function(ie,ye){return ie=ie-ee,ye=ye-te,{x:ie*$-ye*W+ee,y:ie*W+ye*$+te}},"rotate"),Z=ce(D,P),fe=ce(D,M),ne=ce(L,P),H=ce(L,M);D=Math.min(Z.x,fe.x,ne.x,H.x),L=Math.max(Z.x,fe.x,ne.x,H.x),P=Math.min(Z.y,fe.y,ne.y,H.y),M=Math.max(Z.y,fe.y,ne.y,H.y)}var Q=F+"Rot",K=I[Q]=I[Q]||{};K.x1=D,K.y1=P,K.x2=L,K.y2=M,K.w=L-D,K.h=M-P,_l(e,D,P,L,M),_l(a.labelBounds.all,D,P,L,M)}return e}},"updateBoundsFromLabel"),_Ye=s(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value;if(n>0&&i>0){var a=r.pstyle("outline-offset").value,o=r.pstyle("shape").value,l=i+a,u=(e.w+l*2)/e.w,h=(e.h+l*2)/e.h,f=0,d=0;["diamond","pentagon","round-triangle"].includes(o)?(u=(e.w+l*2.4)/e.w,d=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(o)?u=(e.w+l*2.4)/e.w:o==="star"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.6)/e.h,d=-l/3.8):o==="triangle"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.4)/e.h,d=-l/1.4):o==="vee"&&(u=(e.w+l*4.4)/e.w,h=(e.h+l*3.8)/e.h,d=-l*.5);var p=e.h*h-e.h,m=e.w*u-e.w;if(FT(e,[Math.ceil(p/2),Math.ceil(m/2)]),f!=0||d!==0){var g=XUe(e,f,d);f0e(e,g)}}}},"updateBoundsFromOutline"),AYe=s(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),o=Is(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=s(function(De){return De.pstyle("display").value!=="none"},"isDisplayed"),k=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(k){var A=0,w=0;i&&r.includeOverlays&&(A=e.pstyle("overlay-opacity").value,A!==0&&(w=e.pstyle("overlay-padding").value));var T=0,C=0;i&&r.includeUnderlays&&(T=e.pstyle("underlay-opacity").value,T!==0&&(C=e.pstyle("underlay-padding").value));var E=Math.max(w,C),S=0,R=0;if(i&&(S=e.pstyle("width").pfValue,R=S/2),u&&r.includeNodes){var D=e.position();g=D.x,y=D.y;var L=e.outerWidth(),P=L/2,M=e.outerHeight(),F=M/2;f=g-P,d=g+P,p=y-F,m=y+F,_l(o,f,p,d,m),i&&r.includeOutlines&&_Ye(o,e)}else if(h&&r.includeEdges)if(i&&!a){var I=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=R,d+=R,p-=R,m+=R,_l(o,f,p,d,m),I==="haystack"){var O=v.haystackPts;if(O&&O.length===2){if(f=O[0].x,p=O[0].y,d=O[1].x,m=O[1].y,f>d){var z=f;f=d,d=z}if(p>m){var N=p;p=m,m=N}_l(o,f-R,p-R,d+R,m+R)}}else if(I==="bezier"||I==="unbundled-bezier"||I.endsWith("segments")||I.endsWith("taxi")){var U;switch(I){case"bezier":case"unbundled-bezier":U=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":U=v.linePts;break}if(U!=null)for(var $=0;$d){var fe=f;f=d,d=fe}if(p>m){var ne=p;p=m,m=ne}f-=R,d+=R,p-=R,m+=R,_l(o,f,p,d,m)}if(i&&r.includeEdges&&h&&(RT(o,e,"mid-source"),RT(o,e,"mid-target"),RT(o,e,"source"),RT(o,e,"target")),i){var H=e.pstyle("ghost").value==="yes";if(H){var Q=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue;_l(o,o.x1+Q,o.y1+K,o.x2+Q,o.y2+K)}}var re=l.bodyBounds=l.bodyBounds||{};$fe(re,o),FT(re,x),BT(re,1),i&&(f=o.x1,d=o.x2,p=o.y1,m=o.y2,_l(o,f-E,p-E,d+E,m+E));var ie=l.overlayBounds=l.overlayBounds||{};$fe(ie,o),FT(ie,x),BT(ie,1);var ye=l.labelBounds=l.labelBounds||{};ye.all!=null?YUe(ye.all):ye.all=Is(),i&&r.includeLabels&&(r.includeMainLabels&&OO(o,e,null),h&&(r.includeSourceLabels&&OO(o,e,"source"),r.includeTargetLabels&&OO(o,e,"target")))}return o.x1=Go(o.x1),o.y1=Go(o.y1),o.x2=Go(o.x2),o.y2=Go(o.y2),o.w=Go(o.x2-o.x1),o.h=Go(o.y2-o.y1),o.w>0&&o.h>0&&k&&(FT(o,x),BT(o,1)),o},"boundingBoxImpl"),z0e=s(function(e){var r=0,n=s(function(o){return(o?1:0)<=0;l--)o(l);return this};bf.removeAllListeners=function(){return this.removeListener("*")};bf.emit=bf.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,hn(e)||(e=[e]),qYe(this,function(a,o){r!=null&&(n=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}],i=n.length);for(var l=s(function(f){var d=n[f];if(d.type===o.type&&(!d.namespace||d.namespace===o.namespace||d.namespace===VYe)&&a.eventMatches(a.context,d,o)){var p=[o];e!=null&&kUe(p,e),a.beforeEmit(a.context,d,o),d.conf&&d.conf.one&&(a.listeners=a.listeners.filter(function(y){return y!==d}));var m=a.callbackContext(a.context,d,o),g=d.callback.apply(m,p);a.afterEmit(a.context,d,o),g===!1&&(o.stopPropagation(),o.preventDefault())}},"_loop2"),u=0;u1&&!o){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:s(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var o=a.index;return this.unmergeAt(o),this},"unmergeOne"),unmerge:s(function(e){var r=this._private.cy;if(!e)return this;if(e&&At(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:s(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:s(function(e,r){for(var n=1/0,i,a=this,o=0;o=0&&a"u"?"undefined":Pi(Symbol))!=e&&Pi(Symbol.iterator)!=e;r&&(ZT[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,o=this.length;return qde({next:s(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){this.cleanStyle();var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:s(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:s(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:s(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:s(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(Er(e)){var o=e;a.applyBypass(this,o,i),this.emitAndNotify("style")}else if(At(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:s(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var o=0;o0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:s(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:s(function(e){return this.neighborhood(e)},"openNeighborhood")});Da.neighbourhood=Da.neighborhood;Da.closedNeighbourhood=Da.closedNeighborhood;Da.openNeighbourhood=Da.openNeighborhood;Pt(Da,{source:Vo(s(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:Vo(s(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:vde({attr:"source"}),targets:vde({attr:"target"})});s(vde,"defineSourceFunction");Pt(Da,{edgesWith:Vo(xde(),"edgesWith"),edgesTo:Vo(xde({thisIsSrc:!0}),"edgesTo")});s(xde,"defineEdgesWithFunction");Pt(Da,{connectedEdges:Vo(function(t){for(var e=[],r=this,n=0;n0);return o},"components"),component:s(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});Da.componentsOf=Da.components;ga=s(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Jn("A collection must have a reference to the core");return}var a=new Ic,o=!1;if(!r)r=[];else if(r.length>0&&Er(r[0])&&!Nx(r[0])){o=!0;for(var l=[],u=new Xg,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],o=[],l,u=0,h=r.length;u0){for(var N=l.length===r.length?r:new ga(n,l),U=0;U0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function o(M){for(var F=M._private.edges,I=0;I0&&(t?D.emitAndNotify("remove"):e&&D.emit("remove"));for(var L=0;Lf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")}(),kn=s(function(e,r,n,i){var a=eXe(e,r,n,i);return function(o,l,u){return o+(l-o)*a(u)}},"cubicBezier"),GT={linear:s(function(e,r,n){return e+(r-e)*n},"linear"),ease:kn(.25,.1,.25,1),"ease-in":kn(.42,0,1,1),"ease-out":kn(0,0,.58,1),"ease-in-out":kn(.42,0,.58,1),"ease-in-sine":kn(.47,0,.745,.715),"ease-out-sine":kn(.39,.575,.565,1),"ease-in-out-sine":kn(.445,.05,.55,.95),"ease-in-quad":kn(.55,.085,.68,.53),"ease-out-quad":kn(.25,.46,.45,.94),"ease-in-out-quad":kn(.455,.03,.515,.955),"ease-in-cubic":kn(.55,.055,.675,.19),"ease-out-cubic":kn(.215,.61,.355,1),"ease-in-out-cubic":kn(.645,.045,.355,1),"ease-in-quart":kn(.895,.03,.685,.22),"ease-out-quart":kn(.165,.84,.44,1),"ease-in-out-quart":kn(.77,0,.175,1),"ease-in-quint":kn(.755,.05,.855,.06),"ease-out-quint":kn(.23,1,.32,1),"ease-in-out-quint":kn(.86,0,.07,1),"ease-in-expo":kn(.95,.05,.795,.035),"ease-out-expo":kn(.19,1,.22,1),"ease-in-out-expo":kn(1,0,0,1),"ease-in-circ":kn(.6,.04,.98,.335),"ease-out-circ":kn(.075,.82,.165,1),"ease-in-out-circ":kn(.785,.135,.15,.86),spring:s(function(e,r,n){if(n===0)return GT.linear;var i=tXe(e,r,n);return function(a,o,l){return a+(o-a)*i(l)}},"spring"),"cubic-bezier":kn};s(kde,"getEasedValue");s(wde,"getValue");s(Ng,"ease");s(rXe,"step$1");s(px,"valid");s(nXe,"startAnimation");s(Tde,"stepAll");iXe={animate:jr.animate(),animation:jr.animation(),animated:jr.animated(),clearQueue:jr.clearQueue(),delay:jr.delay(),delayAnimation:jr.delayAnimation(),stop:jr.stop(),addToAnimationPool:s(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:s(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:s(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&YT(s(function(a){Tde(a,e),r()},"animationStep"))}s(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(s(function(a,o){Tde(o,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},aXe={qualifierCompare:s(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:s(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&Nx(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:s(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:s(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},NT=s(function(e){return At(e)?new vf(e):e},"argSelector"),K0e={createEmitter:s(function(){var e=this._private;return e.emitter||(e.emitter=new d7(aXe,this)),this},"createEmitter"),emitter:s(function(){return this._private.emitter},"emitter"),on:s(function(e,r,n){return this.emitter().on(e,NT(r),n),this},"on"),removeListener:s(function(e,r,n){return this.emitter().removeListener(e,NT(r),n),this},"removeListener"),removeAllListeners:s(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:s(function(e,r,n){return this.emitter().one(e,NT(r),n),this},"one"),once:s(function(e,r,n){return this.emitter().one(e,NT(r),n),this},"once"),emit:s(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:s(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};jr.eventAliasesOn(K0e);YO={png:s(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:s(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};YO.jpeg=YO.jpg;VT={layout:s(function(e){var r=this;if(e==null){Jn("Layout options must be specified to make a layout");return}if(e.name==null){Jn("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){Jn("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;At(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var o=new i(Pt({},e,{cy:r,eles:a}));return o},"layout")};VT.createLayout=VT.makeLayout=VT.layout;sXe={notify:s(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:s(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:s(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:s(function(){return this._private.batchCount>0},"batching"),startBatch:s(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:s(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:s(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:s(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:s(function(e){return this.on("render",e)},"onRender"),offRender:s(function(e){return this.off("render",e)},"offRender")};XO.invalidateDimensions=XO.resize;UT={collection:s(function(e,r){return At(e)?this.$(e):oo(e)?e.collection():hn(e)?(r||(r={}),new ga(this,e,r.unique,r.removed)):new ga(this)},"collection"),nodes:s(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:s(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:s(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:s(function(){return this._private.elements},"mutableElements")};UT.elements=UT.filter=UT.$;Ma={},bx="t",lXe="f";Ma.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(A=1),l.color){var T=n.valueMin[0],C=n.valueMax[0],E=n.valueMin[1],S=n.valueMax[1],R=n.valueMin[2],D=n.valueMax[2],L=n.valueMin[3]==null?1:n.valueMin[3],P=n.valueMax[3]==null?1:n.valueMax[3],M=[Math.round(T+(C-T)*A),Math.round(E+(S-E)*A),Math.round(R+(D-R)*A),Math.round(L+(P-L)*A)];a={bypass:n.bypass,name:n.name,value:M,strValue:"rgb("+M[0]+", "+M[1]+", "+M[2]+")"}}else if(l.number){var F=n.valueMin+(n.valueMax-n.valueMin)*A;a=this.parse(n.name,F,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case o.data:{for(var I=n.field.split("."),O=d.data,z=0;z0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(o).play().promise().then(k):k()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};Ma.checkTrigger=function(t,e,r,n,i,a){var o=this.properties[e],l=i(o);l!=null&&l(r,n)&&a(o)};Ma.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};Ma.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(a){a.isBundledBezier()&&a.dirtyBoundingBoxCache()}),i.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Ma.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};Fx={};Fx.applyBypass=function(t,e,r,n){var i=this,a=[],o=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}s(l,"removeSelAndBlockFromRemaining");function u(){a.length>o.length?a=a.substr(o.length):a=""}for(s(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){Kr("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new vf(d);if(p.invalid){Kr("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){Kr("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}o=x[0];var b=x[1],k=x[2],A=e.properties[b];if(!A){Kr("Skipping property: Invalid property name in: "+o),u();continue}var w=r.parse(b,k);if(!w){Kr("Skipping property: Invalid property definition in: "+o),u();continue}y.push({name:b,val:k}),u()}if(g){l();break}r.selector(d);for(var T=0;T=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return Kr("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var k;if(u?k=e.split(/\s+/):hn(e)?k=e:k=[e],h.evenMultiple&&k.length%2!==0)return null;for(var A=[],w=[],T=[],C="",E=!1,S=0;S0?" ":"")+R.strValue}return h.validate&&!h.validate(A,w)?null:h.singleEnum&&E?A.length===1&&At(A[0])?{name:t,value:A[0],strValue:A[0],bypass:r}:null:{name:t,value:A,pfValue:T,strValue:C,bypass:r,units:w}}var D=s(function(){for(var H=0;Hh.max||h.strictMax&&e===h.max))return null;var I={name:t,value:e,strValue:""+e+(L||""),units:L,bypass:r};return h.unitless||L!=="px"&&L!=="em"?I.pfValue=e:I.pfValue=L==="px"||!L?e:this.getEmSizeInPixels()*e,(L==="ms"||L==="s")&&(I.pfValue=L==="ms"?e:1e3*e),(L==="deg"||L==="rad")&&(I.pfValue=L==="rad"?e:UUe(e)),L==="%"&&(I.pfValue=e/100),I}else if(h.propList){var O=[],z=""+e;if(z!=="none"){for(var N=z.split(/\s*,\s*|\s+/),U=0;U0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((o-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:s(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:s(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:s(function(e){var r=this._private,n=r.pan,i=r.zoom,a,o,l=!1;if(r.zoomingEnabled||(l=!0),rt(e)?o=e:Er(e)&&(o=e.level,e.position!=null?a=o7(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),o=o>r.maxZoom?r.maxZoom:o,o=or.maxZoom||!r.zoomingEnabled?o=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!o||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;rt(h.x)&&(r.pan.x=h.x,l=!1),rt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:s(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:s(function(e,r){if(this._private.panningEnabled){if(At(e)){var n=e;e=this.mutableElements().filter(n)}else oo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),o=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(o-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:s(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:s(function(){this._private.sizeCache=null},"invalidateSize"),size:s(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var i=n.window().getComputedStyle(r),a=s(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}}():{width:1,height:1})},"size"),width:s(function(){return this.size().width},"width"),height:s(function(){return this.size().height},"height"),extent:s(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:s(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:s(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};P0.centre=P0.center;P0.autolockNodes=P0.autolock;P0.autoungrabifyNodes=P0.autoungrabify;Rx={data:jr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:jr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:jr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:jr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Rx.attr=Rx.data;Rx.removeAttr=Rx.removeData;Mx=s(function(e){var r=this;e=Pt({},e);var n=e.container;n&&!HT(n)&&HT(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var o=Ni!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=Pt({name:o?"grid":"null"},l.layout),l.renderer=Pt({name:o?"canvas":"null"},l.renderer);var u=s(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new ga(this),listeners:[],aniEles:new ga(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?o:l.styleEnabled,zoom:rt(l.zoom)?l.zoom:1,pan:{x:Er(l.pan)&&rt(l.pan.x)?l.pan.x:0,y:Er(l.pan)&&rt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=s(function(g,y){var v=g.some(dVe);if(v)return jg.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=Pt({},l,l.renderer);r.initRenderer(d);var p=s(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(Er(g)||hn(g))&&r.add(g),r.one("layoutready",function(k){r.notifications(!0),r.emit(k),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=Pt({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,Gn(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,u=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),h;if(oo(e.roots))h=e.roots;else if(hn(e.roots)){for(var f=[],d=0;d0;){var F=M(),I=R(F,L);if(I)F.outgoers().filter(function(ye){return ye.isNode()&&n.has(ye)}).forEach(P);else if(I===null){Kr("Detected double maximal shift for node `"+F.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}S();var O=0;if(e.avoidOverlap)for(var z=0;z0&&x[0].length<=3?Oe/2:0),q=2*Math.PI/x[oe].length*Re;return oe===0&&x[0].length===1&&(he=1),{x:K.x+he*Math.cos(q),y:K.y+he*Math.sin(q)}}else{var _e={x:K.x+(Re+1-(Pe+1)/2)*Se,y:(oe+1)*Ue};return _e}},"getPosition");return n.nodes().layoutPositions(this,e,ie),this};dXe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:s(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:s(function(e,r){return r},"transform")};s(Z0e,"CircleLayout");Z0e.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var o=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),k=Math.sqrt(d*d/(x*x+b*b));f=Math.max(k,f)}var A=s(function(T,C){var E=e.startAngle+C*h*(i?1:-1),S=f*Math.cos(E),R=f*Math.sin(E),D={x:l.x+S,y:l.y+R};return D},"getPos");return n.nodes().layoutPositions(this,e,A),this};pXe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:s(function(e){return e.degree()},"concentric"),levelWidth:s(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:s(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:s(function(e,r){return r},"transform")};s(J0e,"ConcentricLayout");J0e.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),o=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-A.value);w>=v&&(b=[],x.push(b))}b.push(A)}var T=h+e.minNodeSpacing;if(!e.avoidOverlap){var C=x.length>0&&x[0].length>1,E=Math.min(o.w,o.h)/2-T,S=E/(x.length+C?1:0);T=Math.min(T,S)}for(var R=0,D=0;D1&&e.avoidOverlap){var F=Math.cos(M)-Math.cos(0),I=Math.sin(M)-Math.sin(0),O=Math.sqrt(T*T/(F*F+I*I));R=Math.max(O,R)}L.r=R,R+=T}if(e.equidistant){for(var z=0,N=0,U=0;U=t.numIter||(wXe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),YT(d)}},"frame");f()}else{for(;h;)h=o(u),u++;Sde(n,t),l()}return this};v7.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};v7.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};gXe=s(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),o=Is(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(E);for(var f=0;fi.count?0:i.graph},"findLCA"),vXe=s(function t(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=e7(e,l,u),v=e7(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,k=x*x+b*b,p=Math.sqrt(k),d=(e.nodeRepulsion+r.nodeRepulsion)/k,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),CXe=s(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var o=e.maxY-r.minY;else var o=r.maxY-e.minY;return a>=0&&o>=0?Math.sqrt(a*a+o*o):0},"nodesOverlap"),e7=s(function(e,r,n){var i=e.positionX,a=e.positionY,o=e.height||1,l=e.width||1,u=n/r,h=o/l,f={};return r===0&&0n?(f.x=i,f.y=a+o/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+o*r/2/n,f.y=a+o/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-o*r/2/n,f.y=a-o/2),f)},"findClippingPoint"),SXe=s(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),AXe=s(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var o=n[i++],l=e.idToIndex[o],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),RXe=s(function t(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),MXe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:s(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:s(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:s(function(e,r){return r},"transform")};s(tpe,"GridLayout");tpe.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Is(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(ee){return{x:a.x1,y:a.y1}});else{var o=i.size(),l=Math.sqrt(o*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=s(function(te){if(te==null)return Math.min(u,h);var ce=Math.min(u,h);ce==u?u=te:h=te},"small"),d=s(function(te){if(te==null)return Math.max(u,h);var ce=Math.max(u,h);ce==u?u=te:h=te},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(o/u);else if(p==null&&m!=null)h=m,u=Math.ceil(o/h);else if(h*u>o){var g=f(),y=d();(g-1)*y>=o?f(g-1):(y-1)*g>=o&&d(y-1)}else for(;h*u=o?d(x+1):f(v+1)}var b=a.w/h,k=a.h/u;if(e.condense&&(b=0,k=0),e.avoidOverlap)for(var A=0;A=h&&(F=0,M++)},"moveToNextCell"),O={},z=0;z(F=rqe(t,e,I[O],I[O+1],I[O+2],I[O+3])))return v(C,F),!0}else if(S.edgeType==="bezier"||S.edgeType==="multibezier"||S.edgeType==="self"||S.edgeType==="compound"){for(var I=S.allpts,O=0;O+5(F=tqe(t,e,I[O],I[O+1],I[O+2],I[O+3],I[O+4],I[O+5])))return v(C,F),!0}for(var z=z||E.source,N=N||E.target,U=i.getArrowWidth(R,D),$=[{name:"source",x:S.arrowStartX,y:S.arrowStartY,angle:S.srcArrowAngle},{name:"target",x:S.arrowEndX,y:S.arrowEndY,angle:S.tgtArrowAngle},{name:"mid-source",x:S.midX,y:S.midY,angle:S.midsrcArrowAngle},{name:"mid-target",x:S.midX,y:S.midY,angle:S.midtgtArrowAngle}],O=0;O<$.length;O++){var W=$[O],ee=a.arrowShapes[C.pstyle(W.name+"-arrow-shape").value],te=C.pstyle("width").pfValue;if(ee.roughCollide(t,e,U,W.angle,{x:W.x,y:W.y},te,f)&&ee.collide(t,e,U,W.angle,{x:W.x,y:W.y},te,f))return v(C),!0}h&&l.length>0&&(x(z),x(N))}s(b,"checkEdge");function k(C,E,S){return Al(C,E,S)}s(k,"preprop");function A(C,E){var S=C._private,R=p,D;E?D=E+"-":D="",C.boundingBox();var L=S.labelBounds[E||"main"],P=C.pstyle(D+"label").value,M=C.pstyle("text-events").strValue==="yes";if(!(!M||!P)){var F=k(S.rscratch,"labelX",E),I=k(S.rscratch,"labelY",E),O=k(S.rscratch,"labelAngle",E),z=C.pstyle(D+"text-margin-x").pfValue,N=C.pstyle(D+"text-margin-y").pfValue,U=L.x1-R-z,$=L.x2+R-z,W=L.y1-R-N,ee=L.y2+R-N;if(O){var te=Math.cos(O),ce=Math.sin(O),Z=s(function(ie,ye){return ie=ie-F,ye=ye-I,{x:ie*te-ye*ce+F,y:ie*ce+ye*te+I}},"rotate"),fe=Z(U,W),ne=Z(U,ee),H=Z($,W),Q=Z($,ee),K=[fe.x+z,fe.y+N,H.x+z,H.y+N,Q.x+z,Q.y+N,ne.x+z,ne.y+N];if(Ms(t,e,K))return v(C),!0}else if(Wg(L,t,e))return v(C),!0}}s(A,"checkLabel");for(var w=o.length-1;w>=0;w--){var T=o[w];T.isNode()?x(T)||A(T):b(T)||A(T)||A(T,"source")||A(T,"target")}return l};F0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(t,r),l=Math.max(t,r),u=Math.min(e,n),h=Math.max(e,n);t=o,r=l,e=u,n=h;for(var f=Is({x1:t,y1:e,x2:r,y2:n}),d=0;d0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),FXe=s(function(e,r,n,i,a){if(e!==Rde?Mde(r,e,Rc):BXe($o,Rc),Mde(r,n,$o),Lde=Rc.nx*$o.ny-Rc.ny*$o.nx,Dde=Rc.nx*$o.nx-Rc.ny*-$o.ny,Uu=Math.asin(Math.max(-1,Math.min(1,Lde))),Math.abs(Uu)<1e-6){jO=r.x,KO=r.y,A0=Pg=0;return}L0=1,qT=!1,Dde<0?Uu<0?Uu=Math.PI+Uu:(Uu=Math.PI-Uu,L0=-1,qT=!0):Uu>0&&(L0=-1,qT=!0),r.radius!==void 0?Pg=r.radius:Pg=i,E0=Uu/2,OT=Math.min(Rc.len/2,$o.len/2),a?(Dc=Math.abs(Math.cos(E0)*Pg/Math.sin(E0)),Dc>OT?(Dc=OT,A0=Math.abs(Dc*Math.sin(E0)/Math.cos(E0))):A0=Pg):(Dc=Math.min(OT,Pg),A0=Math.abs(Dc*Math.sin(E0)/Math.cos(E0))),QO=r.x+$o.nx*Dc,ZO=r.y+$o.ny*Dc,jO=QO-$o.ny*A0*L0,KO=ZO+$o.nx*A0*L0,ape=r.x+Rc.nx*Dc,spe=r.y+Rc.ny*Dc,Rde=r},"calcCornerArc");s(ope,"drawPreparedRoundCorner");s(EP,"getRoundCorner");Ia={};Ia.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,o=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=o.units!=null&&l.units!=null,h=s(function(w,T,C,E){var S=E-T,R=C-w,D=Math.sqrt(R*R+S*S);return{x:-S/D,y:R/D}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],o),p=Sl(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Sl(y,2),x=v[0],b=v[1],k={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=k}else Kr("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ia.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Ne-Be,0):Math.min(Ne+Be,0)},"subDWH"),P=L(R,E),M=L(D,S),F=!1;b===h?x=Math.abs(P)>Math.abs(M)?i:n:b===u||b===l?(x=n,F=!0):(b===a||b===o)&&(x=i,F=!0);var I=x===n,O=I?M:P,z=I?D:R,N=h0e(z),U=!1;!(F&&(A||T))&&(b===l&&z<0||b===u&&z>0||b===a&&z>0||b===o&&z<0)&&(N*=-1,O=N*Math.abs(O),U=!0);var $;if(A){var W=w<0?1+w:w;$=W*O}else{var ee=w<0?O:0;$=ee+w*N}var te=s(function(Ne){return Math.abs(Ne)=Math.abs(O)},"getIsTooClose"),ce=te($),Z=te(Math.abs(O)-Math.abs($)),fe=ce||Z;if(fe&&!U)if(I){var ne=Math.abs(z)<=p/2,H=Math.abs(R)<=m/2;if(ne){var Q=(f.x1+f.x2)/2,K=f.y1,re=f.y2;r.segpts=[Q,K,Q,re]}else if(H){var ie=(f.y1+f.y2)/2,ye=f.x1,j=f.x2;r.segpts=[ye,ie,j,ie]}else r.segpts=[f.x1,f.y2]}else{var De=Math.abs(z)<=d/2,oe=Math.abs(D)<=g/2;if(De){var Re=(f.y1+f.y2)/2,Pe=f.x1,Se=f.x2;r.segpts=[Pe,Re,Se,Re]}else if(oe){var Ue=(f.x1+f.x2)/2,Oe=f.y1,_e=f.y2;r.segpts=[Ue,Oe,Ue,_e]}else r.segpts=[f.x2,f.y1]}else if(I){var he=f.y1+$+(v?p/2*N:0),q=f.x1,se=f.x2;r.segpts=[q,he,se,he]}else{var ue=f.x1+$+(v?d/2*N:0),X=f.y1,ae=f.y2;r.segpts=[ue,X,ue,ae]}if(r.isRound){var pe=t.pstyle("taxi-radius").value,de=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(pe),r.isArcRadius=new Array(r.segpts.length/2).fill(de)}};Ia.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,o=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!rt(r.startX)||!rt(r.startY),v=!rt(r.arrowStartX)||!rt(r.arrowStartY),x=!rt(r.endX)||!rt(r.endY),b=!rt(r.arrowEndX)||!rt(r.arrowEndY),k=3,A=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=k*A,T=I0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),C=TM.poolIndex()){var F=P;P=M,M=F}var I=S.srcPos=P.position(),O=S.tgtPos=M.position(),z=S.srcW=P.outerWidth(),N=S.srcH=P.outerHeight(),U=S.tgtW=M.outerWidth(),$=S.tgtH=M.outerHeight(),W=S.srcShape=r.nodeShapes[e.getNodeShape(P)],ee=S.tgtShape=r.nodeShapes[e.getNodeShape(M)],te=S.srcCornerRadius=P.pstyle("corner-radius").value==="auto"?"auto":P.pstyle("corner-radius").pfValue,ce=S.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,Z=S.tgtRs=M._private.rscratch,fe=S.srcRs=P._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ne=0;ne0){var re=a,ie=S0(re,Fg(r)),ye=S0(re,Fg(K)),j=ie;if(ye2){var De=S0(re,{x:K[2],y:K[3]});De0){var ae=o,pe=S0(ae,Fg(r)),de=S0(ae,Fg(X)),Ie=pe;if(de2){var Ne=S0(ae,{x:X[2],y:X[3]});Ne=g||C){v={cp:A,segment:T};break}}if(v)break}var E=v.cp,S=v.segment,R=(g-x)/S.length,D=S.t1-S.t0,L=m?S.t0+D*R:S.t1-D*R;L=Sx(0,L,1),e=$g(E.p0,E.p1,E.p2,L),p=$Xe(E.p0,E.p1,E.p2,L);break}case"straight":case"segments":case"haystack":{for(var P=0,M,F,I,O,z=n.allpts.length,N=0;N+3=g));N+=2);var U=g-F,$=U/M;$=Sx(0,$,1),e=WUe(I,O,$),p=upe(I,O);break}}o("labelX",d,e.x),o("labelY",d,e.y),o("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Oc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Oc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,n),a=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=Al(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),h=i.height/u,f=h*a,d=i.width,p=i.height+(u-1)*(a-1)*h;ff(r.rstyle,"labelWidth",e,d),ff(r.rscratch,"labelWidth",e,d),ff(r.rstyle,"labelHeight",e,p),ff(r.rscratch,"labelHeight",e,p),ff(r.rscratch,"labelLineHeight",e,f)};Oc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,o=s(function(ee,te){return te?(ff(r.rscratch,ee,e,te),te):Al(r.rscratch,ee,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=o("labelKey");if(u!=null&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var h="\u200B",f=i.split(` -`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),T="",C=0,E=Hde(w),S;try{for(E.s();!(S=E.n()).done;){var R=S.value,D=R[0],L=x.substring(C,R.index);C=R.index+D.length;var P=T.length===0?L:T+L+D,M=this.calculateLabelDimensions(t,P),F=M.width;F<=d?T+=L+D:(T&&g.push(T),T=L+D)}}catch(W){E.e(W)}finally{E.f()}T.match(/^[\s\u200b]+$/)||g.push(T)}else g.push(x)}o("labelWrapCachedLines",g),i=o("labelWrapCachedText",g.join(` -`)),o("labelWrapKey",u)}else if(l==="ellipsis"){var I=t.pstyle("text-max-width").pfValue,O="",z="\u2026",N=!1;if(this.calculateLabelDimensions(t,i).widthI)break;O+=i[U],U===i.length-1&&(N=!0)}return N||(O+=z),O}return i};Oc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Oc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=M0(e,t._private.labelDimsKey),o=r.labelDimCache||(r.labelDimCache=[]),l=o[a];if(l!=null)return l;var u=0,h=t.pstyle("font-style").strValue,f=t.pstyle("font-size").pfValue,d=t.pstyle("font-family").strValue,p=t.pstyle("font-weight").strValue,m=this.labelCalcCanvas,g=this.labelCalcCanvasContext;if(!m){m=this.labelCalcCanvas=i.createElement("canvas"),g=this.labelCalcCanvasContext=m.getContext("2d");var y=m.style;y.position="absolute",y.left="-9999px",y.top="-9999px",y.zIndex="-1",y.visibility="hidden",y.pointerEvents="none"}g.font="".concat(h," ").concat(p," ").concat(f,"px ").concat(d);for(var v=0,x=0,b=e.split(` -`),k=0;k1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(o),l)for(var u=0;u=t.desktopTapThreshold2}var Rt=i(q);We&&(t.hoverData.tapholdCancelled=!0);var Qe=s(function(){var Bt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Bt.length===0?(Bt.push(we[0]),Bt.push(we[1])):(Bt[0]+=we[0],Bt[1]+=we[1])},"updateDragDelta");ue=!0,n(ze,["mousemove","vmousemove","tapdrag"],q,{x:de[0],y:de[1]});var Dt=s(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||X.emit({originalEvent:q,type:"boxstart",position:{x:de[0],y:de[1]}}),Be[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(We){var qt={originalEvent:q,type:"cxtdrag",position:{x:de[0],y:de[1]}};Fe?Fe.emit(qt):X.emit(qt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||ze!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:q,type:"cxtdragout",position:{x:de[0],y:de[1]}}),t.hoverData.cxtOver=ze,ze&&ze.emit({originalEvent:q,type:"cxtdragover",position:{x:de[0],y:de[1]}}))}}else if(t.hoverData.dragging){if(ue=!0,X.panningEnabled()&&X.userPanningEnabled()){var yt;if(t.hoverData.justStartedPan){var Et=t.hoverData.mdownPos;yt={x:(de[0]-Et[0])*ae,y:(de[1]-Et[1])*ae},t.hoverData.justStartedPan=!1}else yt={x:we[0]*ae,y:we[1]*ae};X.panBy(yt),X.emit("dragpan"),t.hoverData.dragged=!0}de=t.projectIntoViewport(q.clientX,q.clientY)}else if(Be[4]==1&&(Fe==null||Fe.pannable())){if(We){if(!t.hoverData.dragging&&X.boxSelectionEnabled()&&(Rt||!X.panningEnabled()||!X.userPanningEnabled()))Dt();else if(!t.hoverData.selecting&&X.panningEnabled()&&X.userPanningEnabled()){var pt=a(Fe,t.hoverData.downs);pt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Be[4]=0,t.data.bgActivePosistion=Fg(Ie),t.redrawHint("select",!0),t.redraw())}Fe&&Fe.pannable()&&Fe.active()&&Fe.unactivate()}}else{if(Fe&&Fe.pannable()&&Fe.active()&&Fe.unactivate(),(!Fe||!Fe.grabbed())&&ze!=qe&&(qe&&n(qe,["mouseout","tapdragout"],q,{x:de[0],y:de[1]}),ze&&n(ze,["mouseover","tapdragover"],q,{x:de[0],y:de[1]}),t.hoverData.last=ze),Fe)if(We){if(X.boxSelectionEnabled()&&Rt)Fe&&Fe.grabbed()&&(v(Je),Fe.emit("freeon"),Je.emit("free"),t.dragData.didDrag&&(Fe.emit("dragfreeon"),Je.emit("dragfree"))),Dt();else if(Fe&&Fe.grabbed()&&t.nodeIsDraggable(Fe)){var Wt=!t.dragData.didDrag;Wt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||g(Je,{inDragLayer:!0});var ot={x:0,y:0};if(rt(we[0])&&rt(we[1])&&(ot.x+=we[0],ot.y+=we[1],Wt)){var fr=t.hoverData.dragDelta;fr&&rt(fr[0])&&rt(fr[1])&&(ot.x+=fr[0],ot.y+=fr[1])}t.hoverData.draggingEles=!0,Je.silentShift(ot).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Qe();ue=!0}if(Be[2]=de[0],Be[3]=de[1],ue)return q.stopPropagation&&q.stopPropagation(),q.preventDefault&&q.preventDefault(),!1}},"mousemoveHandler"),!1);var R,D,L;t.registerBinding(e,"mouseup",s(function(q){if(!(t.hoverData.which===1&&q.which!==1&&t.hoverData.capture)){var se=t.hoverData.capture;if(se){t.hoverData.capture=!1;var ue=t.cy,X=t.projectIntoViewport(q.clientX,q.clientY),ae=t.selection,pe=t.findNearestElement(X[0],X[1],!0,!1),de=t.dragData.possibleDragElements,Ie=t.hoverData.down,Ne=i(q);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,Ie&&Ie.unactivate(),t.hoverData.which===3){var Be={originalEvent:q,type:"cxttapend",position:{x:X[0],y:X[1]}};if(Ie?Ie.emit(Be):ue.emit(Be),!t.hoverData.cxtDragged){var ze={originalEvent:q,type:"cxttap",position:{x:X[0],y:X[1]}};Ie?Ie.emit(ze):ue.emit(ze)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(pe,["mouseup","tapend","vmouseup"],q,{x:X[0],y:X[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(Ie,["click","tap","vclick"],q,{x:X[0],y:X[1]}),D=!1,q.timeStamp-L<=ue.multiClickDebounceTime()?(R&&clearTimeout(R),D=!0,L=null,n(Ie,["dblclick","dbltap","vdblclick"],q,{x:X[0],y:X[1]})):(R=setTimeout(function(){D||n(Ie,["oneclick","onetap","voneclick"],q,{x:X[0],y:X[1]})},ue.multiClickDebounceTime()),L=q.timeStamp)),Ie==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!i(q)&&(ue.$(r).unselect(["tapunselect"]),de.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=de=ue.collection()),pe==Ie&&!t.dragData.didDrag&&!t.hoverData.selecting&&pe!=null&&pe._private.selectable&&(t.hoverData.dragging||(ue.selectionType()==="additive"||Ne?pe.selected()?pe.unselect(["tapunselect"]):pe.select(["tapselect"]):Ne||(ue.$(r).unmerge(pe).unselect(["tapunselect"]),pe.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var qe=ue.collection(t.getAllInBox(ae[0],ae[1],ae[2],ae[3]));t.redrawHint("select",!0),qe.length>0&&t.redrawHint("eles",!0),ue.emit({type:"boxend",originalEvent:q,position:{x:X[0],y:X[1]}});var Fe=s(function(We){return We.selectable()&&!We.selected()},"eleWouldBeSelected");ue.selectionType()==="additive"||Ne||ue.$(r).unmerge(qe).unselect(),qe.emit("box").stdFilter(Fe).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!ae[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var we=Ie&&Ie.grabbed();v(de),we&&(Ie.emit("freeon"),de.emit("free"),t.dragData.didDrag&&(Ie.emit("dragfreeon"),de.emit("dragfree")))}}ae[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}},"mouseupHandler"),!1);var P=s(function(q){if(!t.scrollingPage){var se=t.cy,ue=se.zoom(),X=se.pan(),ae=t.projectIntoViewport(q.clientX,q.clientY),pe=[ae[0]*ue+X.x,ae[1]*ue+X.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||E()){q.preventDefault();return}if(se.panningEnabled()&&se.userPanningEnabled()&&se.zoomingEnabled()&&se.userZoomingEnabled()){q.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var de;q.deltaY!=null?de=q.deltaY/-250:q.wheelDeltaY!=null?de=q.wheelDeltaY/1e3:de=q.wheelDelta/1e3,de=de*t.wheelSensitivity;var Ie=q.deltaMode===1;Ie&&(de*=33);var Ne=se.zoom()*Math.pow(10,de);q.type==="gesturechange"&&(Ne=t.gestureStartZoom*q.scale),se.zoom({level:Ne,renderedPosition:{x:pe[0],y:pe[1]}}),se.emit(q.type==="gesturechange"?"pinchzoom":"scrollzoom")}}},"wheelHandler");t.registerBinding(t.container,"wheel",P,!0),t.registerBinding(e,"scroll",s(function(q){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",s(function(q){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||q.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(he){t.hasTouchStarted||P(he)},!0),t.registerBinding(t.container,"mouseout",s(function(q){var se=t.projectIntoViewport(q.clientX,q.clientY);t.cy.emit({originalEvent:q,type:"mouseout",position:{x:se[0],y:se[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",s(function(q){var se=t.projectIntoViewport(q.clientX,q.clientY);t.cy.emit({originalEvent:q,type:"mouseover",position:{x:se[0],y:se[1]}})},"mouseOverHandler"),!1);var M,F,I,O,z,N,U,$,W,ee,te,ce,Z,fe=s(function(q,se,ue,X){return Math.sqrt((ue-q)*(ue-q)+(X-se)*(X-se))},"distance"),ne=s(function(q,se,ue,X){return(ue-q)*(ue-q)+(X-se)*(X-se)},"distanceSq"),H;t.registerBinding(t.container,"touchstart",H=s(function(q){if(t.hasTouchStarted=!0,!!S(q)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var se=t.cy,ue=t.touchData.now,X=t.touchData.earlier;if(q.touches[0]){var ae=t.projectIntoViewport(q.touches[0].clientX,q.touches[0].clientY);ue[0]=ae[0],ue[1]=ae[1]}if(q.touches[1]){var ae=t.projectIntoViewport(q.touches[1].clientX,q.touches[1].clientY);ue[2]=ae[0],ue[3]=ae[1]}if(q.touches[2]){var ae=t.projectIntoViewport(q.touches[2].clientX,q.touches[2].clientY);ue[4]=ae[0],ue[5]=ae[1]}if(q.touches[1]){t.touchData.singleTouchMoved=!0,v(t.dragData.touchDragEles);var pe=t.findContainerClientCoords();W=pe[0],ee=pe[1],te=pe[2],ce=pe[3],M=q.touches[0].clientX-W,F=q.touches[0].clientY-ee,I=q.touches[1].clientX-W,O=q.touches[1].clientY-ee,Z=0<=M&&M<=te&&0<=I&&I<=te&&0<=F&&F<=ce&&0<=O&&O<=ce;var de=se.pan(),Ie=se.zoom();z=fe(M,F,I,O),N=ne(M,F,I,O),U=[(M+I)/2,(F+O)/2],$=[(U[0]-de.x)/Ie,(U[1]-de.y)/Ie];var Ne=200,Be=Ne*Ne;if(N=1){for(var Cr=t.touchData.startPosition=[null,null,null,null,null,null],Ut=0;Ut=t.touchTapThreshold2}if(se&&t.touchData.cxt){q.preventDefault();var Cr=q.touches[0].clientX-W,Ut=q.touches[0].clientY-ee,ar=q.touches[1].clientX-W,ut=q.touches[1].clientY-ee,Rt=ne(Cr,Ut,ar,ut),Qe=Rt/N,Dt=150,qt=Dt*Dt,yt=1.5,Et=yt*yt;if(Qe>=Et||Rt>=qt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var pt={originalEvent:q,type:"cxttapend",position:{x:ae[0],y:ae[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(pt),t.touchData.start=null):X.emit(pt)}}if(se&&t.touchData.cxt){var pt={originalEvent:q,type:"cxtdrag",position:{x:ae[0],y:ae[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(pt):X.emit(pt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Wt=t.findNearestElement(ae[0],ae[1],!0,!0);(!t.touchData.cxtOver||Wt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:q,type:"cxtdragout",position:{x:ae[0],y:ae[1]}}),t.touchData.cxtOver=Wt,Wt&&Wt.emit({originalEvent:q,type:"cxtdragover",position:{x:ae[0],y:ae[1]}}))}else if(se&&q.touches[2]&&X.boxSelectionEnabled())q.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||X.emit({originalEvent:q,type:"boxstart",position:{x:ae[0],y:ae[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,ue[4]=1,!ue||ue.length===0||ue[0]===void 0?(ue[0]=(ae[0]+ae[2]+ae[4])/3,ue[1]=(ae[1]+ae[3]+ae[5])/3,ue[2]=(ae[0]+ae[2]+ae[4])/3+1,ue[3]=(ae[1]+ae[3]+ae[5])/3+1):(ue[2]=(ae[0]+ae[2]+ae[4])/3,ue[3]=(ae[1]+ae[3]+ae[5])/3),t.redrawHint("select",!0),t.redraw();else if(se&&q.touches[1]&&!t.touchData.didSelect&&X.zoomingEnabled()&&X.panningEnabled()&&X.userZoomingEnabled()&&X.userPanningEnabled()){q.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ot=t.dragData.touchDragEles;if(ot){t.redrawHint("drag",!0);for(var fr=0;fr0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var K;t.registerBinding(e,"touchcancel",K=s(function(q){var se=t.touchData.start;t.touchData.capture=!1,se&&se.unactivate()},"touchcancelHandler"));var re,ie,ye,j;if(t.registerBinding(e,"touchend",re=s(function(q){var se=t.touchData.start,ue=t.touchData.capture;if(ue)q.touches.length===0&&(t.touchData.capture=!1),q.preventDefault();else return;var X=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var ae=t.cy,pe=ae.zoom(),de=t.touchData.now,Ie=t.touchData.earlier;if(q.touches[0]){var Ne=t.projectIntoViewport(q.touches[0].clientX,q.touches[0].clientY);de[0]=Ne[0],de[1]=Ne[1]}if(q.touches[1]){var Ne=t.projectIntoViewport(q.touches[1].clientX,q.touches[1].clientY);de[2]=Ne[0],de[3]=Ne[1]}if(q.touches[2]){var Ne=t.projectIntoViewport(q.touches[2].clientX,q.touches[2].clientY);de[4]=Ne[0],de[5]=Ne[1]}se&&se.unactivate();var Be;if(t.touchData.cxt){if(Be={originalEvent:q,type:"cxttapend",position:{x:de[0],y:de[1]}},se?se.emit(Be):ae.emit(Be),!t.touchData.cxtDragged){var ze={originalEvent:q,type:"cxttap",position:{x:de[0],y:de[1]}};se?se.emit(ze):ae.emit(ze)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!q.touches[2]&&ae.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var qe=ae.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));X[0]=void 0,X[1]=void 0,X[2]=void 0,X[3]=void 0,X[4]=0,t.redrawHint("select",!0),ae.emit({type:"boxend",originalEvent:q,position:{x:de[0],y:de[1]}});var Fe=s(function(qt){return qt.selectable()&&!qt.selected()},"eleWouldBeSelected");qe.emit("box").stdFilter(Fe).select().emit("boxselect"),qe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(se?.unactivate(),q.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!q.touches[1]){if(!q.touches[0]){if(!q.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var we=t.dragData.touchDragEles;if(se!=null){var Je=se._private.grabbed;v(we),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Je&&(se.emit("freeon"),we.emit("free"),t.dragData.didDrag&&(se.emit("dragfreeon"),we.emit("dragfree"))),n(se,["touchend","tapend","vmouseup","tapdragout"],q,{x:de[0],y:de[1]}),se.unactivate(),t.touchData.start=null}else{var We=t.findNearestElement(de[0],de[1],!0,!0);n(We,["touchend","tapend","vmouseup","tapdragout"],q,{x:de[0],y:de[1]})}var or=t.touchData.startPosition[0]-de[0],Cr=or*or,Ut=t.touchData.startPosition[1]-de[1],ar=Ut*Ut,ut=Cr+ar,Rt=ut*pe*pe;t.touchData.singleTouchMoved||(se||ae.$(":selected").unselect(["tapunselect"]),n(se,["tap","vclick"],q,{x:de[0],y:de[1]}),ie=!1,q.timeStamp-j<=ae.multiClickDebounceTime()?(ye&&clearTimeout(ye),ie=!0,j=null,n(se,["dbltap","vdblclick"],q,{x:de[0],y:de[1]})):(ye=setTimeout(function(){ie||n(se,["onetap","voneclick"],q,{x:de[0],y:de[1]})},ae.multiClickDebounceTime()),j=q.timeStamp)),se!=null&&!t.dragData.didDrag&&se._private.selectable&&Rt"u"){var De=[],oe=s(function(q){return{clientX:q.clientX,clientY:q.clientY,force:1,identifier:q.pointerId,pageX:q.pageX,pageY:q.pageY,radiusX:q.width/2,radiusY:q.height/2,screenX:q.screenX,screenY:q.screenY,target:q.target}},"makeTouch"),Re=s(function(q){return{event:q,touch:oe(q)}},"makePointer"),Pe=s(function(q){De.push(Re(q))},"addPointer"),Se=s(function(q){for(var se=0;se0)return W[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:p0e(a,o,e,r,n,i,l,u)},"intersectLine"),checkPoint:s(function(e,r,n,i,a,o,l,u){u=u==="auto"?N0(i,a):u;var h=2*u;if(Wu(e,r,this.points,o,l,i,a-h,[0,-1],n)||Wu(e,r,this.points,o,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[o-f,l-d,o-f,l,o+f,l,o+f,l-d];return!!(Ms(e,r,p)||D0(e,r,h,h,o+i/2-u,l+a/2-u,n)||D0(e,r,h,h,o-i/2+u,l+a/2-u,n))},"checkPoint")}};Xu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",es(3,0)),this.generateRoundPolygon("round-triangle",es(3,0)),this.generatePolygon("rectangle",es(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",es(5,0)),this.generateRoundPolygon("round-pentagon",es(5,0)),this.generatePolygon("hexagon",es(6,0)),this.generateRoundPolygon("round-hexagon",es(6,0)),this.generatePolygon("heptagon",es(7,0)),this.generateRoundPolygon("round-heptagon",es(7,0)),this.generatePolygon("octagon",es(8,0)),this.generateRoundPolygon("round-octagon",es(8,0));var n=new Array(20);{var i=GO(5,0),a=GO(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l=e.deqFastCost*A)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(k>=e.deqNoDrawCost*FO)break;var w=e.deq(n,v,y);if(w.length>0)for(var T=0;T0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||lP;i.beforeRender(o,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},VXe=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:XT;nP(this,t),this.idsByKey=new Ic,this.keyForId=new Ic,this.cachesByLvl=new Ic,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return s(t,"ElementTextureCacheLookup"),iP(t,[{key:"getIdsFor",value:s(function(r){r==null&&Jn("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new Xg,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:s(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:s(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:s(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:s(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:s(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:s(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:s(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:s(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Ic,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:s(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:s(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:s(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:s(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:s(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:s(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:s(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:s(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:s(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:s(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:s(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}]),t}(),Pde=25,PT=50,WT=-4,JO=3,UXe=7.99,qXe=8,WXe=1024,HXe=1024,YXe=1024,XXe=.2,jXe=.8,KXe=10,QXe=.15,ZXe=.1,JXe=.9,eje=.9,tje=100,rje=1,zg={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},nje=ya({getKey:null,doesEleInvalidateKey:XT,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:s0e,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),xx=s(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=nje(r);Pt(n,i),n.lookup=new VXe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),Bi=xx.prototype;Bi.reasons=zg;Bi.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};Bi.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};Bi.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Px(function(r,n){return n.reqs-r.reqs});return e};Bi.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};Bi.getElement=function(t,e,r,n,i){var a=this,o=this.renderer,l=o.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(uP(l*r))),n=UXe||n>JO)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=o.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Pde?g=Pde:f<=PT?g=PT:g=Math.ceil(f/PT)*PT,f>YXe||d>HXe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=s(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;D--)S=a.getElement(t,e,r,D,zg.downscale);R()}else return a.queueElement(t,T.level-1),T;else{var L;if(!k&&!A&&!w)for(var P=n-1;P>=WT;P--){var M=u.get(t,P);if(M){L=M;break}}if(b(L))return a.queueElement(t,n),L;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+qXe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};Bi.invalidateElements=function(t){for(var e=0;e=XXe*t.width&&this.retireTexture(t)};Bi.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>jXe&&t.fullnessChecks>=KXe?yf(r,t):t.fullnessChecks++};Bi.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;yf(n,t),t.retired=!0;for(var a=t.eleCaches,o=0;o=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,cP(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),yf(i,o),n.push(o),o}};Bi.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),o=i[a];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};Bi.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,o=0;o0;o++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,zg.dequeue)}return i};Bi.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=oP,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};Bi.onDequeue=function(t){this.onDequeues.push(t)};Bi.offDequeue=function(t){yf(this.onDequeues,t)};Bi.setupDequeueing=mpe.setupDequeueing({deqRedrawThreshold:tje,deqCost:QXe,deqAvgCost:ZXe,deqNoDrawCost:JXe,deqFastCost:eje,deq:s(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:s(function(e,r){for(var n=0;n=aje||r>r7)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=s(function(){var R=s(function(F){if(n.validateLayersElesOrdering(F,t),n.levelIsComplete(F,t))return m=u[F],!0},"canUseAsTmpLvl"),D=s(function(F){if(!m)for(var I=r+F;kx<=I&&I<=r7&&!R(I);I+=F);},"checkLvls");D(1),D(-1);for(var L=f.length-1;L>=0;L--){var P=f[L];P.invalid&&yf(f,P)}},"checkTempLevels");if(!p)g();else return f;var y=s(function(){if(!d){d=Is();for(var R=0;Rdje)return null;var P=n.makeLayer(d,r);if(D!=null){var M=f.indexOf(D)+1;f.splice(M,0,P)}else(R.insert===void 0||R.insert)&&f.unshift(P);return P},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/ije,k=!l,A=0;A=b||!d0e(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||k?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),C[r]=x}return m||(k?null:f)};va.getEleLevelForLayerLevel=function(t,e){return t};va.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,o=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(o,!1),a.drawCachedElement(o,e,null,null,r,pje),a.setImgSmoothing(o,!0))};va.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||o.invalid)return!1;i+=o.eles.length}return i===e.length};va.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};va.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=qu(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,s(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};va.invalidateLayer=function(t){if(this.lastInvalidationTime=qu(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];yf(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,k=s(function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(o.eleStrokeStyle(t,e,F),o.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,o.eleStrokeStyle(t,e,F),o.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),A=s(function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)o.colorStrokeStyle(t,v[0],v[1],v[2],F);else{t.lineCap="butt";return}d==="straight-triangle"?o.drawEdgeTrianglePath(e,t,l.allpts):(o.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=s(function(){i&&o.drawEdgeOverlay(t,e)},"drawOverlay"),T=s(function(){i&&o.drawEdgeUnderlay(t,e)},"drawUnderlay"),C=s(function(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;o.drawArrowheads(t,e,F)},"drawArrows"),E=s(function(){o.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var R=e.pstyle("ghost-offset-x").pfValue,D=e.pstyle("ghost-offset-y").pfValue,L=e.pstyle("ghost-opacity").value,P=x*L;t.translate(R,D),k(P),C(P),t.translate(-R,-D)}else A();T(),k(),C(),w(),E(),r&&t.translate(u.x1,u.y1)}};vpe=s(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,o=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!o?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");ju.drawEdgeOverlay=vpe("overlay");ju.drawEdgeUnderlay=vpe("underlay");ju.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,o,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(o=e=i.pathCache,l=!0):(o=e=new Path2D,i.pathCacheKey=d,i.pathCache=o)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(n==null){if(a&&!o.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=o.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(o.drawText(t,e,null,m,a),e.isEdge()&&(o.drawText(t,e,"source",m,a),o.drawText(t,e,"target",m,a))):o.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};z0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+o+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};s($O,"roundRect");z0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",o=t.pstyle(a+"text-rotation"),l=Al(i,"labelAngle",e);return o.strValue==="autorotate"?r=t.isEdge()?l:0:o.strValue==="none"?r=0:r=o.pfValue,r};z0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,o=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=Al(o,"labelX",r),h=Al(o,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=Al(o,"labelWidth",r),y=Al(o,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),k=e.pstyle("text-halign").value,A=e.pstyle("text-valign").value;b&&(k="center",A="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),A){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var T=e.pstyle("text-background-opacity").value,C=e.pstyle("text-border-opacity").value,E=e.pstyle("text-border-width").pfValue,S=e.pstyle("text-background-padding").pfValue,R=e.pstyle("text-background-shape").strValue,D=R.indexOf("round")===0,L=2;if(T>0||E>0&&C>0){var P=u-S;switch(k){case"left":P-=g;break;case"center":P-=g/2;break}var M=h-y-S,F=g+2*S,I=y+2*S;if(T>0){var O=t.fillStyle,z=e.pstyle("text-background-color").value;t.fillStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+T*l+")",D?$O(t,P,M,F,I,L):t.fillRect(P,M,F,I),t.fillStyle=O}if(E>0&&C>0){var N=t.strokeStyle,U=t.lineWidth,$=e.pstyle("text-border-color").value,W=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+$[0]+","+$[1]+","+$[2]+","+C*l+")",t.lineWidth=E,t.setLineDash)switch(W){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=E/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(D?$O(t,P,M,F,I,L,"stroke"):t.strokeRect(P,M,F,I),W==="double"){var ee=E/2;D?$O(t,P+ee,M+ee,F-ee*2,I-ee*2,L,"stroke"):t.strokeRect(P+ee,M+ee,F-ee*2,I-ee*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=U,t.strokeStyle=N}}var te=2*e.pstyle("text-outline-width").pfValue;if(te>0&&(t.lineWidth=te),e.pstyle("text-wrap").value==="wrap"){var ce=Al(o,"labelWrapCachedLines",r),Z=Al(o,"labelLineHeight",r),fe=g/2,ne=this.getLabelJustification(e);switch(ne==="auto"||(k==="left"?ne==="left"?u+=-g:ne==="center"&&(u+=-fe):k==="center"?ne==="left"?u+=-fe:ne==="right"&&(u+=fe):k==="right"&&(ne==="center"?u+=fe:ne==="right"&&(u+=g))),A){case"top":h-=(ce.length-1)*Z;break;case"center":case"bottom":h-=(ce.length-1)*Z;break}for(var H=0;H0&&t.strokeText(ce[H],u,h),t.fillText(ce[H],u,h),h+=Z}else te>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};n1={};n1.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!rt(d.x)||!rt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=o.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),k=b.value,A=new Array(k.length),w=new Array(k.length),T=0,C=0;C0&&arguments[0]!==void 0?arguments[0]:P;o.eleFillStyle(t,e,pe)},"setupShapeColor"),H=s(function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;o.colorStrokeStyle(t,M[0],M[1],M[2],pe)},"setupBorderColor"),Q=s(function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce;o.colorStrokeStyle(t,ee[0],ee[1],ee[2],pe)},"setupOutlineColor"),K=s(function(pe,de,Ie,Ne){var Be=o.nodePathCache=o.nodePathCache||[],ze=a0e(Ie==="polygon"?Ie+","+Ne.join(","):Ie,""+de,""+pe,""+fe),qe=Be[ze],Fe,we=!1;return qe!=null?(Fe=qe,we=!0,f.pathCache=Fe):(Fe=new Path2D,Be[ze]=f.pathCache=Fe),{path:Fe,cacheHit:we}},"getPath"),re=e.pstyle("shape").strValue,ie=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var ye=K(l,u,re,ie);g=ye.path,y=ye.cacheHit}var j=s(function(){if(!y){var pe=d;m&&(pe={x:0,y:0}),o.nodeShapes[o.getNodeShape(e)].draw(g||t,pe.x,pe.y,l,u,fe,f)}m?t.fill(g):t.fill()},"drawShape"),De=s(function(){for(var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Ie=h.backgrounding,Ne=0,Be=0;Be0&&arguments[0]!==void 0?arguments[0]:!1,de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;o.hasPie(e)&&(o.drawPie(t,e,de),pe&&(m||o.nodeShapes[o.getNodeShape(e)].draw(t,d.x,d.y,l,u,fe,f)))},"drawPie"),Re=s(function(){var pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,de=(D>0?D:-D)*pe,Ie=D>0?0:255;D!==0&&(o.colorFillStyle(t,Ie,Ie,Ie,de),m?t.fill(g):t.fill())},"darken"),Pe=s(function(){if(L>0){if(t.lineWidth=L,t.lineCap=O,t.lineJoin=I,t.setLineDash)switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(N),t.lineDashOffset=U;break;case"solid":case"double":t.setLineDash([]);break}if(z!=="center"){if(t.save(),t.lineWidth*=2,z==="inside")m?t.clip(g):t.clip();else{var pe=new Path2D;pe.rect(-l/2-L,-u/2-L,l+2*L,u+2*L),pe.addPath(g),t.clip(pe,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(F==="double"){t.lineWidth=L/3;var de=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=de}t.setLineDash&&t.setLineDash([])}},"drawBorder"),Se=s(function(){if(W>0){if(t.lineWidth=W,t.lineCap="butt",t.setLineDash)switch(te){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var pe=d;m&&(pe={x:0,y:0});var de=o.getNodeShape(e),Ie=L;z==="inside"&&(Ie=0),z==="outside"&&(Ie*=2);var Ne=(l+Ie+(W+Z))/l,Be=(u+Ie+(W+Z))/u,ze=l*Ne,qe=u*Be,Fe=o.nodeShapes[de].points,we;if(m){var Je=K(ze,qe,de,Fe);we=Je.path}if(de==="ellipse")o.drawEllipsePath(we||t,pe.x,pe.y,ze,qe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(de)){var We=0,or=0,Cr=0;de==="round-diamond"?We=(Ie+Z+W)*1.4:de==="round-heptagon"?(We=(Ie+Z+W)*1.075,Cr=-(Ie/2+Z+W)/35):de==="round-hexagon"?We=(Ie+Z+W)*1.12:de==="round-pentagon"?(We=(Ie+Z+W)*1.13,Cr=-(Ie/2+Z+W)/15):de==="round-tag"?(We=(Ie+Z+W)*1.12,or=(Ie/2+W+Z)*.07):de==="round-triangle"&&(We=(Ie+Z+W)*(Math.PI/2),Cr=-(Ie+Z/2+W)/Math.PI),We!==0&&(Ne=(l+We)/l,ze=l*Ne,["round-hexagon","round-tag"].includes(de)||(Be=(u+We)/u,qe=u*Be)),fe=fe==="auto"?g0e(ze,qe):fe;for(var Ut=ze/2,ar=qe/2,ut=fe+(Ie+W+Z)/2,Rt=new Array(Fe.length/2),Qe=new Array(Fe.length/2),Dt=0;Dt0){if(i=i||n.position(),a==null||o==null){var m=n.padding();a=n.width()+2*m,o=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,o+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");n1.drawNodeOverlay=xpe("overlay");n1.drawNodeUnderlay=xpe("underlay");n1.hasPie=function(t){return t=t[0],t._private.hasPie};n1.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),o=n.x,l=n.y,u=e.width(),h=e.height(),f=Math.min(u,h)/2,d=0,p=this.usePaths();p&&(o=0,l=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2);for(var m=1;m<=i.pieBackgroundN;m++){var g=e.pstyle("pie-"+m+"-background-size").value,y=e.pstyle("pie-"+m+"-background-color").value,v=e.pstyle("pie-"+m+"-background-opacity").value*r,x=g/100;x+d>1&&(x=1-d);var b=1.5*Math.PI+2*Math.PI*d,k=2*Math.PI*x,A=b+k;g===0||d>=1||d+x>1||(t.beginPath(),t.moveTo(o,l),t.arc(o,l,f,b,A),t.closePath(),this.colorFillStyle(t,y[0],y[1],y[2],v),t.fill(),d+=x)}};lo={},Cje=100;lo.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};lo.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(f[o.NODE]=!0,f[o.SELECT_BOX]=!0);var b=u.style(),k=u.zoom(),A=i!==void 0?i:k,w=u.pan(),T={x:w.x,y:w.y},C={zoom:k,pan:{x:w.x,y:w.y}},E=o.prevViewport,S=E===void 0||C.zoom!==E.zoom||C.pan.x!==E.pan.x||C.pan.y!==E.pan.y;!S&&!(y&&!g)&&(o.motionBlurPxRatio=1),a&&(T=a),A*=l,T.x*=l,T.y*=l;var R=o.getCachedZSortedEles();function D(ye,j,De,oe,Re){var Pe=ye.globalCompositeOperation;ye.globalCompositeOperation="destination-out",o.colorFillStyle(ye,255,255,255,o.motionBlurTransparency),ye.fillRect(j,De,oe,Re),ye.globalCompositeOperation=Pe}s(D,"mbclear");function L(ye,j){var De,oe,Re,Pe;!o.clearingMotionBlur&&(ye===h.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]||ye===h.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG])?(De={x:w.x*m,y:w.y*m},oe=k*m,Re=o.canvasWidth*m,Pe=o.canvasHeight*m):(De=T,oe=A,Re=o.canvasWidth,Pe=o.canvasHeight),ye.setTransform(1,0,0,1,0,0),j==="motionBlur"?D(ye,0,0,Re,Pe):!e&&(j===void 0||j)&&ye.clearRect(0,0,Re,Pe),r||(ye.translate(De.x,De.y),ye.scale(oe,oe)),a&&ye.translate(a.x,a.y),i&&ye.scale(i,i)}if(s(L,"setContextTransform"),d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var P=o.data.bufferContexts[o.TEXTURE_BUFFER];P.setTransform(1,0,0,1,0,0),P.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:P,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult});var C=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight};C.mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}f[o.DRAG]=!1,f[o.NODE]=!1;var M=h.contexts[o.NODE],F=o.textureCache.texture,C=o.textureCache.viewport;M.setTransform(1,0,0,1,0,0),p?D(M,0,0,C.width,C.height):M.clearRect(0,0,C.width,C.height);var I=b.core("outside-texture-bg-color").value,O=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(M,I[0],I[1],I[2],O),M.fillRect(0,0,C.width,C.height);var k=u.zoom();L(M,!1),M.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/l,C.height/C.zoom/l),M.drawImage(F,C.mpan.x,C.mpan.y,C.width/C.zoom/l,C.height/C.zoom/l)}else o.textureOnViewport&&!e&&(o.textureCache=null);var z=u.extent(),N=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),U=o.hideEdgesOnViewport&&N,$=[];if($[o.NODE]=!f[o.NODE]&&p&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,$[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),$[o.DRAG]=!f[o.DRAG]&&p&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,$[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),f[o.NODE]||r||n||$[o.NODE]){var W=p&&!$[o.NODE]&&m!==1,M=e||(W?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:h.contexts[o.NODE]),ee=p&&!W?"motionBlur":void 0;L(M,ee),U?o.drawCachedNodes(M,R.nondrag,l,z):o.drawLayeredElements(M,R.nondrag,l,z),o.debug&&o.drawDebugPoints(M,R.nondrag),!r&&!p&&(f[o.NODE]=!1)}if(!n&&(f[o.DRAG]||r||$[o.DRAG])){var W=p&&!$[o.DRAG]&&m!==1,M=e||(W?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:h.contexts[o.DRAG]);L(M,p&&!W?"motionBlur":void 0),U?o.drawCachedNodes(M,R.drag,l,z):o.drawCachedElements(M,R.drag,l,z),o.debug&&o.drawDebugPoints(M,R.drag),!r&&!p&&(f[o.DRAG]=!1)}if(o.showFps||!n&&f[o.SELECT_BOX]&&!r){var M=e||h.contexts[o.SELECT_BOX];if(L(M),o.selection[4]==1&&(o.hoverData.selecting||o.touchData.selecting)){var k=o.cy.zoom(),te=b.core("selection-box-border-width").value/k;M.lineWidth=te,M.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",M.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),te>0&&(M.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",M.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(h.bgActivePosistion&&!o.hoverData.selecting){var k=o.cy.zoom(),ce=h.bgActivePosistion;M.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",M.beginPath(),M.arc(ce.x,ce.y,b.core("active-bg-size").pfValue/k,0,2*Math.PI),M.fill()}var Z=o.lastRedrawTime;if(o.showFps&&Z){Z=Math.round(Z);var fe=Math.round(1e3/Z);M.setTransform(1,0,0,1,0,0),M.fillStyle="rgba(255, 0, 0, 0.75)",M.strokeStyle="rgba(255, 0, 0, 0.75)",M.lineWidth=1,M.fillText("1 frame = "+Z+" ms = "+fe+" fps",0,20);var ne=60;M.strokeRect(0,30,250,20),M.fillRect(0,30,250*Math.min(fe/ne,1),20)}r||(f[o.SELECT_BOX]=!1)}if(p&&m!==1){var H=h.contexts[o.NODE],Q=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],K=h.contexts[o.DRAG],re=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],ie=s(function(j,De,oe){j.setTransform(1,0,0,1,0,0),oe||!x?j.clearRect(0,0,o.canvasWidth,o.canvasHeight):D(j,0,0,o.canvasWidth,o.canvasHeight);var Re=m;j.drawImage(De,0,0,o.canvasWidth*Re,o.canvasHeight*Re,0,0,o.canvasWidth,o.canvasHeight)},"drawMotionBlur");(f[o.NODE]||$[o.NODE])&&(ie(H,Q,$[o.NODE]),f[o.NODE]=!1),(f[o.DRAG]||$[o.DRAG])&&(ie(K,re,$[o.DRAG]),f[o.DRAG]=!1)}o.prevViewport=C,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),p&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,f[o.NODE]=!0,f[o.DRAG]=!0,o.redraw()},Cje)),e||u.emit("render")};wf={};wf.drawPolygonPath=function(t,e,r,n,i,a){var o=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*a[0],r+l*a[1]);for(var u=1;u0&&o>0){m.clearRect(0,0,a,o),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,o),m.fill())}return p};s(Sje,"b64ToBlob");s(Ude,"b64UriToB64");s(kpe,"output");Gx.png=function(t){return kpe(t,this.bufferCanvasImage(t),"image/png")};Gx.jpg=function(t){return kpe(t,this.bufferCanvasImage(t),"image/jpeg")};wpe={};wpe.nodeShapeImpl=function(t,e,r,n,i,a,o,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,o,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,o,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};_je=Tpe,Fr=Tpe.prototype;Fr.CANVAS_LAYERS=3;Fr.SELECT_BOX=0;Fr.DRAG=1;Fr.NODE=2;Fr.BUFFER_COUNT=3;Fr.TEXTURE_BUFFER=0;Fr.MOTIONBLUR_BUFFER_NODE=1;Fr.MOTIONBLUR_BUFFER_DRAG=2;s(Tpe,"CanvasRenderer");Fr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Fr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Fr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Fr.SELECT_BOX]=e;break}};Aje=typeof Path2D<"u";Fr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Fr.usePaths=function(){return Aje&&this.pathsEnabled};Fr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Fr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Fr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":Pi(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[ype,Pc,ju,SP,z0,n1,lo,wf,Gx,wpe].forEach(function(t){Pt(Fr,t)});Lje=[{name:"null",impl:ipe},{name:"base",impl:ppe},{name:"canvas",impl:_je}],Dje=[{type:"layout",extensions:PXe},{type:"renderer",extensions:Lje}],Epe={},Cpe={};s(Spe,"setExtension");s(_pe,"getExtension");s(Rje,"setModule");s(Mje,"getModule");rP=s(function(){if(arguments.length===2)return _pe.apply(null,arguments);if(arguments.length===3)return Spe.apply(null,arguments);if(arguments.length===4)return Mje.apply(null,arguments);if(arguments.length===5)return Rje.apply(null,arguments);Jn("Invalid extension access syntax")},"extension");Mx.prototype.extension=rP;Dje.forEach(function(t){t.extensions.forEach(function(e){Spe(t.type,e.name,e.impl)})});Ape=s(function t(){if(!(this instanceof t))return new t;this.length=0},"Stylesheet"),B0=Ape.prototype;B0.instanceString=function(){return"stylesheet"};B0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};B0.css=function(t,e){var r=this.length-1;if(At(t))this[r].properties.push({name:t,value:e});else if(Er(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";s(function(e,r){typeof Vx=="object"&&typeof _P=="object"?_P.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Vx=="object"?Vx.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(Vx,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return s(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?s(function(){return n.default},"getDefault"):s(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)}([function(t,e,r){"use strict";function n(){}s(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function o(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}s(o,"LEdge"),o.prototype=Object.create(n.prototype);for(var l in n)o[l]=n[l];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},o.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=o},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}s(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),o=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}s(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>o.WORLD_BOUNDARY?p=o.WORLD_BOUNDARY:p<-o.WORLD_BOUNDARY&&(p=-o.WORLD_BOUNDARY);var m=this.rect.y;m>o.WORLD_BOUNDARY?m=o.WORLD_BOUNDARY:m<-o.WORLD_BOUNDARY&&(m=-o.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}s(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),o=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof o?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}s(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,k=0;k-1&&T>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(T,1);var A=x.source.owner.getEdges().indexOf(x);if(A==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(A,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,k=this.getNodes(),A=k.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(k[0].getParent().paddingLeft!=null?b=k[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,k,A,w,T,C,E=this.nodes,S=E.length,R=0;Rk&&(y=k),vw&&(x=w),bk&&(y=k),vw&&(x=w),b=this.nodes.length){var S=0;v.forEach(function(R){R.owner==g&&S++}),S==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(o){n=r(5),this.layout=o,this.graphs=[],this.edges=[]}s(a,"LGraphManager"),a.prototype.addRoot=function(){var o=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(o,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(o,l,u,h,f){if(u==null&&h==null&&f==null){if(o==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(o)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(o),o.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return o.parent=l,l.child=o,o}else{f=u,h=l,u=o;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(o){if(o instanceof n){var l=o;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=o.getRight()?l[0]+=Math.min(o.getX()-a.getX(),a.getRight()-o.getRight()):o.getX()<=a.getX()&&o.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-o.getX(),o.getRight()-a.getRight())),a.getY()<=o.getY()&&a.getBottom()>=o.getBottom()?l[1]+=Math.min(o.getY()-a.getY(),a.getBottom()-o.getBottom()):o.getY()<=a.getY()&&o.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-o.getY(),o.getBottom()-a.getBottom()));var f=Math.abs((o.getCenterY()-a.getCenterY())/(o.getCenterX()-a.getCenterX()));o.getCenterY()===a.getCenterY()&&o.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=E,!1;if(hf)return l[0]=p,l[1]=h,l[2]=T,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,L=!0):(l[0]=g,l[1]=m,L=!0):M===I&&(u>f?(l[0]=p,l[1]=m,L=!0):(l[0]=x,l[1]=v,L=!0)),-F===I?f>u?(l[2]=C,l[3]=E,P=!0):(l[2]=T,l[3]=w,P=!0):F===I&&(f>u?(l[2]=A,l[3]=w,P=!0):(l[2]=S,l[3]=E,P=!0)),L&&P)return!1;if(u>f?h>d?(O=this.getCardinalDirection(M,I,4),z=this.getCardinalDirection(F,I,2)):(O=this.getCardinalDirection(-M,I,3),z=this.getCardinalDirection(-F,I,1)):h>d?(O=this.getCardinalDirection(-M,I,1),z=this.getCardinalDirection(-F,I,3)):(O=this.getCardinalDirection(M,I,2),z=this.getCardinalDirection(F,I,4)),!L)switch(O){case 1:U=m,N=u+-k/I,l[0]=N,l[1]=U;break;case 2:N=x,U=h+b*I,l[0]=N,l[1]=U;break;case 3:U=v,N=u+k/I,l[0]=N,l[1]=U;break;case 4:N=y,U=h+-b*I,l[0]=N,l[1]=U;break}if(!P)switch(z){case 1:W=w,$=f+-D/I,l[2]=$,l[3]=W;break;case 2:$=S,W=d+R*I,l[2]=$,l[3]=W;break;case 3:W=E,$=f+D/I,l[2]=$,l[3]=W;break;case 4:$=C,W=d+-R*I,l[2]=$,l[3]=W;break}}return!1},i.getCardinalDirection=function(a,o,l){return a>o?l:1+l%4},i.getIntersection=function(a,o,l,u){if(u==null)return this.getIntersection2(a,o,l);var h=a.x,f=a.y,d=o.x,p=o.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,k=void 0,A=void 0,w=void 0,T=void 0,C=void 0,E=void 0,S=void 0;return k=p-f,w=h-d,C=d*f-h*p,A=v-g,T=m-y,E=y*g-m*v,S=k*T-A*w,S===0?null:(x=(w*E-T*C)/S,b=(A*C-k*E)/S,new n(x,b))},i.angleOfVector=function(a,o,l,u){var h=void 0;return a!==l?(h=Math.atan((u-o)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}s(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||o!="object"&&o!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(k.push(w[0]);k.length>0&&g;){var T=k[0];k.splice(0,1),b.add(T);for(var C=T.getEdges(),x=0;x-1&&w.splice(D,1)}b=new Set,A=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(E,1);var S=A.getNeighborsList();S.forEach(function(L){if(y.indexOf(L)<0){var P=v.get(L),M=P-1;M==1&&T.push(L),v.set(L,M)}})}y=y.concat(T),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}s(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(4);function i(a,o){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var o=0,l=this.lworldExtX;return l!=0&&(o=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),o},i.prototype.transformY=function(a){var o=0,l=this.lworldExtY;return l!=0&&(o=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),o},i.prototype.inverseTransformX=function(a){var o=0,l=this.ldeviceExtX;return l!=0&&(o=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),o},i.prototype.inverseTransformY=function(a){var o=0,l=this.ldeviceExtY;return l!=0&&(o=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),o},i.prototype.inverseTransformPoint=function(a){var o=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return o},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mk||b>k)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(k=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>k||b>k)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||k>=x[0].length)){for(var A=0;Ah},"_defaultCompareFunction")}]),l}();t.exports=o},function(t,e,r){"use strict";var n=function(){function o(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,o),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===o&&this.listeners.splice(l,1)}},i.emit=function(a,o){for(var l=0;l{"use strict";s(function(e,r){typeof Ux=="object"&&typeof LP=="object"?LP.exports=r(AP()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof Ux=="object"?Ux.coseBase=r(AP()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(Ux,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return s(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:o})},n.n=function(i){var a=i&&i.__esModule?s(function(){return i.default},"getDefault"):s(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}s(a,"CoSEConstants");for(var o in i)a[o]=i[o];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}s(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var o in i)a[o]=i[o];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}s(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var o in i)a[o]=i[o];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}s(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var o in i)a[o]=i[o];e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function o(u,h,f,d){i.call(this,u,h,f,d)}s(o,"CoSENode"),o.prototype=Object.create(i.prototype);for(var l in i)o[l]=i[l];o.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var T=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(E){return T.has(E)});this.graphManager.setAllNodesToApplyGravitation(C),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},k.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var w=new Set(this.getAllNodes()),T=this.nodesWithGravity.filter(function(S){return w.has(S)});this.graphManager.setAllNodesToApplyGravitation(T),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var C=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(C,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},k.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),T={},C=0;C1){var L;for(L=0;LE&&(E=Math.floor(D.y)),R=Math.floor(D.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-D.x/2,d.WORLD_CENTER_Y-D.y/2))},k.radialLayout=function(w,T,C){var E=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);k.branchRadialLayout(T,null,0,359,0,E);var S=x.calculateBounds(w),R=new b;R.setDeviceOrgX(S.getMinX()),R.setDeviceOrgY(S.getMinY()),R.setWorldOrgX(C.x),R.setWorldOrgY(C.y);for(var D=0;D1;){var ee=W[0];W.splice(0,1);var te=O.indexOf(ee);te>=0&&O.splice(te,1),U--,z--}T!=null?$=(O.indexOf(W[0])+1)%U:$=0;for(var ce=Math.abs(E-C)/z,Z=$;N!=z;Z=++Z%U){var fe=O[Z].getOtherEnd(w);if(fe!=T){var ne=(C+N*ce)%360,H=(ne+ce)%360;k.branchRadialLayout(fe,w,ne,H,S+R,R),N++}}},k.maxDiagonalInTree=function(w){for(var T=y.MIN_VALUE,C=0;CT&&(T=S)}return T},k.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},k.prototype.groupZeroDegreeMembers=function(){var w=this,T={};this.memberGroups={},this.idToDummyNode={};for(var C=[],E=this.graphManager.getAllNodes(),S=0;S"u"&&(T[L]=[]),T[L]=T[L].concat(R)}Object.keys(T).forEach(function(P){if(T[P].length>1){var M="DummyCompound_"+P;w.memberGroups[M]=T[P];var F=T[P][0].getParent(),I=new l(w.graphManager);I.id=M,I.paddingLeft=F.paddingLeft||0,I.paddingRight=F.paddingRight||0,I.paddingBottom=F.paddingBottom||0,I.paddingTop=F.paddingTop||0,w.idToDummyNode[M]=I;var O=w.getGraphManager().add(w.newGraph(),I),z=F.getChild();z.add(I);for(var N=0;N=0;w--){var T=this.compoundOrder[w],C=T.id,E=T.paddingLeft,S=T.paddingTop;this.adjustLocations(this.tiledMemberPack[C],T.rect.x,T.rect.y,E,S)}},k.prototype.repopulateZeroDegreeMembers=function(){var w=this,T=this.tiledZeroDegreePack;Object.keys(T).forEach(function(C){var E=w.idToDummyNode[C],S=E.paddingLeft,R=E.paddingTop;w.adjustLocations(T[C],E.rect.x,E.rect.y,S,R)})},k.prototype.getToBeTiled=function(w){var T=w.id;if(this.toBeTiled[T]!=null)return this.toBeTiled[T];var C=w.getChild();if(C==null)return this.toBeTiled[T]=!1,!1;for(var E=C.getNodes(),S=0;S0)return this.toBeTiled[T]=!1,!1;if(R.getChild()==null){this.toBeTiled[R.id]=!1;continue}if(!this.getToBeTiled(R))return this.toBeTiled[T]=!1,!1}return this.toBeTiled[T]=!0,!0},k.prototype.getNodeDegree=function(w){for(var T=w.id,C=w.getEdges(),E=0,S=0;SP&&(P=F.rect.height)}C+=P+w.verticalPadding}},k.prototype.tileCompoundMembers=function(w,T){var C=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(E){var S=T[E];C.tiledMemberPack[E]=C.tileNodes(w[E],S.paddingLeft+S.paddingRight),S.rect.width=C.tiledMemberPack[E].width,S.rect.height=C.tiledMemberPack[E].height})},k.prototype.tileNodes=function(w,T){var C=h.TILING_PADDING_VERTICAL,E=h.TILING_PADDING_HORIZONTAL,S={rows:[],rowWidth:[],rowHeight:[],width:0,height:T,verticalPadding:C,horizontalPadding:E};w.sort(function(L,P){return L.rect.width*L.rect.height>P.rect.width*P.rect.height?-1:L.rect.width*L.rect.height0&&(D+=w.horizontalPadding),w.rowWidth[C]=D,w.width0&&(L+=w.verticalPadding);var P=0;L>w.rowHeight[C]&&(P=w.rowHeight[C],w.rowHeight[C]=L,P=w.rowHeight[C]-P),w.height+=P,w.rows[C].push(T)},k.prototype.getShortestRowIndex=function(w){for(var T=-1,C=Number.MAX_VALUE,E=0;EC&&(T=E,C=w.rowWidth[E]);return T},k.prototype.canAddHorizontal=function(w,T,C){var E=this.getShortestRowIndex(w);if(E<0)return!0;var S=w.rowWidth[E];if(S+w.horizontalPadding+T<=w.width)return!0;var R=0;w.rowHeight[E]0&&(R=C+w.verticalPadding-w.rowHeight[E]);var D;w.width-S>=T+w.horizontalPadding?D=(w.height+R)/(S+T+w.horizontalPadding):D=(w.height+R)/w.width,R=C+w.verticalPadding;var L;return w.widthR&&T!=C){E.splice(-1,1),w.rows[C].push(S),w.rowWidth[T]=w.rowWidth[T]-R,w.rowWidth[C]=w.rowWidth[C]+R,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var D=Number.MIN_VALUE,L=0;LD&&(D=E[L].height);T>0&&(D+=w.verticalPadding);var P=w.rowHeight[T]+w.rowHeight[C];w.rowHeight[T]=D,w.rowHeight[C]0)for(var z=S;z<=R;z++)O[0]+=this.grid[z][D-1].length+this.grid[z][D].length-1;if(R0)for(var z=D;z<=L;z++)O[3]+=this.grid[S-1][z].length+this.grid[S][z].length-1;for(var N=y.MAX_VALUE,U,$,W=0;W{"use strict";s(function(e,r){typeof qx=="object"&&typeof RP=="object"?RP.exports=r(DP()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof qx=="object"?qx.cytoscapeCoseBilkent=r(DP()):e.cytoscapeCoseBilkent=r(e.coseBase)},"webpackUniversalModuleDefinition")(qx,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return s(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,o){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:o})},n.n=function(i){var a=i&&i.__esModule?s(function(){return i.default},"getDefault"):s(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,o=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:s(function(){},"ready"),stop:s(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var k in v)b[k]=v[k];for(var k in x)b[k]=x[k];return b}s(p,"extend");function m(v){this.options=p(d,v),g(this.options)}s(m,"_CoSELayout");var g=s(function(x){x.nodeRepulsion!=null&&(o.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(o.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(o.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(o.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(o.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,o.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,o.TILE=x.tile,o.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,k=this.idToLNode={},A=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var T=A.newGraphManager();this.gm=T;var C=this.options.eles.nodes(),E=this.options.eles.edges();this.root=T.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(C),A);for(var S=0;S0){var L;L=b.getGraphManager().add(b.newGraph(),C),this.processChildrenList(L,T,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=s(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y}])})});function $je(t,e,r,n,i){return t.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+(i.width-e)/2+", "+r+")")}var Nje,Oje,Pje,Bje,Fje,zje,Gje,Vje,Rpe,Mpe,Ipe=_(()=>{"use strict";ic();pr();Nje=12,Oje=s(function(t,e,r,n){e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 ${r.height-5} v${-r.height+2*5} q0,-5 5,-5 h${r.width-2*5} q5,0 5,5 v${r.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)},"defaultBkg"),Pje=s(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("width",r.width)},"rectBkg"),Bje=s(function(t,e,r){let n=r.width,i=r.height,a=.15*n,o=.25*n,l=.35*n,u=.2*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${n*.25},${-1*n*.1} +`,"getStyles"),jde=fHe});var Qde={};hr(Qde,{diagram:()=>dHe});var dHe,Zde=R(()=>{"use strict";Lde();$de();Xde();Kde();dHe={db:mP,renderer:qde,parser:_de,styles:jde}});var yP,t0e,r0e=R(()=>{"use strict";yP=function(){var t=o(function(S,T,E,_){for(E=E||{},_=S.length;_--;E[S[_]]=T);return E},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(T,E,_,A,L,M,N){var k=M.length-1;switch(L){case 6:case 7:return A;case 8:A.getLogger().trace("Stop NL ");break;case 9:A.getLogger().trace("Stop EOF ");break;case 11:A.getLogger().trace("Stop NL2 ");break;case 12:A.getLogger().trace("Stop EOF2 ");break;case 15:A.getLogger().info("Node: ",M[k].id),A.addNode(M[k-1].length,M[k].id,M[k].descr,M[k].type);break;case 16:A.getLogger().trace("Icon: ",M[k]),A.decorateNode({icon:M[k]});break;case 17:case 21:A.decorateNode({class:M[k]});break;case 18:A.getLogger().trace("SPACELIST");break;case 19:A.getLogger().trace("Node: ",M[k].id),A.addNode(0,M[k].id,M[k].descr,M[k].type);break;case 20:A.decorateNode({icon:M[k]});break;case 25:A.getLogger().trace("node found ..",M[k-2]),this.$={id:M[k-1],descr:M[k-1],type:A.getType(M[k-2],M[k])};break;case 26:this.$={id:M[k],descr:M[k],type:A.nodeType.DEFAULT};break;case 27:A.getLogger().trace("node found ..",M[k-3]),this.$={id:M[k-3],descr:M[k-1],type:A.getType(M[k-2],M[k])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(T,E){if(E.recoverable)this.trace(T);else{var _=new Error(T);throw _.hash=E,_}},"parseError"),parse:o(function(T){var E=this,_=[0],A=[],L=[null],M=[],N=this.table,k="",I=0,C=0,O=0,D=2,P=1,F=M.slice.call(arguments,1),B=Object.create(this.lexer),G={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(G.yy[z]=this.yy[z]);B.setInput(T,G.yy),G.yy.lexer=B,G.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var Y=B.yylloc;M.push(Y);var Q=B.options&&B.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(ke){_.length=_.length-2*ke,L.length=L.length-ke,M.length=M.length-ke}o(X,"popStack");function ie(){var ke;return ke=A.pop()||B.lex()||P,typeof ke!="number"&&(ke instanceof Array&&(A=ke,ke=A.pop()),ke=E.symbols_[ke]||ke),ke}o(ie,"lex");for(var j,J,Z,H,q,K,se={},ce,ue,te,De;;){if(Z=_[_.length-1],this.defaultActions[Z]?H=this.defaultActions[Z]:((j===null||typeof j>"u")&&(j=ie()),H=N[Z]&&N[Z][j]),typeof H>"u"||!H.length||!H[0]){var oe="";De=[];for(ce in N[Z])this.terminals_[ce]&&ce>D&&De.push("'"+this.terminals_[ce]+"'");B.showPosition?oe="Parse error on line "+(I+1)+`: +`+B.showPosition()+` +Expecting `+De.join(", ")+", got '"+(this.terminals_[j]||j)+"'":oe="Parse error on line "+(I+1)+": Unexpected "+(j==P?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(oe,{text:B.match,token:this.terminals_[j]||j,line:B.yylineno,loc:Y,expected:De})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+j);switch(H[0]){case 1:_.push(j),L.push(B.yytext),M.push(B.yylloc),_.push(H[1]),j=null,J?(j=J,J=null):(C=B.yyleng,k=B.yytext,I=B.yylineno,Y=B.yylloc,O>0&&O--);break;case 2:if(ue=this.productions_[H[1]][1],se.$=L[L.length-ue],se._$={first_line:M[M.length-(ue||1)].first_line,last_line:M[M.length-1].last_line,first_column:M[M.length-(ue||1)].first_column,last_column:M[M.length-1].last_column},Q&&(se._$.range=[M[M.length-(ue||1)].range[0],M[M.length-1].range[1]]),K=this.performAction.apply(se,[k,C,I,G.yy,H[1],L,M].concat(F)),typeof K<"u")return K;ue&&(_=_.slice(0,-1*ue*2),L=L.slice(0,-1*ue),M=M.slice(0,-1*ue)),_.push(this.productions_[H[1]][0]),L.push(se.$),M.push(se._$),te=N[_[_.length-2]][_[_.length-1]],_.push(te);break;case 3:return!0}}return!0},"parse")},b=function(){var S={EOF:1,parseError:o(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:o(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:o(function(T){var E=T.length,_=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var L=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===A.length?this.yylloc.first_column:0)+A[A.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[L[0],L[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(T){this.unput(this.match.slice(T))},"less"),pastInput:o(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` +`+E+"^"},"showPosition"),test_match:o(function(T,E){var _,A,L;if(this.options.backtrack_lexer&&(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(L.yylloc.range=this.yylloc.range.slice(0))),A=T[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var M in L)this[M]=L[M];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,_,A;this._more||(this.yytext="",this.match="");for(var L=this._currentRules(),M=0;ME[0].length)){if(E=_,A=M,this.options.backtrack_lexer){if(T=this.test_match(_,L[M]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,L[A]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var E=this.next();return E||this.lex()},"lex"),begin:o(function(E){this.conditionStack.push(E)},"begin"),popState:o(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:o(function(E){this.begin(E)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(E,_,A,L){var M=L;switch(A){case 0:return E.getLogger().trace("Found comment",_.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:E.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return E.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:E.getLogger().trace("end icon"),this.popState();break;case 10:return E.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return E.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return E.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return E.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:E.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return E.getLogger().trace("description:",_.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),E.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),E.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),E.getLogger().trace("node end ...",_.yytext),"NODE_DEND";break;case 30:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return E.getLogger().trace("Long description:",_.yytext),20;break;case 36:return E.getLogger().trace("Long description:",_.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return S}();x.lexer=b;function w(){this.yy={}}return o(w,"Parser"),w.prototype=x,x.Parser=w,new w}();yP.parser=yP;t0e=yP});var $l,n0e,vP,yHe,vHe,xHe,bHe,Gi,wHe,THe,kHe,EHe,CHe,SHe,AHe,i0e,a0e=R(()=>{"use strict";_t();rr();ut();sl();$l=[],n0e=0,vP={},yHe=o(()=>{$l=[],n0e=0,vP={}},"clear"),vHe=o(function(t){for(let e=$l.length-1;e>=0;e--)if($l[e].level$l.length>0?$l[0]:null,"getMindmap"),bHe=o((t,e,r,n)=>{V.info("addNode",t,e,r,n);let i=de(),a=i.mindmap?.padding??mr.mindmap.padding;switch(n){case Gi.ROUNDED_RECT:case Gi.RECT:case Gi.HEXAGON:a*=2}let s={id:n0e++,nodeId:qr(e,i),level:t,descr:qr(r,i),type:n,children:[],width:i.mindmap?.maxNodeWidth??mr.mindmap.maxNodeWidth,padding:a},l=vHe(t);if(l)l.children.push(s),$l.push(s);else if($l.length===0)$l.push(s);else throw new Error('There can be only one root. No parent could be found for ("'+s.descr+'")')},"addNode"),Gi={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},wHe=o((t,e)=>{switch(V.debug("In get type",t,e),t){case"[":return Gi.RECT;case"(":return e===")"?Gi.ROUNDED_RECT:Gi.CLOUD;case"((":return Gi.CIRCLE;case")":return Gi.CLOUD;case"))":return Gi.BANG;case"{{":return Gi.HEXAGON;default:return Gi.DEFAULT}},"getType"),THe=o((t,e)=>{vP[t]=e},"setElementForId"),kHe=o(t=>{if(!t)return;let e=de(),r=$l[$l.length-1];t.icon&&(r.icon=qr(t.icon,e)),t.class&&(r.class=qr(t.class,e))},"decorateNode"),EHe=o(t=>{switch(t){case Gi.DEFAULT:return"no-border";case Gi.RECT:return"rect";case Gi.ROUNDED_RECT:return"rounded-rect";case Gi.CIRCLE:return"circle";case Gi.CLOUD:return"cloud";case Gi.BANG:return"bang";case Gi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),CHe=o(()=>V,"getLogger"),SHe=o(t=>vP[t],"getElementById"),AHe={clear:yHe,addNode:bHe,getMindmap:xHe,nodeType:Gi,getType:wHe,setElementForId:THe,decorateNode:kHe,type2Str:EHe,getLogger:CHe,getElementById:SHe},i0e=AHe});function Hi(t){"@babel/helpers - typeof";return Hi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hi(t)}function XP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s0e(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,l;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return a=u.done,u},"n"),e:o(function(u){s=!0,l=u},"e"),f:o(function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw l}},"f")}}function eYe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}function tYe(t,e){return e={exports:{}},t(e,e.exports),e.exports}function lYe(t){for(var e=t.length;e--&&oYe.test(t.charAt(e)););return e}function hYe(t){return t&&t.slice(0,cYe(t)+1).replace(uYe,"")}function gYe(t){var e=pYe.call(t,_x),r=t[_x];try{t[_x]=void 0;var n=!0}catch{}var i=mYe.call(t);return n&&(e?t[_x]=r:delete t[_x]),i}function bYe(t){return xYe.call(t)}function EYe(t){return t==null?t===void 0?kYe:TYe:u0e&&u0e in Object(t)?yYe(t):wYe(t)}function CYe(t){return t!=null&&typeof t=="object"}function _Ye(t){return typeof t=="symbol"||SYe(t)&&Rpe(t)==AYe}function MYe(t){if(typeof t=="number")return t;if(Jx(t))return h0e;if(V0(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=V0(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=fYe(t);var r=DYe.test(t);return r||RYe.test(t)?NYe(t.slice(2),r?2:8):LYe.test(t)?h0e:+t}function BYe(t,e,r){var n,i,a,s,l,u,h=0,f=!1,d=!1,p=!0;if(typeof t!="function")throw new TypeError(IYe);e=f0e(e)||0,V0(r)&&(f=!!r.leading,d="maxWait"in r,a=d?OYe(f0e(r.maxWait)||0,e):a,p="trailing"in r?!!r.trailing:p);function m(E){var _=n,A=i;return n=i=void 0,h=E,s=t.apply(A,_),s}o(m,"invokeFunc");function g(E){return h=E,l=setTimeout(x,e),f?m(E):s}o(g,"leadingEdge");function y(E){var _=E-u,A=E-h,L=e-_;return d?PYe(L,a-A):L}o(y,"remainingWait");function v(E){var _=E-u,A=E-h;return u===void 0||_>=e||_<0||d&&A>=a}o(v,"shouldInvoke");function x(){var E=xP();if(v(E))return b(E);l=setTimeout(x,y(E))}o(x,"timerExpired");function b(E){return l=void 0,p&&n?m(E):(n=i=void 0,s)}o(b,"trailingEdge");function w(){l!==void 0&&clearTimeout(l),h=0,n=u=i=l=void 0}o(w,"cancel");function S(){return l===void 0?s:b(xP())}o(S,"flush");function T(){var E=xP(),_=v(E);if(n=arguments,i=this,u=E,_){if(l===void 0)return g(u);if(d)return clearTimeout(l),l=setTimeout(x,e),m(u)}return l===void 0&&(l=setTimeout(x,e)),s}return o(T,"debounced"),T.cancel=w,T.flush=S,T}function z6(t,e,r,n,i,a){var s;return jn(t)?s=t:s=o1[t]||o1.euclidean,e===0&&jn(t)?s(i,a):s(e,r,n,i,a)}function Lqe(t,e){if($6(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Jx(t)?!0:_qe.test(t)||!Aqe.test(t)||e!=null&&t in Object(e)}function Oqe(t){if(!V0(t))return!1;var e=Rpe(t);return e==Nqe||e==Mqe||e==Rqe||e==Iqe}function Fqe(t){return!!N0e&&N0e in t}function Vqe(t){if(t!=null){try{return Gqe.call(t)}catch{}try{return t+""}catch{}}return""}function Qqe(t){if(!V0(t)||zqe(t))return!1;var e=Pqe(t)?Kqe:Yqe;return e.test(Uqe(t))}function Jqe(t,e){return t?.[e]}function tXe(t,e){var r=eXe(t,e);return Zqe(r)?r:void 0}function nXe(){this.__data__=Wx?Wx(null):{},this.size=0}function aXe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function uXe(t){var e=this.__data__;if(Wx){var r=e[t];return r===oXe?void 0:r}return cXe.call(e,t)?e[t]:void 0}function pXe(t){var e=this.__data__;return Wx?e[t]!==void 0:dXe.call(e,t)}function yXe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Wx&&e===void 0?gXe:e,this}function h1(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function RXe(t,e){var r=this.__data__,n=G6(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function f1(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function ume(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:mKe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?k=C:N=C;while(Math.abs(I)>s&&++O=a?b(M,O):D===0?O:S(M,N,N+h)}o(T,"getTForX");var E=!1;function _(){E=!0,(t!==e||r!==n)&&w()}o(_,"precompute");var A=o(function(N){return E||_(),t===e&&r===n?N:N===0?0:N===1?1:v(T(N),e,n)},"f");A.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var L="generateBezier("+[t,e,r,n]+")";return A.toString=function(){return L},A}function Q0e(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function Z0e(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function jg(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=Z0e(t,i),l=Z0e(e,i);if(ft(s)&&ft(l))return Q0e(a,s,l,r,n);if(vn(s)&&vn(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=v6[m].apply(null,g)):s.easingImpl=v6[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var w={};Nx(x.x,b.x)&&(w.x=jg(x.x,b.x,v,y)),Nx(x.y,b.y)&&(w.y=jg(x.y,b.y,v,y)),t.position(w)}var S=s.startPan,T=s.pan,E=a.pan,_=T!=null&&n;_&&(Nx(S.x,T.x)&&(E.x=jg(S.x,T.x,v,y)),Nx(S.y,T.y)&&(E.y=jg(S.y,T.y,v,y)),t.emit("pan"));var A=s.startZoom,L=s.zoom,M=L!=null&&n;M&&(Nx(A,L)&&(a.zoom=Hx(a.minZoom,jg(A,L,v,y),a.maxZoom)),t.emit("zoom")),(_||M)&&t.emit("viewport");var N=s.style;if(N&&N.length>0&&i){for(var k=0;k=0;_--){var A=E[_];A()}E.splice(0,E.length)},"callbacks"),b=m.length-1;b>=0;b--){var w=m[b],S=w._private;if(S.stopped){m.splice(b,1),S.hooked=!1,S.playing=!1,S.started=!1,x(S.frames);continue}!S.playing&&!S.applying||(S.playing&&S.applying&&(S.applying=!1),S.started||LKe(f,w,t),_Ke(f,w,t,d),S.applying&&(S.applying=!1),x(S.frames),S.step!=null&&S.step(t),w.completed()&&(m.splice(b,1),S.hooked=!1,S.playing=!1,S.started=!1,x(S.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Ame(t){this.options=Wt({},BKe,FKe,t)}function _me(t){this.options=Wt({},zKe,t)}function Lme(t){this.options=Wt({},$Ke,t)}function j6(t){this.options=Wt({},GKe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function Rme(t){this.options=Wt({},iQe,t)}function dB(t){this.options=Wt({},aQe,t)}function Nme(t){this.options=Wt({},sQe,t)}function Mme(t){this.options=Wt({},oQe,t)}function Ime(t){this.options=t,this.notifications=0}function Bme(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function mB(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(uQe(t,e,r,n,i),{cx:$P,cy:GP,radius:z0,startX:Ome,startY:Pme,stopX:VP,stopY:UP,startAngle:$c.ang+Math.PI/2*$0,endAngle:Jo.ang-Math.PI/2*$0,counterClockwise:w6})}function Fme(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.quadraticCurveTo(e+n,r,e+n,r+a),t.lineTo(e+n,r+i-a),t.quadraticCurveTo(e+n,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.quadraticCurveTo(e,r+i,e,r+i-a),t.lineTo(e,r+a),t.quadraticCurveTo(e,r,e+a,r),t.closePath(),s?t.stroke():t.fill()}function ZQe(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a{"use strict";o(Hi,"_typeof");o(XP,"_classCallCheck");o(s0e,"_defineProperties");o(jP,"_createClass");o(bpe,"_defineProperty$1");o(Gl,"_slicedToArray");o(_He,"_arrayWithHoles");o(LHe,"_iterableToArrayLimit");o(wpe,"_unsupportedIterableToArray");o(o0e,"_arrayLikeToArray");o(DHe,"_nonIterableRest");o(Tpe,"_createForOfIteratorHelper");Vi=typeof window>"u"?null:window,l0e=Vi?Vi.navigator:null;Vi&&Vi.document;RHe=Hi(""),kpe=Hi({}),NHe=Hi(function(){}),MHe=typeof HTMLElement>"u"?"undefined":Hi(HTMLElement),Qx=o(function(e){return e&&e.instanceString&&jn(e.instanceString)?e.instanceString():null},"instanceStr"),zt=o(function(e){return e!=null&&Hi(e)==RHe},"string"),jn=o(function(e){return e!=null&&Hi(e)===NHe},"fn"),vn=o(function(e){return!xo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Mr=o(function(e){return e!=null&&Hi(e)===kpe&&!vn(e)&&e.constructor===Object},"plainObject"),IHe=o(function(e){return e!=null&&Hi(e)===kpe},"object"),ft=o(function(e){return e!=null&&Hi(e)===Hi(1)&&!isNaN(e)},"number"),OHe=o(function(e){return ft(e)&&Math.floor(e)===e},"integer"),k6=o(function(e){if(MHe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),xo=o(function(e){return Zx(e)||Epe(e)},"elementOrCollection"),Zx=o(function(e){return Qx(e)==="collection"&&e._private.single},"element"),Epe=o(function(e){return Qx(e)==="collection"&&!e._private.single},"collection"),KP=o(function(e){return Qx(e)==="core"},"core"),Cpe=o(function(e){return Qx(e)==="stylesheet"},"stylesheet"),PHe=o(function(e){return Qx(e)==="event"},"event"),Sf=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),BHe=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),FHe=o(function(e){return Mr(e)&&ft(e.x1)&&ft(e.x2)&&ft(e.y1)&&ft(e.y2)},"boundingBox"),zHe=o(function(e){return IHe(e)&&jn(e.then)},"promise"),$He=o(function(){return l0e&&l0e.userAgent.match(/msie|trident|edge/i)},"ms"),$x=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),qHe=o(function(e,r){return-1*Ape(e,r)},"descending"),Wt=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+UHe+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),KHe=o(function(e){var r,n=new RegExp("^"+GHe+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),QHe=o(function(e){return JHe[e.toLowerCase()]},"colorname2tuple"),ZHe=o(function(e){return(vn(e)?e:null)||QHe(e)||XHe(e)||KHe(e)||jHe(e)},"color2tuple"),JHe={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},_pe=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:Zg,n=r,i;i=e.next(),!i.done;)n=n*Mpe+i.value|0;return n},"hashIterableInts"),Gx=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Zg;return r*Mpe+e|0},"hashInt"),Vx=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ix;return(r<<5)+r+e|0},"hashIntAlt"),zYe=o(function(e,r){return e*2097152+r},"combineHashes"),bf=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),r6=o(function(e,r){return[Gx(e[0],r[0]),Vx(e[1],r[1])]},"hashArrays"),$Ye=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0&&!(e[i]===r&&(e.splice(i,1),n));i--);},"removeFromArray"),eB=o(function(e){e.splice(0,e.length)},"clearArray"),qYe=o(function(e,r){for(var n=0;n"u"?"undefined":Hi(Set))!==jYe?Set:KYe,B6=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!KP(e)){oi("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){oi("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new c1,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];vn(r.classes)?h=r.classes:zt(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;fb?1:0},"defaultCmp"),f=o(function(x,b,w,S,T){var E;if(w==null&&(w=0),T==null&&(T=n),w<0)throw new Error("lo must be non-negative");for(S==null&&(S=x.length);wM;0<=M?L++:L--)A.push(L);return A}.apply(this).reverse(),_=[],S=0,T=E.length;SN;0<=N?++A:--A)k.push(s(x,w));return k},"nsmallest"),y=o(function(x,b,w,S){var T,E,_;for(S==null&&(S=n),T=x[w];w>b;){if(_=w-1>>1,E=x[_],S(T,E)<0){x[w]=E,w=_;continue}break}return x[w]=T},"_siftdown"),v=o(function(x,b,w){var S,T,E,_,A;for(w==null&&(w=n),T=x.length,A=b,E=x[b],S=2*b+1;S0;){var E=b.pop(),_=v(E),A=E.id();if(p[A]=_,_!==1/0)for(var L=E.neighborhood().intersect(g),M=0;M0)for(F.unshift(P);d[G];){var z=d[G];F.unshift(z.edge),F.unshift(z.node),B=z.node,G=B.id()}return l.spawn(F)},"pathTo")}},"dijkstra")},eWe={kruskal:o(function(e){e=e||function(w){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(S){for(var T=0;T0;){if(T(),_++,S===f){for(var A=[],L=a,M=f,N=x[M];A.unshift(L),N!=null&&A.unshift(N),L=v[M],L!=null;)M=L.id(),N=x[M];return{found:!0,distance:d[S],path:this.spawn(A),steps:_}}m[S]=!0;for(var k=w._private.edges,I=0;IN&&(g[M]=N,b[M]=L,w[M]=T),!a){var k=L*f+A;!a&&g[k]>N&&(g[k]=N,b[k]=A,w[k]=T)}}}for(var I=0;I1&&arguments[1]!==void 0?arguments[1]:s,Se=w(ke),Ue=[],Pe=Se;;){if(Pe==null)return r.spawn();var _e=b(Pe),me=_e.edge,W=_e.pred;if(Ue.unshift(Pe[0]),Pe.same(Ie)&&Ue.length>0)break;me!=null&&Ue.unshift(me),Pe=W}return u.spawn(Ue)},"pathTo"),E=0;E=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=lWe(a,e,r),n--}return r},"contractUntil"),cWe={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(F){return F.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/oWe);if(a<2){oi("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),mWe=o(function(e){return Math.PI*e/180},"deg2rad"),n6=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),tB=Math.log2||function(t){return Math.log(t)/Math.log(2)},Gpe=o(function(e){return e>0?1:e<0?-1:0},"signum"),H0=o(function(e,r){return Math.sqrt(B0(e,r))},"dist"),B0=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),gWe=o(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),vWe=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),xWe=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),bWe=o(function(e,r,n){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},"shiftBoundingBox"),Vpe=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),wWe=o(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),p6=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),m6=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var l=Gl(r,4);n=l[0],i=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),g0e=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),rB=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),s1=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),TWe=o(function(e,r){return s1(e,r.x,r.y)},"pointInBoundingBox"),Upe=o(function(e,r){return s1(e,r.x1,r.y1)&&s1(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),Hpe=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?Y0(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=kf(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var w=n+f+l,S=i-d+h-l,T=w,E=i+d-h+l;if(g=kf(e,r,n,i,w,S,T,E,!1),g.length>0)return g}if(p){var _=n-f+h-l,A=i+d+l,L=n+f-h+l,M=A;if(g=kf(e,r,n,i,_,A,L,M,!1),g.length>0)return g}if(m){var N=n-f-l,k=i-d+h-l,I=N,C=i+d-h+l;if(g=kf(e,r,n,i,N,k,I,C,!1),g.length>0)return g}var O;{var D=n-f+h,P=i-d+h;if(O=Ox(e,r,n,i,D,P,h+l),O.length>0&&O[0]<=D&&O[1]<=P)return[O[0],O[1]]}{var F=n+f-h,B=i-d+h;if(O=Ox(e,r,n,i,F,B,h+l),O.length>0&&O[0]>=F&&O[1]<=B)return[O[0],O[1]]}{var G=n+f-h,z=i+d-h;if(O=Ox(e,r,n,i,G,z,h+l),O.length>0&&O[0]>=G&&O[1]>=z)return[O[0],O[1]]}{var Y=n-f+h,Q=i+d-h;if(O=Ox(e,r,n,i,Y,Q,h+l),O.length>0&&O[0]<=Y&&O[1]>=Q)return[O[0],O[1]]}return[]},"roundRectangleIntersectLine"),kWe=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),EWe=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),CWe=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),SWe=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),AWe=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=1*9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=1*3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];SWe(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,w,S,T=0;T=0?Sh?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),zs=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),Qu=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=A6(f,-h);y=S6(v)}else y=f;return zs(e,r,y)},"pointInsidePolygon"),LWe=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var w=b[0]*u[0]+e,S=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[w,S];var T=b[1]*u[0]+e,E=b[1]*u[1]+r;return[w,S,T,E]}else return[w,S]},"intersectLineCircle"),TP=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),kf=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var w=v/b,S=x/b,T=.001,E=0-T,_=1+T;return E<=w&&w<=_&&E<=S&&S<=_?[e+w*d,r+w*g]:h?[e+w*d,r+w*g]:[]}else return v===0||x===0?TP(e,n,l)===l?[l,u]:TP(e,n,a)===a?[a,s]:TP(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),Yx=o(function(e,r,n,i,a,s,l,u){var h=[],f,d=new Array(n.length),p=!0;s==null&&(p=!1);var m;if(p){for(var g=0;g0){var y=A6(d,-u);m=S6(y)}else m=d}else m=n;for(var v,x,b,w,S=0;S2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=S)},"set"),get:o(function(w){return h[w]},"get")},p=0;p0?D=O.edgesTo(C)[0]:D=C.edgesTo(O)[0];var P=i(D);C=C.id(),A[C]>A[k]+P&&(A[C]=A[k]+P,L.nodes.indexOf(C)<0?L.push(C):L.updateItem(C),_[C]=0,E[C]=[]),A[C]==A[k]+P&&(_[C]=_[C]+_[k],E[C].push(k))}else for(var F=0;F0;){for(var Y=T.pop(),Q=0;Q0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),YWe=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:XWe,l=i,u,h,f=0;f=2?Lx(e,r,n,0,w0e,jWe):Lx(e,r,n,0,b0e)},"euclidean"),squaredEuclidean:o(function(e,r,n){return Lx(e,r,n,0,w0e)},"squaredEuclidean"),manhattan:o(function(e,r,n){return Lx(e,r,n,0,b0e)},"manhattan"),max:o(function(e,r,n){return Lx(e,r,n,-1/0,KWe)},"max")};o1["squared-euclidean"]=o1.squaredEuclidean;o1.squaredeuclidean=o1.squaredEuclidean;o(z6,"clusteringDistance");QWe=Sa({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),iB=o(function(e){return QWe(e)},"setOptions"),_6=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return z6(e,i.length,l,u,h,f)},"getDist"),kP=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),eqe=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),A0e=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=A0e(e,r,n),i},"assign"),_0e=o(function(e){for(var r=this.cy(),n=this.nodes(),i=pqe(e),a={},s=0;s=N?(k=N,N=C,I=O):C>k&&(k=C);for(var D=0;D0?1:0;_[L%i.minIterations*l+Y]=Q,z+=Q}if(z>0&&(L>=i.minIterations-1||L==i.maxIterations-1)){for(var X=0,ie=0;ie1||E>1)&&(l=!0),d[w]=[],b.outgoers().forEach(function(A){A.isEdge()&&d[w].push(A.id())})}else p[w]=[void 0,b.target().id()]}):s.forEach(function(b){var w=b.id();if(b.isNode()){var S=b.degree(!0);S%2&&(u?h?l=!0:h=w:u=w),d[w]=[],b.connectedEdges().forEach(function(T){return d[w].push(T.id())})}else p[w]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(w){for(var S=w,T=[w],E,_,A;d[S].length;)E=d[S].shift(),_=p[E][0],A=p[E][1],S!=A?(d[A]=d[A].filter(function(L){return L!=E}),S=A):!a&&S!=_&&(d[_]=d[_].filter(function(L){return L!=E}),S=_),T.unshift(E),T.unshift(S);return T},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},s6=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(w){var S=w.id(),T=w.connectedEdges().intersection(e);v.merge(w),r[S].cutVertex?v.merge(T.filter(function(E){return E.isLoop()})):v.merge(T)})}),a.push(v)},"buildComponent"),h=o(function d(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,w;y.forEach(function(S){v=S.source().id(),x=S.target().id(),b=v===m?x:v,b!==g&&(w=S.id(),l[w]||(l[w]=!0,s.push({x:m,y:b,edge:S})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(d(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),Tqe={hopcroftTarjanBiconnected:s6,htbc:s6,htb:s6,hopcroftTarjanBiconnectedComponents:s6},o6=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function u(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||u(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),kqe={tarjanStronglyConnected:o6,tsc:o6,tscc:o6,tarjanStronglyConnectedComponents:o6},Qpe={};[Ux,JYe,eWe,rWe,iWe,sWe,cWe,IWe,r1,n1,IP,qWe,sqe,fqe,xqe,wqe,Tqe,kqe].forEach(function(t){Wt(Qpe,t)});Zpe=0,Jpe=1,eme=2,Zu=o(function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=Zpe,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Zu.prototype={fulfill:o(function(e){return L0e(this,Jpe,"fulfillValue",e)},"fulfill"),reject:o(function(e){return L0e(this,eme,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new Zu;return n.onFulfilled.push(R0e(e,i,"fulfill")),n.onRejected.push(R0e(r,i,"reject")),tme(n),i.proxy},"then")};L0e=o(function(e,r,n,i){return e.state===Zpe&&(e.state=r,e[n]=i,tme(e)),e},"deliver"),tme=o(function(e){e.state===Jpe?D0e(e,"onFulfilled",e.fulfillValue):e.state===eme&&D0e(e,"onRejected",e.rejectReason)},"execute"),D0e=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){vn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};g6.className=g6.classNames=g6.classes;Nr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ui,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Nr.variable="(?:[\\w-.]|(?:\\\\"+Nr.metaChar+"))+";Nr.className="(?:[\\w-]|(?:\\\\"+Nr.metaChar+"))+";Nr.value=Nr.string+"|"+Nr.number;Nr.id=Nr.variable;(function(){var t,e,r;for(t=Nr.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(Nr.comparatorOp+="|\\!"+e)})();un=o(function(){return{checks:[]}},"newQuery"),Ct={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},PP=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return qHe(t.selector,e.selector)}),Pje=function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return tn("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return tn("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&tn("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),Vje=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return zt(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case Ct.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case Ct.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case Ct.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case Ct.DATA_EXIST:{var w=f.field;return"["+w+"]"}case Ct.META_COMPARE:{var S=f.operator,T=f.field;return"[["+T+n(e(S))+r(m)+"]]"}case Ct.STATE:return m;case Ct.ID:return"#"+m;case Ct.CLASS:return"."+m;case Ct.PARENT:case Ct.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case Ct.ANCESTOR:case Ct.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case Ct.COMPOUND_SPLIT:{var E=a(f.left,d),_=a(f.subject,d),A=a(f.right,d);return E+(E.length>0?" ":"")+_+A}case Ct.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return cB(this,t,e,ume)};o(hme,"addParent");l1.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return cB(this,t,e,hme)};o(Kje,"addParentAndChildren");l1.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return cB(this,t,e,Kje)};l1.ancestors=l1.parents;qx=fme={data:en.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:en.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:en.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:en.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:en.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:en.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};qx.attr=qx.data;qx.removeAttr=qx.removeData;Qje=fme,U6={};o(CP,"defineDegreeFunction");Wt(U6,{degree:CP(function(t,e){return e.source().same(e.target())?2:1}),indegree:CP(function(t,e){return e.target().same(t)?1:0}),outdegree:CP(function(t,e){return e.source().same(t)?1:0})});o(Xg,"defineDegreeBoundsFunction");Wt(U6,{minDegree:Xg("degree",function(t,e){return te}),minIndegree:Xg("indegree",function(t,e){return te}),minOutdegree:Xg("outdegree",function(t,e){return te})});Wt(U6,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};Hl.modelPosition=Hl.point=Hl.position;Hl.modelPositions=Hl.points=Hl.positions;Hl.renderedPoint=Hl.renderedPosition;Hl.relativePoint=Hl.relativePosition;Zje=dme;i1=Rf={};Rf.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};Rf.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Rf.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(L,M,N){var k=0,I=0,C=M+N;return L>0&&C>0&&(k=M/C*L,I=N/C*L),{biasDiff:k,biasComplementDiff:I}}o(m,"computeBiasValues");function g(L,M,N,k){if(N.units==="%")switch(k){case"width":return L>0?N.pfValue*L:0;case"height":return M>0?N.pfValue*M:0;case"average":return L>0&&M>0?N.pfValue*(L+M)/2:0;case"min":return L>0&&M>0?L>M?N.pfValue*M:N.pfValue*L:0;case"max":return L>0&&M>0?L>M?N.pfValue*L:N.pfValue*M:0;default:return 0}else return N.units==="px"?N.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var w=m(f.width.val-d.w,y,v),S=w.biasDiff,T=w.biasComplementDiff,E=m(f.height.val-d.h,x,b),_=E.biasDiff,A=E.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-S+d.x1+d.x2+T)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-_+d.y1+d.y2+A)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),F0=o(function(e,r){return r==null?e:Vl(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),Dx=o(function(e,r,n){return Ul(e,r,n)},"prefixedProperty"),l6=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,p6(d,1),Vl(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),SP=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=Dx(s,"labelWidth",n),d=Dx(s,"labelHeight",n),p=Dx(s,"labelX",n),m=Dx(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,w=r.pstyle("text-border-width").pfValue,S=w/2,T=r.pstyle("text-background-padding").pfValue,E=2,_=d,A=f,L=A/2,M=_/2,N,k,I,C;if(v)N=p-L,k=p+L,I=m-M,C=m+M;else{switch(u.value){case"left":N=p-A,k=p;break;case"center":N=p-L,k=p+L;break;case"right":N=p,k=p+A;break}switch(h.value){case"top":I=m-_,C=m;break;case"center":I=m-M,C=m+M;break;case"bottom":I=m,C=m+_;break}}N+=g-Math.max(b,S)-T-E,k+=g+Math.max(b,S)+T+E,I+=y-Math.max(b,S)-T-E,C+=y+Math.max(b,S)+T+E;var O=n||"main",D=a.labelBounds,P=D[O]=D[O]||{};P.x1=N,P.y1=I,P.x2=k,P.y2=C,P.w=k-N,P.h=C-I;var F=v&&x.strValue==="autorotate",B=x.pfValue!=null&&x.pfValue!==0;if(F||B){var G=F?Dx(a.rstyle,"labelAngle",n):x.pfValue,z=Math.cos(G),Y=Math.sin(G),Q=(N+k)/2,X=(I+C)/2;if(!v){switch(u.value){case"left":Q=k;break;case"right":Q=N;break}switch(h.value){case"top":X=C;break;case"bottom":X=I;break}}var ie=o(function(ce,ue){return ce=ce-Q,ue=ue-X,{x:ce*z-ue*Y+Q,y:ce*Y+ue*z+X}},"rotate"),j=ie(N,I),J=ie(N,C),Z=ie(k,I),H=ie(k,C);N=Math.min(j.x,J.x,Z.x,H.x),k=Math.max(j.x,J.x,Z.x,H.x),I=Math.min(j.y,J.y,Z.y,H.y),C=Math.max(j.y,J.y,Z.y,H.y)}var q=O+"Rot",K=D[q]=D[q]||{};K.x1=N,K.y1=I,K.x2=k,K.y2=C,K.w=k-N,K.h=C-I,Vl(e,N,I,k,C),Vl(a.labelBounds.all,N,I,k,C)}return e}},"updateBoundsFromLabel"),Jje=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value;if(n>0&&i>0){var a=r.pstyle("outline-offset").value,s=r.pstyle("shape").value,l=i+a,u=(e.w+l*2)/e.w,h=(e.h+l*2)/e.h,f=0,d=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(e.w+l*2.4)/e.w,d=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(e.w+l*2.4)/e.w:s==="star"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.6)/e.h,d=-l/3.8):s==="triangle"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.4)/e.h,d=-l/1.4):s==="vee"&&(u=(e.w+l*4.4)/e.w,h=(e.h+l*3.8)/e.h,d=-l*.5);var p=e.h*h-e.h,m=e.w*u-e.w;if(m6(e,[Math.ceil(p/2),Math.ceil(m/2)]),f!=0||d!==0){var g=bWe(e,f,d);Vpe(e,g)}}}},"updateBoundsFromOutline"),eKe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=$s(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(De){return De.pstyle("display").value!=="none"},"isDisplayed"),w=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(w){var S=0,T=0;i&&r.includeOverlays&&(S=e.pstyle("overlay-opacity").value,S!==0&&(T=e.pstyle("overlay-padding").value));var E=0,_=0;i&&r.includeUnderlays&&(E=e.pstyle("underlay-opacity").value,E!==0&&(_=e.pstyle("underlay-padding").value));var A=Math.max(T,_),L=0,M=0;if(i&&(L=e.pstyle("width").pfValue,M=L/2),u&&r.includeNodes){var N=e.position();g=N.x,y=N.y;var k=e.outerWidth(),I=k/2,C=e.outerHeight(),O=C/2;f=g-I,d=g+I,p=y-O,m=y+O,Vl(s,f,p,d,m),i&&r.includeOutlines&&Jje(s,e)}else if(h&&r.includeEdges)if(i&&!a){var D=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=M,d+=M,p-=M,m+=M,Vl(s,f,p,d,m),D==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var F=f;f=d,d=F}if(p>m){var B=p;p=m,m=B}Vl(s,f-M,p-M,d+M,m+M)}}else if(D==="bezier"||D==="unbundled-bezier"||D.endsWith("segments")||D.endsWith("taxi")){var G;switch(D){case"bezier":case"unbundled-bezier":G=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":G=v.linePts;break}if(G!=null)for(var z=0;zd){var J=f;f=d,d=J}if(p>m){var Z=p;p=m,m=Z}f-=M,d+=M,p-=M,m+=M,Vl(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(l6(s,e,"mid-source"),l6(s,e,"mid-target"),l6(s,e,"source"),l6(s,e,"target")),i){var H=e.pstyle("ghost").value==="yes";if(H){var q=e.pstyle("ghost-offset-x").pfValue,K=e.pstyle("ghost-offset-y").pfValue;Vl(s,s.x1+q,s.y1+K,s.x2+q,s.y2+K)}}var se=l.bodyBounds=l.bodyBounds||{};g0e(se,s),m6(se,x),p6(se,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,Vl(s,f-A,p-A,d+A,m+A));var ce=l.overlayBounds=l.overlayBounds||{};g0e(ce,s),m6(ce,x),p6(ce,1);var ue=l.labelBounds=l.labelBounds||{};ue.all!=null?xWe(ue.all):ue.all=$s(),i&&r.includeLabels&&(r.includeMainLabels&&SP(s,e,null),h&&(r.includeSourceLabels&&SP(s,e,"source"),r.includeTargetLabels&&SP(s,e,"target")))}return s.x1=el(s.x1),s.y1=el(s.y1),s.x2=el(s.x2),s.y2=el(s.y2),s.w=el(s.x2-s.x1),s.h=el(s.y2-s.y1),s.w>0&&s.h>0&&w&&(m6(s,x),p6(s,1)),s},"boundingBoxImpl"),mme=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};Df.removeAllListeners=function(){return this.removeListener("*")};Df.emit=Df.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,vn(e)||(e=[e]),gKe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(f){var d=n[f];if(d.type===s.type&&(!d.namespace||d.namespace===s.namespace||d.namespace===pKe)&&a.eventMatches(a.context,d,s)){var p=[s];e!=null&&qYe(p,e),a.beforeEmit(a.context,d,s),d.conf&&d.conf.one&&(a.listeners=a.listeners.filter(function(y){return y!==d}));var m=a.callbackContext(a.context,d,s),g=d.callback.apply(m,p);a.afterEmit(a.context,d,s),g===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&zt(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":Hi(Symbol))!=e&&Hi(Symbol.iterator)!=e;r&&(L6[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return bpe({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){this.cleanStyle();var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(Mr(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(zt(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});Fa.neighbourhood=Fa.neighborhood;Fa.closedNeighbourhood=Fa.closedNeighborhood;Fa.openNeighbourhood=Fa.openNeighborhood;Wt(Fa,{source:tl(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:tl(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:X0e({attr:"source"}),targets:X0e({attr:"target"})});o(X0e,"defineSourceFunction");Wt(Fa,{edgesWith:tl(j0e(),"edgesWith"),edgesTo:tl(j0e({thisIsSrc:!0}),"edgesTo")});o(j0e,"defineEdgesWithFunction");Wt(Fa,{connectedEdges:tl(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});Fa.componentsOf=Fa.components;Ca=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){oi("A collection must have a reference to the core");return}var a=new Vc,s=!1;if(!r)r=[];else if(r.length>0&&Mr(r[0])&&!Zx(r[0])){s=!0;for(var l=[],u=new c1,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],l,u=0,h=r.length;u0){for(var B=l.length===r.length?r:new Ca(n,l),G=0;G0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(C){for(var O=C._private.edges,D=0;D0&&(t?N.emitAndNotify("remove"):e&&N.emit("remove"));for(var k=0;kf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")}(),Ln=o(function(e,r,n,i){var a=SKe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),v6={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:Ln(.25,.1,.25,1),"ease-in":Ln(.42,0,1,1),"ease-out":Ln(0,0,.58,1),"ease-in-out":Ln(.42,0,.58,1),"ease-in-sine":Ln(.47,0,.745,.715),"ease-out-sine":Ln(.39,.575,.565,1),"ease-in-out-sine":Ln(.445,.05,.55,.95),"ease-in-quad":Ln(.55,.085,.68,.53),"ease-out-quad":Ln(.25,.46,.45,.94),"ease-in-out-quad":Ln(.455,.03,.515,.955),"ease-in-cubic":Ln(.55,.055,.675,.19),"ease-out-cubic":Ln(.215,.61,.355,1),"ease-in-out-cubic":Ln(.645,.045,.355,1),"ease-in-quart":Ln(.895,.03,.685,.22),"ease-out-quart":Ln(.165,.84,.44,1),"ease-in-out-quart":Ln(.77,0,.175,1),"ease-in-quint":Ln(.755,.05,.855,.06),"ease-out-quint":Ln(.23,1,.32,1),"ease-in-out-quint":Ln(.86,0,.07,1),"ease-in-expo":Ln(.95,.05,.795,.035),"ease-out-expo":Ln(.19,1,.22,1),"ease-in-out-expo":Ln(1,0,0,1),"ease-in-circ":Ln(.6,.04,.98,.335),"ease-out-circ":Ln(.075,.82,.165,1),"ease-in-out-circ":Ln(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return v6.linear;var i=AKe(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":Ln};o(Q0e,"getEasedValue");o(Z0e,"getValue");o(jg,"ease");o(_Ke,"step$1");o(Nx,"valid");o(LKe,"startAnimation");o(J0e,"stepAll");DKe={animate:en.animate(),animation:en.animation(),animated:en.animated(),clearQueue:en.clearQueue(),delay:en.delay(),delayAnimation:en.delayAnimation(),stop:en.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&E6(o(function(a){J0e(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){J0e(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},RKe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&Zx(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},h6=o(function(e){return zt(e)?new _f(e):e},"argSelector"),Sme={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new H6(RKe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,h6(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,h6(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,h6(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,h6(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};en.eventAliasesOn(Sme);FP={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};FP.jpeg=FP.jpg;x6={layout:o(function(e){var r=this;if(e==null){oi("Layout options must be specified to make a layout");return}if(e.name==null){oi("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){oi("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;zt(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(Wt({},e,{cy:r,eles:a}));return s},"layout")};x6.createLayout=x6.makeLayout=x6.layout;NKe={notify:o(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};zP.invalidateDimensions=zP.resize;b6={collection:o(function(e,r){return zt(e)?this.$(e):xo(e)?e.collection():vn(e)?(r||(r={}),new Ca(this,e,r.unique,r.removed)):new Ca(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};b6.elements=b6.filter=b6.$;$a={},Fx="t",IKe="f";$a.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(S=1),l.color){var E=n.valueMin[0],_=n.valueMax[0],A=n.valueMin[1],L=n.valueMax[1],M=n.valueMin[2],N=n.valueMax[2],k=n.valueMin[3]==null?1:n.valueMin[3],I=n.valueMax[3]==null?1:n.valueMax[3],C=[Math.round(E+(_-E)*S),Math.round(A+(L-A)*S),Math.round(M+(N-M)*S),Math.round(k+(I-k)*S)];a={bypass:n.bypass,name:n.name,value:C,strValue:"rgb("+C[0]+", "+C[1]+", "+C[2]+")"}}else if(l.number){var O=n.valueMin+(n.valueMax-n.valueMin)*S;a=this.parse(n.name,O,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var D=n.field.split("."),P=d.data,F=0;F0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(w):w()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};$a.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);l!=null&&l(r,n)&&a(s)};$a.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};$a.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(a){a.isBundledBezier()&&a.dirtyBoundingBoxCache()}),i.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};$a.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};rb={};rb.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){tn("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new _f(d);if(p.invalid){tn("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){tn("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],w=x[2],S=e.properties[b];if(!S){tn("Skipping property: Invalid property name in: "+s),u();continue}var T=r.parse(b,w);if(!T){tn("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:w}),u()}if(g){l();break}r.selector(d);for(var E=0;E=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return tn("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var w;if(u?w=e.split(/\s+/):vn(e)?w=e:w=[e],h.evenMultiple&&w.length%2!==0)return null;for(var S=[],T=[],E=[],_="",A=!1,L=0;L0?" ":"")+M.strValue}return h.validate&&!h.validate(S,T)?null:h.singleEnum&&A?S.length===1&&zt(S[0])?{name:t,value:S[0],strValue:S[0],bypass:r}:null:{name:t,value:S,pfValue:E,strValue:_,bypass:r,units:T}}var N=o(function(){for(var H=0;Hh.max||h.strictMax&&e===h.max))return null;var D={name:t,value:e,strValue:""+e+(k||""),units:k,bypass:r};return h.unitless||k!=="px"&&k!=="em"?D.pfValue=e:D.pfValue=k==="px"||!k?e:this.getEmSizeInPixels()*e,(k==="ms"||k==="s")&&(D.pfValue=k==="ms"?e:1e3*e),(k==="deg"||k==="rad")&&(D.pfValue=k==="rad"?e:mWe(e)),k==="%"&&(D.pfValue=e/100),D}else if(h.propList){var P=[],F=""+e;if(F!=="none"){for(var B=F.split(/\s*,\s*|\s+/),G=0;G0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),ft(e)?s=e:Mr(e)&&(s=e.level,e.position!=null?a=F6(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;ft(h.x)&&(r.pan.x=h.x,l=!1),ft(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(zt(e)){var n=e;e=this.mutableElements().filter(n)}else xo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}}():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};q0.centre=q0.center;q0.autolockNodes=q0.autolock;q0.autoungrabifyNodes=q0.autoungrabify;jx={data:en.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:en.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:en.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:en.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};jx.attr=jx.data;jx.removeAttr=jx.removeData;Kx=o(function(e){var r=this;e=Wt({},e);var n=e.container;n&&!k6(n)&&k6(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Vi!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=Wt({name:s?"grid":"null"},l.layout),l.renderer=Wt({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new Ca(this),listeners:[],aniEles:new Ca(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:ft(l.zoom)?l.zoom:1,pan:{x:Mr(l.pan)&&ft(l.pan.x)?l.pan.x:0,y:Mr(l.pan)&&ft(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(zHe);if(v)return u1.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=Wt({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(Mr(g)||vn(g))&&r.add(g),r.one("layoutready",function(w){r.notifications(!0),r.emit(w),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=Wt({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,jn(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,u=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),h;if(xo(e.roots))h=e.roots;else if(vn(e.roots)){for(var f=[],d=0;d0;){var O=C(),D=M(O,k);if(D)O.outgoers().filter(function(ue){return ue.isNode()&&n.has(ue)}).forEach(I);else if(D===null){tn("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}L();var P=0;if(e.avoidOverlap)for(var F=0;F0&&x[0].length<=3?Pe/2:0),W=2*Math.PI/x[oe].length*ke;return oe===0&&x[0].length===1&&(me=1),{x:K.x+me*Math.cos(W),y:K.y+me*Math.sin(W)}}else{var _e={x:K.x+(ke+1-(Ie+1)/2)*Se,y:(oe+1)*Ue};return _e}},"getPosition");return n.nodes().layoutPositions(this,e,ce),this};zKe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(_me,"CircleLayout");_me.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),w=Math.sqrt(d*d/(x*x+b*b));f=Math.max(w,f)}var S=o(function(E,_){var A=e.startAngle+_*h*(i?1:-1),L=f*Math.cos(A),M=f*Math.sin(A),N={x:l.x+L,y:l.y+M};return N},"getPos");return n.nodes().layoutPositions(this,e,S),this};$Ke={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Lme,"ConcentricLayout");Lme.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var T=Math.abs(b[0].value-S.value);T>=v&&(b=[],x.push(b))}b.push(S)}var E=h+e.minNodeSpacing;if(!e.avoidOverlap){var _=x.length>0&&x[0].length>1,A=Math.min(s.w,s.h)/2-E,L=A/(x.length+_?1:0);E=Math.min(E,L)}for(var M=0,N=0;N1&&e.avoidOverlap){var O=Math.cos(C)-Math.cos(0),D=Math.sin(C)-Math.sin(0),P=Math.sqrt(E*E/(O*O+D*D));M=Math.max(P,M)}k.r=M,M+=E}if(e.equidistant){for(var F=0,B=0,G=0;G=t.numIter||(XKe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),E6(d)}},"frame");f()}else{for(;h;)h=s(u),u++;rpe(n,t),l()}return this};j6.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};j6.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};VKe=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=$s(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(A);for(var f=0;fi.count?0:i.graph},"findLCA"),HKe=o(function t(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=R6(e,l,u),v=R6(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,w=x*x+b*b,p=Math.sqrt(w),d=(e.nodeRepulsion+r.nodeRepulsion)/w,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),QKe=o(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),R6=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),ZKe=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),eQe=o(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),nQe=o(function t(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),iQe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Rme,"GridLayout");Rme.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(Q){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(X){if(X==null)return Math.min(u,h);var ie=Math.min(u,h);ie==u?u=X:h=X},"small"),d=o(function(X){if(X==null)return Math.max(u,h);var ie=Math.max(u,h);ie==u?u=X:h=X},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,w=a.h/u;if(e.condense&&(b=0,w=0),e.avoidOverlap)for(var S=0;S=h&&(O=0,C++)},"moveToNextCell"),P={},F=0;F(O=_We(t,e,D[P],D[P+1],D[P+2],D[P+3])))return v(_,O),!0}else if(L.edgeType==="bezier"||L.edgeType==="multibezier"||L.edgeType==="self"||L.edgeType==="compound"){for(var D=L.allpts,P=0;P+5(O=AWe(t,e,D[P],D[P+1],D[P+2],D[P+3],D[P+4],D[P+5])))return v(_,O),!0}for(var F=F||A.source,B=B||A.target,G=i.getArrowWidth(M,N),z=[{name:"source",x:L.arrowStartX,y:L.arrowStartY,angle:L.srcArrowAngle},{name:"target",x:L.arrowEndX,y:L.arrowEndY,angle:L.tgtArrowAngle},{name:"mid-source",x:L.midX,y:L.midY,angle:L.midsrcArrowAngle},{name:"mid-target",x:L.midX,y:L.midY,angle:L.midtgtArrowAngle}],P=0;P0&&(x(F),x(B))}o(b,"checkEdge");function w(_,A,L){return Ul(_,A,L)}o(w,"preprop");function S(_,A){var L=_._private,M=p,N;A?N=A+"-":N="",_.boundingBox();var k=L.labelBounds[A||"main"],I=_.pstyle(N+"label").value,C=_.pstyle("text-events").strValue==="yes";if(!(!C||!I)){var O=w(L.rscratch,"labelX",A),D=w(L.rscratch,"labelY",A),P=w(L.rscratch,"labelAngle",A),F=_.pstyle(N+"text-margin-x").pfValue,B=_.pstyle(N+"text-margin-y").pfValue,G=k.x1-M-F,z=k.x2+M-F,Y=k.y1-M-B,Q=k.y2+M-B;if(P){var X=Math.cos(P),ie=Math.sin(P),j=o(function(ce,ue){return ce=ce-O,ue=ue-D,{x:ce*X-ue*ie+O,y:ce*ie+ue*X+D}},"rotate"),J=j(G,Y),Z=j(G,Q),H=j(z,Y),q=j(z,Q),K=[J.x+F,J.y+B,H.x+F,H.y+B,q.x+F,q.y+B,Z.x+F,Z.y+B];if(zs(t,e,K))return v(_),!0}else if(s1(k,t,e))return v(_),!0}}o(S,"checkLabel");for(var T=s.length-1;T>=0;T--){var E=s[T];E.isNode()?x(E)||S(E):b(E)||S(E)||S(E,"source")||S(E,"target")}return l};j0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=[],s=Math.min(t,r),l=Math.max(t,r),u=Math.min(e,n),h=Math.max(e,n);t=s,r=l,e=u,n=h;for(var f=$s({x1:t,y1:e,x2:r,y2:n}),d=0;d0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),uQe=o(function(e,r,n,i,a){if(e!==ope?lpe(r,e,$c):cQe(Jo,$c),lpe(r,n,Jo),ape=$c.nx*Jo.ny-$c.ny*Jo.nx,spe=$c.nx*Jo.nx-$c.ny*-Jo.ny,ju=Math.asin(Math.max(-1,Math.min(1,ape))),Math.abs(ju)<1e-6){$P=r.x,GP=r.y,z0=Qg=0;return}$0=1,w6=!1,spe<0?ju<0?ju=Math.PI+ju:(ju=Math.PI-ju,$0=-1,w6=!0):ju>0&&($0=-1,w6=!0),r.radius!==void 0?Qg=r.radius:Qg=i,O0=ju/2,f6=Math.min($c.len/2,Jo.len/2),a?(zc=Math.abs(Math.cos(O0)*Qg/Math.sin(O0)),zc>f6?(zc=f6,z0=Math.abs(zc*Math.sin(O0)/Math.cos(O0))):z0=Qg):(zc=Math.min(f6,Qg),z0=Math.abs(zc*Math.sin(O0)/Math.cos(O0))),VP=r.x+Jo.nx*zc,UP=r.y+Jo.ny*zc,$P=VP-Jo.ny*z0*$0,GP=UP+Jo.nx*z0*$0,Ome=r.x+$c.nx*zc,Pme=r.y+$c.ny*zc,ope=r},"calcCornerArc");o(Bme,"drawPreparedRoundCorner");o(mB,"getRoundCorner");Ga={};Ga.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(T,E,_,A){var L=A-E,M=_-T,N=Math.sqrt(M*M+L*L);return{x:-L/N,y:M/N}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=Gl(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Gl(y,2),x=v[0],b=v[1],w={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=w}else tn("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ga.findHaystackPoints=function(t){for(var e=0;e0?Math.max(Te-Ce,0):Math.min(Te+Ce,0)},"subDWH"),I=k(M,A),C=k(N,L),O=!1;b===h?x=Math.abs(I)>Math.abs(C)?i:n:b===u||b===l?(x=n,O=!0):(b===a||b===s)&&(x=i,O=!0);var D=x===n,P=D?C:I,F=D?N:M,B=Gpe(F),G=!1;!(O&&(S||E))&&(b===l&&F<0||b===u&&F>0||b===a&&F>0||b===s&&F<0)&&(B*=-1,P=B*Math.abs(P),G=!0);var z;if(S){var Y=T<0?1+T:T;z=Y*P}else{var Q=T<0?P:0;z=Q+T*B}var X=o(function(Te){return Math.abs(Te)<_||Math.abs(Te)>=Math.abs(P)},"getIsTooClose"),ie=X(z),j=X(Math.abs(P)-Math.abs(z)),J=ie||j;if(J&&!G)if(D){var Z=Math.abs(F)<=p/2,H=Math.abs(M)<=m/2;if(Z){var q=(f.x1+f.x2)/2,K=f.y1,se=f.y2;r.segpts=[q,K,q,se]}else if(H){var ce=(f.y1+f.y2)/2,ue=f.x1,te=f.x2;r.segpts=[ue,ce,te,ce]}else r.segpts=[f.x1,f.y2]}else{var De=Math.abs(F)<=d/2,oe=Math.abs(N)<=g/2;if(De){var ke=(f.y1+f.y2)/2,Ie=f.x1,Se=f.x2;r.segpts=[Ie,ke,Se,ke]}else if(oe){var Ue=(f.x1+f.x2)/2,Pe=f.y1,_e=f.y2;r.segpts=[Ue,Pe,Ue,_e]}else r.segpts=[f.x2,f.y1]}else if(D){var me=f.y1+z+(v?p/2*B:0),W=f.x1,fe=f.x2;r.segpts=[W,me,fe,me]}else{var ge=f.x1+z+(v?d/2*B:0),re=f.y1,he=f.y2;r.segpts=[ge,re,ge,he]}if(r.isRound){var ne=t.pstyle("taxi-radius").value,ae=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ne),r.isArcRadius=new Array(r.segpts.length/2).fill(ae)}};Ga.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!ft(r.startX)||!ft(r.startY),v=!ft(r.arrowStartX)||!ft(r.arrowStartY),x=!ft(r.endX)||!ft(r.endY),b=!ft(r.arrowEndX)||!ft(r.arrowEndY),w=3,S=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,T=w*S,E=H0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),_=EC.poolIndex()){var O=I;I=C,C=O}var D=L.srcPos=I.position(),P=L.tgtPos=C.position(),F=L.srcW=I.outerWidth(),B=L.srcH=I.outerHeight(),G=L.tgtW=C.outerWidth(),z=L.tgtH=C.outerHeight(),Y=L.srcShape=r.nodeShapes[e.getNodeShape(I)],Q=L.tgtShape=r.nodeShapes[e.getNodeShape(C)],X=L.srcCornerRadius=I.pstyle("corner-radius").value==="auto"?"auto":I.pstyle("corner-radius").pfValue,ie=L.tgtCornerRadius=C.pstyle("corner-radius").value==="auto"?"auto":C.pstyle("corner-radius").pfValue,j=L.tgtRs=C._private.rscratch,J=L.srcRs=I._private.rscratch;L.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Z=0;Z0){var se=a,ce=B0(se,Jg(r)),ue=B0(se,Jg(K)),te=ce;if(ue2){var De=B0(se,{x:K[2],y:K[3]});De0){var he=s,ne=B0(he,Jg(r)),ae=B0(he,Jg(re)),we=ne;if(ae2){var Te=B0(he,{x:re[2],y:re[3]});Te=g||_){v={cp:S,segment:E};break}}if(v)break}var A=v.cp,L=v.segment,M=(g-x)/L.length,N=L.t1-L.t0,k=m?L.t0+N*M:L.t1-N*M;k=Hx(0,k,1),e=t1(A.p0,A.p1,A.p2,k),p=fQe(A.p0,A.p1,A.p2,k);break}case"straight":case"segments":case"haystack":{for(var I=0,C,O,D,P,F=n.allpts.length,B=0;B+3=g));B+=2);var G=g-O,z=G/C;z=Hx(0,z,1),e=yWe(D,P,z),p=$me(D,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Hc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Hc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,n),a=t.pstyle("line-height").pfValue,s=t.pstyle("text-wrap").strValue,l=Ul(r.rscratch,"labelWrapCachedLines",e)||[],u=s!=="wrap"?1:Math.max(l.length,1),h=i.height/u,f=h*a,d=i.width,p=i.height+(u-1)*(a-1)*h;Tf(r.rstyle,"labelWidth",e,d),Tf(r.rscratch,"labelWidth",e,d),Tf(r.rstyle,"labelHeight",e,p),Tf(r.rscratch,"labelHeight",e,p),Tf(r.rscratch,"labelLineHeight",e,f)};Hc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(Q,X){return X?(Tf(r.rscratch,Q,e,X),X):Ul(r.rscratch,Q,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` +`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var T=x.matchAll(y),E="",_=0,A=Tpe(T),L;try{for(A.s();!(L=A.n()).done;){var M=L.value,N=M[0],k=x.substring(_,M.index);_=M.index+N.length;var I=E.length===0?k:E+k+N,C=this.calculateLabelDimensions(t,I),O=C.width;O<=d?E+=k+N:(E&&g.push(E),E=k+N)}}catch(Y){A.e(Y)}finally{A.f()}E.match(/^[\s\u200b]+$/)||g.push(E)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` +`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var D=t.pstyle("text-max-width").pfValue,P="",F="\u2026",B=!1;if(this.calculateLabelDimensions(t,i).widthD)break;P+=i[G],G===i.length-1&&(B=!0)}return B||(P+=F),P}return i};Hc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Hc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=U0(e,t._private.labelDimsKey),s=r.labelDimCache||(r.labelDimCache=[]),l=s[a];if(l!=null)return l;var u=0,h=t.pstyle("font-style").strValue,f=t.pstyle("font-size").pfValue,d=t.pstyle("font-family").strValue,p=t.pstyle("font-weight").strValue,m=this.labelCalcCanvas,g=this.labelCalcCanvasContext;if(!m){m=this.labelCalcCanvas=i.createElement("canvas"),g=this.labelCalcCanvasContext=m.getContext("2d");var y=m.style;y.position="absolute",y.left="-9999px",y.top="-9999px",y.zIndex="-1",y.visibility="hidden",y.pointerEvents="none"}g.font="".concat(h," ").concat(p," ").concat(f,"px ").concat(d);for(var v=0,x=0,b=e.split(` +`),w=0;w1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var Je=i(W);ze&&(t.hoverData.tapholdCancelled=!0);var Ve=o(function(){var St=t.hoverData.dragDelta=t.hoverData.dragDelta||[];St.length===0?(St.push(ye[0]),St.push(ye[1])):(St[0]+=ye[0],St[1]+=ye[1])},"updateDragDelta");ge=!0,n(Ae,["mousemove","vmousemove","tapdrag"],W,{x:ae[0],y:ae[1]});var je=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||re.emit({originalEvent:W,type:"boxstart",position:{x:ae[0],y:ae[1]}}),Ce[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(ze){var kt={originalEvent:W,type:"cxtdrag",position:{x:ae[0],y:ae[1]}};Me?Me.emit(kt):re.emit(kt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||Ae!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:W,type:"cxtdragout",position:{x:ae[0],y:ae[1]}}),t.hoverData.cxtOver=Ae,Ae&&Ae.emit({originalEvent:W,type:"cxtdragover",position:{x:ae[0],y:ae[1]}}))}}else if(t.hoverData.dragging){if(ge=!0,re.panningEnabled()&&re.userPanningEnabled()){var at;if(t.hoverData.justStartedPan){var xt=t.hoverData.mdownPos;at={x:(ae[0]-xt[0])*he,y:(ae[1]-xt[1])*he},t.hoverData.justStartedPan=!1}else at={x:ye[0]*he,y:ye[1]*he};re.panBy(at),re.emit("dragpan"),t.hoverData.dragged=!0}ae=t.projectIntoViewport(W.clientX,W.clientY)}else if(Ce[4]==1&&(Me==null||Me.pannable())){if(ze){if(!t.hoverData.dragging&&re.boxSelectionEnabled()&&(Je||!re.panningEnabled()||!re.userPanningEnabled()))je();else if(!t.hoverData.selecting&&re.panningEnabled()&&re.userPanningEnabled()){var it=a(Me,t.hoverData.downs);it&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Ce[4]=0,t.data.bgActivePosistion=Jg(we),t.redrawHint("select",!0),t.redraw())}Me&&Me.pannable()&&Me.active()&&Me.unactivate()}}else{if(Me&&Me.pannable()&&Me.active()&&Me.unactivate(),(!Me||!Me.grabbed())&&Ae!=$e&&($e&&n($e,["mouseout","tapdragout"],W,{x:ae[0],y:ae[1]}),Ae&&n(Ae,["mouseover","tapdragover"],W,{x:ae[0],y:ae[1]}),t.hoverData.last=Ae),Me)if(ze){if(re.boxSelectionEnabled()&&Je)Me&&Me.grabbed()&&(v(He),Me.emit("freeon"),He.emit("free"),t.dragData.didDrag&&(Me.emit("dragfreeon"),He.emit("dragfree"))),je();else if(Me&&Me.grabbed()&&t.nodeIsDraggable(Me)){var dt=!t.dragData.didDrag;dt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||g(He,{inDragLayer:!0});var lt={x:0,y:0};if(ft(ye[0])&&ft(ye[1])&&(lt.x+=ye[0],lt.y+=ye[1],dt)){var It=t.hoverData.dragDelta;It&&ft(It[0])&&ft(It[1])&&(lt.x+=It[0],lt.y+=It[1])}t.hoverData.draggingEles=!0,He.silentShift(lt).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Ve();ge=!0}if(Ce[2]=ae[0],Ce[3]=ae[1],ge)return W.stopPropagation&&W.stopPropagation(),W.preventDefault&&W.preventDefault(),!1}},"mousemoveHandler"),!1);var M,N,k;t.registerBinding(e,"mouseup",o(function(W){if(!(t.hoverData.which===1&&W.which!==1&&t.hoverData.capture)){var fe=t.hoverData.capture;if(fe){t.hoverData.capture=!1;var ge=t.cy,re=t.projectIntoViewport(W.clientX,W.clientY),he=t.selection,ne=t.findNearestElement(re[0],re[1],!0,!1),ae=t.dragData.possibleDragElements,we=t.hoverData.down,Te=i(W);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,we&&we.unactivate(),t.hoverData.which===3){var Ce={originalEvent:W,type:"cxttapend",position:{x:re[0],y:re[1]}};if(we?we.emit(Ce):ge.emit(Ce),!t.hoverData.cxtDragged){var Ae={originalEvent:W,type:"cxttap",position:{x:re[0],y:re[1]}};we?we.emit(Ae):ge.emit(Ae)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(ne,["mouseup","tapend","vmouseup"],W,{x:re[0],y:re[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(we,["click","tap","vclick"],W,{x:re[0],y:re[1]}),N=!1,W.timeStamp-k<=ge.multiClickDebounceTime()?(M&&clearTimeout(M),N=!0,k=null,n(we,["dblclick","dbltap","vdblclick"],W,{x:re[0],y:re[1]})):(M=setTimeout(function(){N||n(we,["oneclick","onetap","voneclick"],W,{x:re[0],y:re[1]})},ge.multiClickDebounceTime()),k=W.timeStamp)),we==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!i(W)&&(ge.$(r).unselect(["tapunselect"]),ae.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=ae=ge.collection()),ne==we&&!t.dragData.didDrag&&!t.hoverData.selecting&&ne!=null&&ne._private.selectable&&(t.hoverData.dragging||(ge.selectionType()==="additive"||Te?ne.selected()?ne.unselect(["tapunselect"]):ne.select(["tapselect"]):Te||(ge.$(r).unmerge(ne).unselect(["tapunselect"]),ne.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var $e=ge.collection(t.getAllInBox(he[0],he[1],he[2],he[3]));t.redrawHint("select",!0),$e.length>0&&t.redrawHint("eles",!0),ge.emit({type:"boxend",originalEvent:W,position:{x:re[0],y:re[1]}});var Me=o(function(ze){return ze.selectable()&&!ze.selected()},"eleWouldBeSelected");ge.selectionType()==="additive"||Te||ge.$(r).unmerge($e).unselect(),$e.emit("box").stdFilter(Me).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!he[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var ye=we&&we.grabbed();v(ae),ye&&(we.emit("freeon"),ae.emit("free"),t.dragData.didDrag&&(we.emit("dragfreeon"),ae.emit("dragfree")))}}he[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}},"mouseupHandler"),!1);var I=o(function(W){if(!t.scrollingPage){var fe=t.cy,ge=fe.zoom(),re=fe.pan(),he=t.projectIntoViewport(W.clientX,W.clientY),ne=[he[0]*ge+re.x,he[1]*ge+re.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||A()){W.preventDefault();return}if(fe.panningEnabled()&&fe.userPanningEnabled()&&fe.zoomingEnabled()&&fe.userZoomingEnabled()){W.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var ae;W.deltaY!=null?ae=W.deltaY/-250:W.wheelDeltaY!=null?ae=W.wheelDeltaY/1e3:ae=W.wheelDelta/1e3,ae=ae*t.wheelSensitivity;var we=W.deltaMode===1;we&&(ae*=33);var Te=fe.zoom()*Math.pow(10,ae);W.type==="gesturechange"&&(Te=t.gestureStartZoom*W.scale),fe.zoom({level:Te,renderedPosition:{x:ne[0],y:ne[1]}}),fe.emit(W.type==="gesturechange"?"pinchzoom":"scrollzoom")}}},"wheelHandler");t.registerBinding(t.container,"wheel",I,!0),t.registerBinding(e,"scroll",o(function(W){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(W){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||W.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(me){t.hasTouchStarted||I(me)},!0),t.registerBinding(t.container,"mouseout",o(function(W){var fe=t.projectIntoViewport(W.clientX,W.clientY);t.cy.emit({originalEvent:W,type:"mouseout",position:{x:fe[0],y:fe[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(W){var fe=t.projectIntoViewport(W.clientX,W.clientY);t.cy.emit({originalEvent:W,type:"mouseover",position:{x:fe[0],y:fe[1]}})},"mouseOverHandler"),!1);var C,O,D,P,F,B,G,z,Y,Q,X,ie,j,J=o(function(W,fe,ge,re){return Math.sqrt((ge-W)*(ge-W)+(re-fe)*(re-fe))},"distance"),Z=o(function(W,fe,ge,re){return(ge-W)*(ge-W)+(re-fe)*(re-fe)},"distanceSq"),H;t.registerBinding(t.container,"touchstart",H=o(function(W){if(t.hasTouchStarted=!0,!!L(W)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var fe=t.cy,ge=t.touchData.now,re=t.touchData.earlier;if(W.touches[0]){var he=t.projectIntoViewport(W.touches[0].clientX,W.touches[0].clientY);ge[0]=he[0],ge[1]=he[1]}if(W.touches[1]){var he=t.projectIntoViewport(W.touches[1].clientX,W.touches[1].clientY);ge[2]=he[0],ge[3]=he[1]}if(W.touches[2]){var he=t.projectIntoViewport(W.touches[2].clientX,W.touches[2].clientY);ge[4]=he[0],ge[5]=he[1]}if(W.touches[1]){t.touchData.singleTouchMoved=!0,v(t.dragData.touchDragEles);var ne=t.findContainerClientCoords();Y=ne[0],Q=ne[1],X=ne[2],ie=ne[3],C=W.touches[0].clientX-Y,O=W.touches[0].clientY-Q,D=W.touches[1].clientX-Y,P=W.touches[1].clientY-Q,j=0<=C&&C<=X&&0<=D&&D<=X&&0<=O&&O<=ie&&0<=P&&P<=ie;var ae=fe.pan(),we=fe.zoom();F=J(C,O,D,P),B=Z(C,O,D,P),G=[(C+D)/2,(O+P)/2],z=[(G[0]-ae.x)/we,(G[1]-ae.y)/we];var Te=200,Ce=Te*Te;if(B=1){for(var gt=t.touchData.startPosition=[null,null,null,null,null,null],yt=0;yt=t.touchTapThreshold2}if(fe&&t.touchData.cxt){W.preventDefault();var gt=W.touches[0].clientX-Y,yt=W.touches[0].clientY-Q,tt=W.touches[1].clientX-Y,Ye=W.touches[1].clientY-Q,Je=Z(gt,yt,tt,Ye),Ve=Je/B,je=150,kt=je*je,at=1.5,xt=at*at;if(Ve>=xt||Je>=kt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var it={originalEvent:W,type:"cxttapend",position:{x:he[0],y:he[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(it),t.touchData.start=null):re.emit(it)}}if(fe&&t.touchData.cxt){var it={originalEvent:W,type:"cxtdrag",position:{x:he[0],y:he[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(it):re.emit(it),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var dt=t.findNearestElement(he[0],he[1],!0,!0);(!t.touchData.cxtOver||dt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:W,type:"cxtdragout",position:{x:he[0],y:he[1]}}),t.touchData.cxtOver=dt,dt&&dt.emit({originalEvent:W,type:"cxtdragover",position:{x:he[0],y:he[1]}}))}else if(fe&&W.touches[2]&&re.boxSelectionEnabled())W.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||re.emit({originalEvent:W,type:"boxstart",position:{x:he[0],y:he[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,ge[4]=1,!ge||ge.length===0||ge[0]===void 0?(ge[0]=(he[0]+he[2]+he[4])/3,ge[1]=(he[1]+he[3]+he[5])/3,ge[2]=(he[0]+he[2]+he[4])/3+1,ge[3]=(he[1]+he[3]+he[5])/3+1):(ge[2]=(he[0]+he[2]+he[4])/3,ge[3]=(he[1]+he[3]+he[5])/3),t.redrawHint("select",!0),t.redraw();else if(fe&&W.touches[1]&&!t.touchData.didSelect&&re.zoomingEnabled()&&re.panningEnabled()&&re.userZoomingEnabled()&&re.userPanningEnabled()){W.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var lt=t.dragData.touchDragEles;if(lt){t.redrawHint("drag",!0);for(var It=0;It0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var K;t.registerBinding(e,"touchcancel",K=o(function(W){var fe=t.touchData.start;t.touchData.capture=!1,fe&&fe.unactivate()},"touchcancelHandler"));var se,ce,ue,te;if(t.registerBinding(e,"touchend",se=o(function(W){var fe=t.touchData.start,ge=t.touchData.capture;if(ge)W.touches.length===0&&(t.touchData.capture=!1),W.preventDefault();else return;var re=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var he=t.cy,ne=he.zoom(),ae=t.touchData.now,we=t.touchData.earlier;if(W.touches[0]){var Te=t.projectIntoViewport(W.touches[0].clientX,W.touches[0].clientY);ae[0]=Te[0],ae[1]=Te[1]}if(W.touches[1]){var Te=t.projectIntoViewport(W.touches[1].clientX,W.touches[1].clientY);ae[2]=Te[0],ae[3]=Te[1]}if(W.touches[2]){var Te=t.projectIntoViewport(W.touches[2].clientX,W.touches[2].clientY);ae[4]=Te[0],ae[5]=Te[1]}fe&&fe.unactivate();var Ce;if(t.touchData.cxt){if(Ce={originalEvent:W,type:"cxttapend",position:{x:ae[0],y:ae[1]}},fe?fe.emit(Ce):he.emit(Ce),!t.touchData.cxtDragged){var Ae={originalEvent:W,type:"cxttap",position:{x:ae[0],y:ae[1]}};fe?fe.emit(Ae):he.emit(Ae)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!W.touches[2]&&he.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var $e=he.collection(t.getAllInBox(re[0],re[1],re[2],re[3]));re[0]=void 0,re[1]=void 0,re[2]=void 0,re[3]=void 0,re[4]=0,t.redrawHint("select",!0),he.emit({type:"boxend",originalEvent:W,position:{x:ae[0],y:ae[1]}});var Me=o(function(kt){return kt.selectable()&&!kt.selected()},"eleWouldBeSelected");$e.emit("box").stdFilter(Me).select().emit("boxselect"),$e.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(fe?.unactivate(),W.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!W.touches[1]){if(!W.touches[0]){if(!W.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ye=t.dragData.touchDragEles;if(fe!=null){var He=fe._private.grabbed;v(ye),t.redrawHint("drag",!0),t.redrawHint("eles",!0),He&&(fe.emit("freeon"),ye.emit("free"),t.dragData.didDrag&&(fe.emit("dragfreeon"),ye.emit("dragfree"))),n(fe,["touchend","tapend","vmouseup","tapdragout"],W,{x:ae[0],y:ae[1]}),fe.unactivate(),t.touchData.start=null}else{var ze=t.findNearestElement(ae[0],ae[1],!0,!0);n(ze,["touchend","tapend","vmouseup","tapdragout"],W,{x:ae[0],y:ae[1]})}var Ze=t.touchData.startPosition[0]-ae[0],gt=Ze*Ze,yt=t.touchData.startPosition[1]-ae[1],tt=yt*yt,Ye=gt+tt,Je=Ye*ne*ne;t.touchData.singleTouchMoved||(fe||he.$(":selected").unselect(["tapunselect"]),n(fe,["tap","vclick"],W,{x:ae[0],y:ae[1]}),ce=!1,W.timeStamp-te<=he.multiClickDebounceTime()?(ue&&clearTimeout(ue),ce=!0,te=null,n(fe,["dbltap","vdblclick"],W,{x:ae[0],y:ae[1]})):(ue=setTimeout(function(){ce||n(fe,["onetap","voneclick"],W,{x:ae[0],y:ae[1]})},he.multiClickDebounceTime()),te=W.timeStamp)),fe!=null&&!t.dragData.didDrag&&fe._private.selectable&&Je"u"){var De=[],oe=o(function(W){return{clientX:W.clientX,clientY:W.clientY,force:1,identifier:W.pointerId,pageX:W.pageX,pageY:W.pageY,radiusX:W.width/2,radiusY:W.height/2,screenX:W.screenX,screenY:W.screenY,target:W.target}},"makeTouch"),ke=o(function(W){return{event:W,touch:oe(W)}},"makePointer"),Ie=o(function(W){De.push(ke(W))},"addPointer"),Se=o(function(W){for(var fe=0;fe0)return Y[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:Hpe(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?Y0(i,a):u;var h=2*u;if(Qu(e,r,this.points,s,l,i,a-h,[0,-1],n)||Qu(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(zs(e,r,p)||G0(e,r,h,h,s+i/2-u,l+a/2-u,n)||G0(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};Ju.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ls(3,0)),this.generateRoundPolygon("round-triangle",ls(3,0)),this.generatePolygon("rectangle",ls(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ls(5,0)),this.generateRoundPolygon("round-pentagon",ls(5,0)),this.generatePolygon("hexagon",ls(6,0)),this.generateRoundPolygon("round-hexagon",ls(6,0)),this.generatePolygon("heptagon",ls(7,0)),this.generateRoundPolygon("round-heptagon",ls(7,0)),this.generatePolygon("octagon",ls(8,0)),this.generateRoundPolygon("round-octagon",ls(8,0));var n=new Array(20);{var i=NP(5,0),a=NP(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*S)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(w>=e.deqNoDrawCost*LP)break;var T=e.deq(n,v,y);if(T.length>0)for(var E=0;E0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||JP;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},pQe=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:C6;XP(this,t),this.idsByKey=new Vc,this.keyForId=new Vc,this.cachesByLvl=new Vc,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),jP(t,[{key:"getIdsFor",value:o(function(r){r==null&&oi("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new c1,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Vc,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}]),t}(),fpe=25,d6=50,T6=-4,HP=3,mQe=7.99,gQe=8,yQe=1024,vQe=1024,xQe=1024,bQe=.2,wQe=.8,TQe=10,kQe=.15,EQe=.1,CQe=.9,SQe=.9,AQe=100,_Qe=1,e1={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},LQe=Sa({getKey:null,doesEleInvalidateKey:C6,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:Ppe,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Bx=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=LQe(r);Wt(n,i),n.lookup=new pQe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),Yi=Bx.prototype;Yi.reasons=e1;Yi.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};Yi.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};Yi.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new eb(function(r,n){return n.reqs-r.reqs});return e};Yi.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};Yi.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(tB(l*r))),n=mQe||n>HP)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=fpe?g=fpe:f<=d6?g=d6:g=Math.ceil(f/d6)*d6,f>xQe||d>vQe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;N--)L=a.getElement(t,e,r,N,e1.downscale);M()}else return a.queueElement(t,E.level-1),E;else{var k;if(!w&&!S&&!T)for(var I=n-1;I>=T6;I--){var C=u.get(t,I);if(C){k=C;break}}if(b(k))return a.queueElement(t,n),k;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+gQe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};Yi.invalidateElements=function(t){for(var e=0;e=bQe*t.width&&this.retireTexture(t)};Yi.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>wQe&&t.fullnessChecks>=TQe?Af(r,t):t.fullnessChecks++};Yi.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;Af(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,eB(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),Af(i,s),n.push(s),s}};Yi.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};Yi.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s<_Qe&&r.size()>0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,e1.dequeue)}return i};Yi.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=ZP,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};Yi.onDequeue=function(t){this.onDequeues.push(t)};Yi.offDequeue=function(t){Af(this.onDequeues,t)};Yi.setupDequeueing=Yme.setupDequeueing({deqRedrawThreshold:AQe,deqCost:kQe,deqAvgCost:EQe,deqNoDrawCost:CQe,deqFastCost:SQe,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=RQe||r>M6)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var M=o(function(O){if(n.validateLayersElesOrdering(O,t),n.levelIsComplete(O,t))return m=u[O],!0},"canUseAsTmpLvl"),N=o(function(O){if(!m)for(var D=r+O;zx<=D&&D<=M6&&!M(D);D+=O);},"checkLvls");N(1),N(-1);for(var k=f.length-1;k>=0;k--){var I=f[k];I.invalid&&Af(f,I)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=$s();for(var M=0;MzQe)return null;var I=n.makeLayer(d,r);if(N!=null){var C=f.indexOf(N)+1;f.splice(C,0,I)}else(M.insert===void 0||M.insert)&&f.unshift(I);return I},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/DQe,w=!l,S=0;S=b||!Upe(x.bb,T.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||w?n.queueLayer(x,T):n.drawEleInLayer(x,T,r,e),x.eles.push(T),_[r]=x}return m||(w?null:f)};Aa.getEleLevelForLayerLevel=function(t,e){return t};Aa.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,$Qe),a.setImgSmoothing(s,!0))};Aa.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Aa.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Aa.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ku(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Aa.invalidateLayer=function(t){if(this.lastInvalidationTime=Ku(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];Af(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,w=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,O),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,O),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),S=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],O);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),T=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),E=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),_=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,O)},"drawArrows"),A=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var L=e.pstyle("ghost").value==="yes";if(L){var M=e.pstyle("ghost-offset-x").pfValue,N=e.pstyle("ghost-offset-y").pfValue,k=e.pstyle("ghost-opacity").value,I=x*k;t.translate(M,N),w(I),_(I),t.translate(-M,-N)}else S();E(),w(),_(),T(),A(),r&&t.translate(u.x1,u.y1)}};Xme=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");eh.drawEdgeOverlay=Xme("overlay");eh.drawEdgeUnderlay=Xme("underlay");eh.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};K0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(RP,"roundRect");K0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation"),l=Ul(i,"labelAngle",e);return s.strValue==="autorotate"?r=t.isEdge()?l:0:s.strValue==="none"?r=0:r=s.pfValue,r};K0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=Ul(s,"labelX",r),h=Ul(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=Ul(s,"labelWidth",r),y=Ul(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,S=e.pstyle("text-valign").value;b&&(w="center",S="center"),u+=v,h+=x;var T;switch(n?T=this.getTextAngle(e,r):T=0,T!==0&&(f=u,d=h,t.translate(f,d),t.rotate(T),u=0,h=0),S){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var E=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,A=e.pstyle("text-border-width").pfValue,L=e.pstyle("text-background-padding").pfValue,M=e.pstyle("text-background-shape").strValue,N=M.indexOf("round")===0,k=2;if(E>0||A>0&&_>0){var I=u-L;switch(w){case"left":I-=g;break;case"center":I-=g/2;break}var C=h-y-L,O=g+2*L,D=y+2*L;if(E>0){var P=t.fillStyle,F=e.pstyle("text-background-color").value;t.fillStyle="rgba("+F[0]+","+F[1]+","+F[2]+","+E*l+")",N?RP(t,I,C,O,D,k):t.fillRect(I,C,O,D),t.fillStyle=P}if(A>0&&_>0){var B=t.strokeStyle,G=t.lineWidth,z=e.pstyle("text-border-color").value,Y=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+_*l+")",t.lineWidth=A,t.setLineDash)switch(Y){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=A/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(N?RP(t,I,C,O,D,k,"stroke"):t.strokeRect(I,C,O,D),Y==="double"){var Q=A/2;N?RP(t,I+Q,C+Q,O-Q*2,D-Q*2,k,"stroke"):t.strokeRect(I+Q,C+Q,O-Q*2,D-Q*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=G,t.strokeStyle=B}}var X=2*e.pstyle("text-outline-width").pfValue;if(X>0&&(t.lineWidth=X),e.pstyle("text-wrap").value==="wrap"){var ie=Ul(s,"labelWrapCachedLines",r),j=Ul(s,"labelLineHeight",r),J=g/2,Z=this.getLabelJustification(e);switch(Z==="auto"||(w==="left"?Z==="left"?u+=-g:Z==="center"&&(u+=-J):w==="center"?Z==="left"?u+=-J:Z==="right"&&(u+=J):w==="right"&&(Z==="center"?u+=J:Z==="right"&&(u+=g))),S){case"top":h-=(ie.length-1)*j;break;case"center":case"bottom":h-=(ie.length-1)*j;break}for(var H=0;H0&&t.strokeText(ie[H],u,h),t.fillText(ie[H],u,h),h+=j}else X>0&&t.strokeText(p,u,h),t.fillText(p,u,h);T!==0&&(t.rotate(-T),t.translate(-f,-d))}}};v1={};v1.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!ft(d.x)||!ft(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),w=b.value,S=new Array(w.length),T=new Array(w.length),E=0,_=0;_0&&arguments[0]!==void 0?arguments[0]:I;s.eleFillStyle(t,e,ne)},"setupShapeColor"),H=o(function(){var ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:z;s.colorStrokeStyle(t,C[0],C[1],C[2],ne)},"setupBorderColor"),q=o(function(){var ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ie;s.colorStrokeStyle(t,Q[0],Q[1],Q[2],ne)},"setupOutlineColor"),K=o(function(ne,ae,we,Te){var Ce=s.nodePathCache=s.nodePathCache||[],Ae=Ope(we==="polygon"?we+","+Te.join(","):we,""+ae,""+ne,""+J),$e=Ce[Ae],Me,ye=!1;return $e!=null?(Me=$e,ye=!0,f.pathCache=Me):(Me=new Path2D,Ce[Ae]=f.pathCache=Me),{path:Me,cacheHit:ye}},"getPath"),se=e.pstyle("shape").strValue,ce=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var ue=K(l,u,se,ce);g=ue.path,y=ue.cacheHit}var te=o(function(){if(!y){var ne=d;m&&(ne={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,ne.x,ne.y,l,u,J,f)}m?t.fill(g):t.fill()},"drawShape"),De=o(function(){for(var ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,we=h.backgrounding,Te=0,Ce=0;Ce0&&arguments[0]!==void 0?arguments[0]:!1,ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,ae),ne&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,J,f)))},"drawPie"),ke=o(function(){var ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,ae=(N>0?N:-N)*ne,we=N>0?0:255;N!==0&&(s.colorFillStyle(t,we,we,we,ae),m?t.fill(g):t.fill())},"darken"),Ie=o(function(){if(k>0){if(t.lineWidth=k,t.lineCap=P,t.lineJoin=D,t.setLineDash)switch(O){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(B),t.lineDashOffset=G;break;case"solid":case"double":t.setLineDash([]);break}if(F!=="center"){if(t.save(),t.lineWidth*=2,F==="inside")m?t.clip(g):t.clip();else{var ne=new Path2D;ne.rect(-l/2-k,-u/2-k,l+2*k,u+2*k),ne.addPath(g),t.clip(ne,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(O==="double"){t.lineWidth=k/3;var ae=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=ae}t.setLineDash&&t.setLineDash([])}},"drawBorder"),Se=o(function(){if(Y>0){if(t.lineWidth=Y,t.lineCap="butt",t.setLineDash)switch(X){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var ne=d;m&&(ne={x:0,y:0});var ae=s.getNodeShape(e),we=k;F==="inside"&&(we=0),F==="outside"&&(we*=2);var Te=(l+we+(Y+j))/l,Ce=(u+we+(Y+j))/u,Ae=l*Te,$e=u*Ce,Me=s.nodeShapes[ae].points,ye;if(m){var He=K(Ae,$e,ae,Me);ye=He.path}if(ae==="ellipse")s.drawEllipsePath(ye||t,ne.x,ne.y,Ae,$e);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ae)){var ze=0,Ze=0,gt=0;ae==="round-diamond"?ze=(we+j+Y)*1.4:ae==="round-heptagon"?(ze=(we+j+Y)*1.075,gt=-(we/2+j+Y)/35):ae==="round-hexagon"?ze=(we+j+Y)*1.12:ae==="round-pentagon"?(ze=(we+j+Y)*1.13,gt=-(we/2+j+Y)/15):ae==="round-tag"?(ze=(we+j+Y)*1.12,Ze=(we/2+Y+j)*.07):ae==="round-triangle"&&(ze=(we+j+Y)*(Math.PI/2),gt=-(we+j/2+Y)/Math.PI),ze!==0&&(Te=(l+ze)/l,Ae=l*Te,["round-hexagon","round-tag"].includes(ae)||(Ce=(u+ze)/u,$e=u*Ce)),J=J==="auto"?Wpe(Ae,$e):J;for(var yt=Ae/2,tt=$e/2,Ye=J+(we+Y+j)/2,Je=new Array(Me.length/2),Ve=new Array(Me.length/2),je=0;je0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");v1.drawNodeOverlay=jme("overlay");v1.drawNodeUnderlay=jme("underlay");v1.hasPie=function(t){return t=t[0],t._private.hasPie};v1.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=n.x,l=n.y,u=e.width(),h=e.height(),f=Math.min(u,h)/2,d=0,p=this.usePaths();p&&(s=0,l=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2);for(var m=1;m<=i.pieBackgroundN;m++){var g=e.pstyle("pie-"+m+"-background-size").value,y=e.pstyle("pie-"+m+"-background-color").value,v=e.pstyle("pie-"+m+"-background-opacity").value*r,x=g/100;x+d>1&&(x=1-d);var b=1.5*Math.PI+2*Math.PI*d,w=2*Math.PI*x,S=b+w;g===0||d>=1||d+x>1||(t.beginPath(),t.moveTo(s,l),t.arc(s,l,f,b,S),t.closePath(),this.colorFillStyle(t,y[0],y[1],y[2],v),t.fill(),d+=x)}};bo={},QQe=100;bo.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};bo.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;is.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!d&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var b=u.style(),w=u.zoom(),S=i!==void 0?i:w,T=u.pan(),E={x:T.x,y:T.y},_={zoom:w,pan:{x:T.x,y:T.y}},A=s.prevViewport,L=A===void 0||_.zoom!==A.zoom||_.pan.x!==A.pan.x||_.pan.y!==A.pan.y;!L&&!(y&&!g)&&(s.motionBlurPxRatio=1),a&&(E=a),S*=l,E.x*=l,E.y*=l;var M=s.getCachedZSortedEles();function N(ue,te,De,oe,ke){var Ie=ue.globalCompositeOperation;ue.globalCompositeOperation="destination-out",s.colorFillStyle(ue,255,255,255,s.motionBlurTransparency),ue.fillRect(te,De,oe,ke),ue.globalCompositeOperation=Ie}o(N,"mbclear");function k(ue,te){var De,oe,ke,Ie;!s.clearingMotionBlur&&(ue===h.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||ue===h.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(De={x:T.x*m,y:T.y*m},oe=w*m,ke=s.canvasWidth*m,Ie=s.canvasHeight*m):(De=E,oe=S,ke=s.canvasWidth,Ie=s.canvasHeight),ue.setTransform(1,0,0,1,0,0),te==="motionBlur"?N(ue,0,0,ke,Ie):!e&&(te===void 0||te)&&ue.clearRect(0,0,ke,Ie),r||(ue.translate(De.x,De.y),ue.scale(oe,oe)),a&&ue.translate(a.x,a.y),i&&ue.scale(i,i)}if(o(k,"setContextTransform"),d||(s.textureDrawLastFrame=!1),d){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=u.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var I=s.data.bufferContexts[s.TEXTURE_BUFFER];I.setTransform(1,0,0,1,0,0),I.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:I,drawOnlyNodeLayer:!0,forcedPxRatio:l*s.textureMult});var _=s.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:s.canvasWidth,height:s.canvasHeight};_.mpan={x:(0-_.pan.x)/_.zoom,y:(0-_.pan.y)/_.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var C=h.contexts[s.NODE],O=s.textureCache.texture,_=s.textureCache.viewport;C.setTransform(1,0,0,1,0,0),p?N(C,0,0,_.width,_.height):C.clearRect(0,0,_.width,_.height);var D=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;s.colorFillStyle(C,D[0],D[1],D[2],P),C.fillRect(0,0,_.width,_.height);var w=u.zoom();k(C,!1),C.clearRect(_.mpan.x,_.mpan.y,_.width/_.zoom/l,_.height/_.zoom/l),C.drawImage(O,_.mpan.x,_.mpan.y,_.width/_.zoom/l,_.height/_.zoom/l)}else s.textureOnViewport&&!e&&(s.textureCache=null);var F=u.extent(),B=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),G=s.hideEdgesOnViewport&&B,z=[];if(z[s.NODE]=!f[s.NODE]&&p&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,z[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),z[s.DRAG]=!f[s.DRAG]&&p&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,z[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||r||n||z[s.NODE]){var Y=p&&!z[s.NODE]&&m!==1,C=e||(Y?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:h.contexts[s.NODE]),Q=p&&!Y?"motionBlur":void 0;k(C,Q),G?s.drawCachedNodes(C,M.nondrag,l,F):s.drawLayeredElements(C,M.nondrag,l,F),s.debug&&s.drawDebugPoints(C,M.nondrag),!r&&!p&&(f[s.NODE]=!1)}if(!n&&(f[s.DRAG]||r||z[s.DRAG])){var Y=p&&!z[s.DRAG]&&m!==1,C=e||(Y?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:h.contexts[s.DRAG]);k(C,p&&!Y?"motionBlur":void 0),G?s.drawCachedNodes(C,M.drag,l,F):s.drawCachedElements(C,M.drag,l,F),s.debug&&s.drawDebugPoints(C,M.drag),!r&&!p&&(f[s.DRAG]=!1)}if(s.showFps||!n&&f[s.SELECT_BOX]&&!r){var C=e||h.contexts[s.SELECT_BOX];if(k(C),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var w=s.cy.zoom(),X=b.core("selection-box-border-width").value/w;C.lineWidth=X,C.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",C.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),X>0&&(C.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",C.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(h.bgActivePosistion&&!s.hoverData.selecting){var w=s.cy.zoom(),ie=h.bgActivePosistion;C.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",C.beginPath(),C.arc(ie.x,ie.y,b.core("active-bg-size").pfValue/w,0,2*Math.PI),C.fill()}var j=s.lastRedrawTime;if(s.showFps&&j){j=Math.round(j);var J=Math.round(1e3/j);C.setTransform(1,0,0,1,0,0),C.fillStyle="rgba(255, 0, 0, 0.75)",C.strokeStyle="rgba(255, 0, 0, 0.75)",C.lineWidth=1,C.fillText("1 frame = "+j+" ms = "+J+" fps",0,20);var Z=60;C.strokeRect(0,30,250,20),C.fillRect(0,30,250*Math.min(J/Z,1),20)}r||(f[s.SELECT_BOX]=!1)}if(p&&m!==1){var H=h.contexts[s.NODE],q=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],K=h.contexts[s.DRAG],se=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],ce=o(function(te,De,oe){te.setTransform(1,0,0,1,0,0),oe||!x?te.clearRect(0,0,s.canvasWidth,s.canvasHeight):N(te,0,0,s.canvasWidth,s.canvasHeight);var ke=m;te.drawImage(De,0,0,s.canvasWidth*ke,s.canvasHeight*ke,0,0,s.canvasWidth,s.canvasHeight)},"drawMotionBlur");(f[s.NODE]||z[s.NODE])&&(ce(H,q,z[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||z[s.DRAG])&&(ce(K,se,z[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=_,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),p&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!d,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},QQe)),e||u.emit("render")};Nf={};Nf.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(ZQe,"b64ToBlob");o(xpe,"b64UriToB64");o(Qme,"output");ab.png=function(t){return Qme(t,this.bufferCanvasImage(t),"image/png")};ab.jpg=function(t){return Qme(t,this.bufferCanvasImage(t),"image/jpeg")};Zme={};Zme.nodeShapeImpl=function(t,e,r,n,i,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};JQe=Jme,Yr=Jme.prototype;Yr.CANVAS_LAYERS=3;Yr.SELECT_BOX=0;Yr.DRAG=1;Yr.NODE=2;Yr.BUFFER_COUNT=3;Yr.TEXTURE_BUFFER=0;Yr.MOTIONBLUR_BUFFER_NODE=1;Yr.MOTIONBLUR_BUFFER_DRAG=2;o(Jme,"CanvasRenderer");Yr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Yr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Yr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Yr.SELECT_BOX]=e;break}};eZe=typeof Path2D<"u";Yr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Yr.usePaths=function(){return eZe&&this.pathsEnabled};Yr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Yr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Yr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":Hi(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[qme,Yc,eh,yB,K0,v1,bo,Nf,ab,Zme].forEach(function(t){Wt(Yr,t)});tZe=[{name:"null",impl:Ime},{name:"base",impl:Hme},{name:"canvas",impl:JQe}],rZe=[{type:"layout",extensions:lQe},{type:"renderer",extensions:tZe}],ege={},tge={};o(rge,"setExtension");o(nge,"getExtension");o(nZe,"setModule");o(iZe,"getModule");qP=o(function(){if(arguments.length===2)return nge.apply(null,arguments);if(arguments.length===3)return rge.apply(null,arguments);if(arguments.length===4)return iZe.apply(null,arguments);if(arguments.length===5)return nZe.apply(null,arguments);oi("Invalid extension access syntax")},"extension");Kx.prototype.extension=qP;rZe.forEach(function(t){t.extensions.forEach(function(e){rge(t.type,e.name,e.impl)})});ige=o(function t(){if(!(this instanceof t))return new t;this.length=0},"Stylesheet"),X0=ige.prototype;X0.instanceString=function(){return"stylesheet"};X0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};X0.css=function(t,e){var r=this.length-1;if(zt(t))this[r].properties.push({name:t,value:e});else if(Mr(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o(function(e,r){typeof sb=="object"&&typeof xB=="object"?xB.exports=r():typeof define=="function"&&define.amd?define([],r):typeof sb=="object"?sb.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(sb,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)}([function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,w=0;w-1&&E>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(T,1),x.target!=x.source&&x.target.edges.splice(E,1);var S=x.source.owner.getEdges().indexOf(x);if(S==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(S,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,w=this.getNodes(),S=w.length,T=0;Tv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(w[0].getParent().paddingLeft!=null?b=w[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,w,S,T,E,_,A=this.nodes,L=A.length,M=0;Mw&&(y=w),vT&&(x=T),bw&&(y=w),vT&&(x=T),b=this.nodes.length){var L=0;v.forEach(function(M){M.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=E,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,k=!0):(l[0]=g,l[1]=m,k=!0):C===D&&(u>f?(l[0]=p,l[1]=m,k=!0):(l[0]=x,l[1]=v,k=!0)),-O===D?f>u?(l[2]=_,l[3]=A,I=!0):(l[2]=E,l[3]=T,I=!0):O===D&&(f>u?(l[2]=S,l[3]=T,I=!0):(l[2]=L,l[3]=A,I=!0)),k&&I)return!1;if(u>f?h>d?(P=this.getCardinalDirection(C,D,4),F=this.getCardinalDirection(O,D,2)):(P=this.getCardinalDirection(-C,D,3),F=this.getCardinalDirection(-O,D,1)):h>d?(P=this.getCardinalDirection(-C,D,1),F=this.getCardinalDirection(-O,D,3)):(P=this.getCardinalDirection(C,D,2),F=this.getCardinalDirection(O,D,4)),!k)switch(P){case 1:G=m,B=u+-w/D,l[0]=B,l[1]=G;break;case 2:B=x,G=h+b*D,l[0]=B,l[1]=G;break;case 3:G=v,B=u+w/D,l[0]=B,l[1]=G;break;case 4:B=y,G=h+-b*D,l[0]=B,l[1]=G;break}if(!I)switch(F){case 1:Y=T,z=f+-N/D,l[2]=z,l[3]=Y;break;case 2:z=L,Y=d+M*D,l[2]=z,l[3]=Y;break;case 3:Y=A,z=f+N/D,l[2]=z,l[3]=Y;break;case 4:z=_,Y=d+-M*D,l[2]=z,l[3]=Y;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,w=void 0,S=void 0,T=void 0,E=void 0,_=void 0,A=void 0,L=void 0;return w=p-f,T=h-d,_=d*f-h*p,S=v-g,E=m-y,A=y*g-m*v,L=w*E-S*T,L===0?null:(x=(T*A-E*_)/L,b=(S*_-w*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(w.push(T[0]);w.length>0&&g;){var E=w[0];w.splice(0,1),b.add(E);for(var _=E.getEdges(),x=0;x<_.length;x++){var A=_[x].getOtherEnd(E);if(S.get(E)!=A)if(!b.has(A))w.push(A),S.set(A,E);else{g=!1;break}}}if(!g)m=[];else{var L=[].concat(n(b));m.push(L);for(var x=0;x-1&&T.splice(N,1)}b=new Set,S=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=S.getNeighborsList();L.forEach(function(k){if(y.indexOf(k)<0){var I=v.get(k),C=I-1;C==1&&E.push(k),v.set(k,C)}})}y=y.concat(E),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mw||b>w)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(w=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>w||b>w)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||w>=x[0].length)){for(var S=0;Sh},"_defaultCompareFunction")}]),l}();t.exports=s},function(t,e,r){"use strict";var n=function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o(function(e,r){typeof ob=="object"&&typeof wB=="object"?wB.exports=r(bB()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof ob=="object"?ob.coseBase=r(bB()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(ob,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(T);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(A){return E.has(A)});this.graphManager.setAllNodesToApplyGravitation(_),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},w.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var T=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(L){return T.has(L)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var _=!this.isTreeGrowing&&!this.isGrowthFinished,A=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(_,A),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},w.prototype.getPositionsData=function(){for(var T=this.graphManager.getAllNodes(),E={},_=0;_1){var k;for(k=0;kA&&(A=Math.floor(N.y)),M=Math.floor(N.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-N.x/2,d.WORLD_CENTER_Y-N.y/2))},w.radialLayout=function(T,E,_){var A=Math.max(this.maxDiagonalInTree(T),h.DEFAULT_RADIAL_SEPARATION);w.branchRadialLayout(E,null,0,359,0,A);var L=x.calculateBounds(T),M=new b;M.setDeviceOrgX(L.getMinX()),M.setDeviceOrgY(L.getMinY()),M.setWorldOrgX(_.x),M.setWorldOrgY(_.y);for(var N=0;N1;){var Q=Y[0];Y.splice(0,1);var X=P.indexOf(Q);X>=0&&P.splice(X,1),G--,F--}E!=null?z=(P.indexOf(Y[0])+1)%G:z=0;for(var ie=Math.abs(A-_)/F,j=z;B!=F;j=++j%G){var J=P[j].getOtherEnd(T);if(J!=E){var Z=(_+B*ie)%360,H=(Z+ie)%360;w.branchRadialLayout(J,T,Z,H,L+M,M),B++}}},w.maxDiagonalInTree=function(T){for(var E=y.MIN_VALUE,_=0;_E&&(E=L)}return E},w.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},w.prototype.groupZeroDegreeMembers=function(){var T=this,E={};this.memberGroups={},this.idToDummyNode={};for(var _=[],A=this.graphManager.getAllNodes(),L=0;L"u"&&(E[k]=[]),E[k]=E[k].concat(M)}Object.keys(E).forEach(function(I){if(E[I].length>1){var C="DummyCompound_"+I;T.memberGroups[C]=E[I];var O=E[I][0].getParent(),D=new l(T.graphManager);D.id=C,D.paddingLeft=O.paddingLeft||0,D.paddingRight=O.paddingRight||0,D.paddingBottom=O.paddingBottom||0,D.paddingTop=O.paddingTop||0,T.idToDummyNode[C]=D;var P=T.getGraphManager().add(T.newGraph(),D),F=O.getChild();F.add(D);for(var B=0;B=0;T--){var E=this.compoundOrder[T],_=E.id,A=E.paddingLeft,L=E.paddingTop;this.adjustLocations(this.tiledMemberPack[_],E.rect.x,E.rect.y,A,L)}},w.prototype.repopulateZeroDegreeMembers=function(){var T=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(_){var A=T.idToDummyNode[_],L=A.paddingLeft,M=A.paddingTop;T.adjustLocations(E[_],A.rect.x,A.rect.y,L,M)})},w.prototype.getToBeTiled=function(T){var E=T.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var _=T.getChild();if(_==null)return this.toBeTiled[E]=!1,!1;for(var A=_.getNodes(),L=0;L0)return this.toBeTiled[E]=!1,!1;if(M.getChild()==null){this.toBeTiled[M.id]=!1;continue}if(!this.getToBeTiled(M))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},w.prototype.getNodeDegree=function(T){for(var E=T.id,_=T.getEdges(),A=0,L=0;L<_.length;L++){var M=_[L];M.getSource().id!==M.getTarget().id&&(A=A+1)}return A},w.prototype.getNodeDegreeWithChildren=function(T){var E=this.getNodeDegree(T);if(T.getChild()==null)return E;for(var _=T.getChild().getNodes(),A=0;A<_.length;A++){var L=_[A];E+=this.getNodeDegreeWithChildren(L)}return E},w.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},w.prototype.fillCompexOrderByDFS=function(T){for(var E=0;EI&&(I=O.rect.height)}_+=I+T.verticalPadding}},w.prototype.tileCompoundMembers=function(T,E){var _=this;this.tiledMemberPack=[],Object.keys(T).forEach(function(A){var L=E[A];_.tiledMemberPack[A]=_.tileNodes(T[A],L.paddingLeft+L.paddingRight),L.rect.width=_.tiledMemberPack[A].width,L.rect.height=_.tiledMemberPack[A].height})},w.prototype.tileNodes=function(T,E){var _=h.TILING_PADDING_VERTICAL,A=h.TILING_PADDING_HORIZONTAL,L={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:_,horizontalPadding:A};T.sort(function(k,I){return k.rect.width*k.rect.height>I.rect.width*I.rect.height?-1:k.rect.width*k.rect.height0&&(N+=T.horizontalPadding),T.rowWidth[_]=N,T.width0&&(k+=T.verticalPadding);var I=0;k>T.rowHeight[_]&&(I=T.rowHeight[_],T.rowHeight[_]=k,I=T.rowHeight[_]-I),T.height+=I,T.rows[_].push(E)},w.prototype.getShortestRowIndex=function(T){for(var E=-1,_=Number.MAX_VALUE,A=0;A_&&(E=A,_=T.rowWidth[A]);return E},w.prototype.canAddHorizontal=function(T,E,_){var A=this.getShortestRowIndex(T);if(A<0)return!0;var L=T.rowWidth[A];if(L+T.horizontalPadding+E<=T.width)return!0;var M=0;T.rowHeight[A]<_&&A>0&&(M=_+T.verticalPadding-T.rowHeight[A]);var N;T.width-L>=E+T.horizontalPadding?N=(T.height+M)/(L+E+T.horizontalPadding):N=(T.height+M)/T.width,M=_+T.verticalPadding;var k;return T.widthM&&E!=_){A.splice(-1,1),T.rows[_].push(L),T.rowWidth[E]=T.rowWidth[E]-M,T.rowWidth[_]=T.rowWidth[_]+M,T.width=T.rowWidth[instance.getLongestRowIndex(T)];for(var N=Number.MIN_VALUE,k=0;kN&&(N=A[k].height);E>0&&(N+=T.verticalPadding);var I=T.rowHeight[E]+T.rowHeight[_];T.rowHeight[E]=N,T.rowHeight[_]0)for(var F=L;F<=M;F++)P[0]+=this.grid[F][N-1].length+this.grid[F][N].length-1;if(M0)for(var F=N;F<=k;F++)P[3]+=this.grid[L-1][F].length+this.grid[L][F].length-1;for(var B=y.MAX_VALUE,G,z,Y=0;Y{"use strict";o(function(e,r){typeof lb=="object"&&typeof kB=="object"?kB.exports=r(TB()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof lb=="object"?lb.cytoscapeCoseBilkent=r(TB()):e.cytoscapeCoseBilkent=r(e.coseBase)},"webpackUniversalModuleDefinition")(lb,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var w in v)b[w]=v[w];for(var w in x)b[w]=x[w];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,w=this.idToLNode={},S=this.layout=new l,T=this;T.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var E=S.newGraphManager();this.gm=E;var _=this.options.eles.nodes(),A=this.options.eles.edges();this.root=E.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(_),S);for(var L=0;L0){var k;k=b.getGraphManager().add(b.newGraph(),_),this.processChildrenList(k,E,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y}])})});function fZe(t,e,r,n,i){return t.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+(i.width-e)/2+", "+r+")")}var sZe,oZe,lZe,cZe,uZe,hZe,dZe,pZe,sge,oge,lge=R(()=>{"use strict";Al();xr();sZe=12,oZe=o(function(t,e,r,n){e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 ${r.height-5} v${-r.height+2*5} q0,-5 5,-5 h${r.width-2*5} q5,0 5,5 v${r.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)},"defaultBkg"),lZe=o(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("width",r.width)},"rectBkg"),cZe=o(function(t,e,r){let n=r.width,i=r.height,a=.15*n,s=.25*n,l=.35*n,u=.2*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${n*.25},${-1*n*.1} a${l},${l} 1 0,1 ${n*.4},${-1*n*.1} - a${o},${o} 1 0,1 ${n*.35},${1*n*.2} + a${s},${s} 1 0,1 ${n*.35},${1*n*.2} a${a},${a} 1 0,1 ${n*.15},${1*i*.35} a${u},${u} 1 0,1 ${-1*n*.15},${1*i*.65} - a${o},${a} 1 0,1 ${-1*n*.25},${n*.15} + a${s},${a} 1 0,1 ${-1*n*.25},${n*.15} a${l},${l} 1 0,1 ${-1*n*.5},0 a${a},${a} 1 0,1 ${-1*n*.25},${-1*n*.15} a${a},${a} 1 0,1 ${-1*n*.1},${-1*i*.35} a${u},${u} 1 0,1 ${n*.1},${-1*i*.65} - H0 V0 Z`)},"cloudBkg"),Fje=s(function(t,e,r){let n=r.width,i=r.height,a=.15*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${n*.25},${-1*i*.1} + H0 V0 Z`)},"cloudBkg"),uZe=o(function(t,e,r){let n=r.width,i=r.height,a=.15*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${n*.25},${-1*i*.1} a${a},${a} 1 0,0 ${n*.25},0 a${a},${a} 1 0,0 ${n*.25},0 a${a},${a} 1 0,0 ${n*.25},${1*i*.1} @@ -1864,9 +1864,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho a${a*.8},${a*.8} 1 0,0 0,${-1*i*.34} a${a},${a} 1 0,0 ${n*.1},${-1*i*.33} - H0 V0 Z`)},"bangBkg"),zje=s(function(t,e,r){e.append("circle").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("r",r.width/2)},"circleBkg");s($je,"insertPolygonShape");Gje=s(function(t,e,r){let n=r.height,a=n/4,o=r.width-r.padding+2*a,l=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-n/2},{x:o-a,y:-n},{x:a,y:-n},{x:0,y:-n/2}];$je(e,o,n,l,r)},"hexagonBkg"),Vje=s(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("rx",r.padding).attr("ry",r.padding).attr("width",r.width)},"roundedRectBkg"),Rpe=s(async function(t,e,r,n,i){let a=i.htmlLabels,o=n%(Nje-1),l=e.append("g");r.section=o;let u="section-"+o;o<0&&(u+=" section-root"),l.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+u);let h=l.append("g"),f=l.append("g"),d=r.descr.replace(/()/g,` -`);await vs(f,d,{useHtmlLabels:a,width:r.width,classes:"mindmap-node-label"},i),a||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=f.node().getBBox(),[m]=nc(i.fontSize);if(r.height=p.height+m*1.1*.5+r.padding,r.width=p.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,l.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),f.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;let g=r.height;r.height=Math.max(g,60);let y=Math.abs(r.height-g);l.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+y/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),f.attr("transform","translate("+(25+r.width/2)+", "+(y/2+r.padding/2)+")")}else if(a){let g=(r.width-p.width)/2,y=(r.height-p.height)/2;f.attr("transform","translate("+g+", "+y+")")}else{let g=r.width/2,y=r.padding/2;f.attr("transform","translate("+g+", "+y+")")}switch(r.type){case t.nodeType.DEFAULT:Oje(t,h,r,o);break;case t.nodeType.ROUNDED_RECT:Vje(t,h,r,o);break;case t.nodeType.RECT:Pje(t,h,r,o);break;case t.nodeType.CIRCLE:h.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),zje(t,h,r,o);break;case t.nodeType.CLOUD:Bje(t,h,r,o);break;case t.nodeType.BANG:Fje(t,h,r,o);break;case t.nodeType.HEXAGON:Gje(t,h,r,o);break}return t.setElementForId(r.id,l),r.height},"drawNode"),Mpe=s(function(t,e){let r=t.getElementById(e.id),n=e.x||0,i=e.y||0;r.attr("transform","translate("+n+","+i+")")},"positionNode")});async function Ope(t,e,r,n,i){await Rpe(t,e,r,n,i),r.children&&await Promise.all(r.children.map((a,o)=>Ope(t,e,a,n<0?o:n,i)))}function Uje(t,e){e.edges().map((r,n)=>{let i=r.data();if(r[0]._private.bodyBounds){let a=r[0]._private.rscratch;V.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}})}function Ppe(t,e,r,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(i=>{Ppe(i,e,r,n+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:n,section:i.section}})})}function qje(t,e){return new Promise(r=>{let n=Me("body").append("div").attr("id","cy").attr("style","display:none"),i=Yu({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),Ppe(t,i,e,0),i.nodes().forEach(function(a){a.layoutDimensions=()=>{let o=a.data();return{w:o.width,h:o.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(a=>{V.info("Ready",a),r(i)})})}function Wje(t,e){e.nodes().map((r,n)=>{let i=r.data();i.x=r.position().x,i.y=r.position().y,Mpe(t,i);let a=t.getElementById(i.nodeId);V.info("Id:",n,"Position: (",r.position().x,", ",r.position().y,")",i),a.attr("transform",`translate(${r.position().x-i.width/2}, ${r.position().y-i.height/2})`),a.attr("attr",`apa-${n})`)})}var Npe,Hje,Bpe,Fpe=_(()=>{"use strict";Lpe();Npe=ka(Dpe(),1);Xt();gt();it();p0();Un();Ipe();Pl();Yu.use(Npe.default);s(Ope,"drawNodes");s(Uje,"drawEdges");s(Ppe,"addNodes");s(qje,"layoutMindmap");s(Wje,"positionNodes");Hje=s(async(t,e,r,n)=>{V.debug(`Rendering mindmap diagram -`+t);let i=n.db,a=i.getMindmap();if(!a)return;let o=le();o.htmlLabels=!1;let l=Bo(e),u=l.append("g");u.attr("class","mindmap-edges");let h=l.append("g");h.attr("class","mindmap-nodes"),await Ope(i,h,a,-1,o);let f=await qje(a,o);Uje(u,f),Wje(i,f),ql(void 0,l,o.mindmap?.padding??dr.mindmap.padding,o.mindmap?.useMaxWidth??dr.mindmap.useMaxWidth)},"draw"),Bpe={draw:Hje}});var Yje,Xje,zpe,$pe=_(()=>{"use strict";Ho();Yje=s(t=>{let e="";for(let r=0;r)/g,` +`);await ta(f,d,{useHtmlLabels:a,width:r.width,classes:"mindmap-node-label"},i),a||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=f.node().getBBox(),[m]=mc(i.fontSize);if(r.height=p.height+m*1.1*.5+r.padding,r.width=p.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,l.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;let g=r.height;r.height=Math.max(g,60);let y=Math.abs(r.height-g);l.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+y/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+(25+r.width/2)+", "+(y/2+r.padding/2)+")")}else if(a){let g=(r.width-p.width)/2,y=(r.height-p.height)/2;f.attr("transform","translate("+g+", "+y+")")}else{let g=r.width/2,y=r.padding/2;f.attr("transform","translate("+g+", "+y+")")}switch(r.type){case t.nodeType.DEFAULT:oZe(t,h,r,s);break;case t.nodeType.ROUNDED_RECT:pZe(t,h,r,s);break;case t.nodeType.RECT:lZe(t,h,r,s);break;case t.nodeType.CIRCLE:h.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),hZe(t,h,r,s);break;case t.nodeType.CLOUD:cZe(t,h,r,s);break;case t.nodeType.BANG:uZe(t,h,r,s);break;case t.nodeType.HEXAGON:dZe(t,h,r,s);break}return t.setElementForId(r.id,l),r.height},"drawNode"),oge=o(function(t,e){let r=t.getElementById(e.id),n=e.x||0,i=e.y||0;r.attr("transform","translate("+n+","+i+")")},"positionNode")});async function uge(t,e,r,n,i){await sge(t,e,r,n,i),r.children&&await Promise.all(r.children.map((a,s)=>uge(t,e,a,n<0?s:n,i)))}function mZe(t,e){e.edges().map((r,n)=>{let i=r.data();if(r[0]._private.bodyBounds){let a=r[0]._private.rscratch;V.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}})}function hge(t,e,r,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(i=>{hge(i,e,r,n+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:n,section:i.section}})})}function gZe(t,e){return new Promise(r=>{let n=Ge("body").append("div").attr("id","cy").attr("style","display:none"),i=rl({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),hge(t,i,e,0),i.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(a=>{V.info("Ready",a),r(i)})})}function yZe(t,e){e.nodes().map((r,n)=>{let i=r.data();i.x=r.position().x,i.y=r.position().y,oge(t,i);let a=t.getElementById(i.nodeId);V.info("Id:",n,"Position: (",r.position().x,", ",r.position().y,")",i),a.attr("transform",`translate(${r.position().x-i.width/2}, ${r.position().y-i.height/2})`),a.attr("attr",`apa-${n})`)})}var cge,vZe,fge,dge=R(()=>{"use strict";vB();cge=Xi(age(),1);Zt();_t();ut();pf();Yn();lge();sl();rl.use(cge.default);o(uge,"drawNodes");o(mZe,"drawEdges");o(hge,"addNodes");o(gZe,"layoutMindmap");o(yZe,"positionNodes");vZe=o(async(t,e,r,n)=>{V.debug(`Rendering mindmap diagram +`+t);let i=n.db,a=i.getMindmap();if(!a)return;let s=de();s.htmlLabels=!1;let l=Ps(e),u=l.append("g");u.attr("class","mindmap-edges");let h=l.append("g");h.attr("class","mindmap-nodes"),await uge(i,h,a,-1,s);let f=await gZe(a,s);mZe(u,f),yZe(i,f),Lo(void 0,l,s.mindmap?.padding??mr.mindmap.padding,s.mindmap?.useMaxWidth??mr.mindmap.useMaxWidth)},"draw"),fge={draw:vZe}});var xZe,bZe,pge,mge=R(()=>{"use strict";al();xZe=o(t=>{let e="";for(let r=0;r` + `}return e},"genSections"),bZe=o(t=>` .edge { stroke-width: 3; } - ${Yje(t)} + ${xZe(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } @@ -1921,14 +1921,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho dominant-baseline: middle; text-align: center; } -`,"getStyles"),zpe=Xje});var Gpe={};ur(Gpe,{diagram:()=>jje});var jje,Vpe=_(()=>{"use strict";Sfe();Lfe();Fpe();$pe();jje={db:Afe,renderer:Bpe,parser:Cfe,styles:zpe}});var MP,Wx,Wpe=_(()=>{"use strict";MP=function(){var t=s(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:s(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:s(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:s(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,k=2,A=1,w=m.slice.call(arguments,1),T=Object.create(this.lexer),C={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(C.yy[E]=this.yy[E]);T.setInput(u,C.yy),C.yy.lexer=T,C.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var S=T.yylloc;m.push(S);var R=T.options&&T.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ce){f.length=f.length-2*ce,p.length=p.length-ce,m.length=m.length-ce}s(D,"popStack");function L(){var ce;return ce=d.pop()||T.lex()||A,typeof ce!="number"&&(ce instanceof Array&&(d=ce,ce=d.pop()),ce=h.symbols_[ce]||ce),ce}s(L,"lex");for(var P,M,F,I,O,z,N={},U,$,W,ee;;){if(F=f[f.length-1],this.defaultActions[F]?I=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=L()),I=g[F]&&g[F][P]),typeof I>"u"||!I.length||!I[0]){var te="";ee=[];for(U in g[F])this.terminals_[U]&&U>k&&ee.push("'"+this.terminals_[U]+"'");T.showPosition?te="Parse error on line "+(v+1)+`: -`+T.showPosition()+` -Expecting `+ee.join(", ")+", got '"+(this.terminals_[P]||P)+"'":te="Parse error on line "+(v+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(te,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:S,expected:ee})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(I[0]){case 1:f.push(P),p.push(T.yytext),m.push(T.yylloc),f.push(I[1]),P=null,M?(P=M,M=null):(x=T.yyleng,y=T.yytext,v=T.yylineno,S=T.yylloc,b>0&&b--);break;case 2:if($=this.productions_[I[1]][1],N.$=p[p.length-$],N._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},R&&(N._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),z=this.performAction.apply(N,[y,x,v,C.yy,I[1],p,m].concat(w)),typeof z<"u")return z;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[I[1]][0]),p.push(N.$),m.push(N._$),W=g[f[f.length-2]][f[f.length-1]],f.push(W);break;case 3:return!0}}return!0},"parse")},a=function(){var l={EOF:1,parseError:s(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:s(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:s(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(u){this.unput(this.match.slice(u))},"less"),pastInput:s(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` -`+h+"^"},"showPosition"),test_match:s(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var h=this.next();return h||this.lex()},"lex"),begin:s(function(h){this.conditionStack.push(h)},"begin"),popState:s(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:s(function(h){this.begin(h)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;break;case 5:return 20;case 6:return this.popState("escaped_text"),18;break;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return l}();i.lexer=a;function o(){this.yy={}}return s(o,"Parser"),o.prototype=i,i.Parser=o,new o}();MP.parser=MP;Wx=MP});var w7,T7,k7,Jje,IP,eKe,NP,tKe,rKe,nKe,iKe,Hpe,Ype=_(()=>{"use strict";gt();Qt();Ci();w7=[],T7=[],k7=new Map,Jje=s(()=>{w7=[],T7=[],k7=new Map,br()},"clear"),IP=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{s(this,"SankeyLink")}},eKe=s((t,e,r)=>{w7.push(new IP(t,e,r))},"addLink"),NP=class{constructor(e){this.ID=e}static{s(this,"SankeyNode")}},tKe=s(t=>{t=$e.sanitizeText(t,le());let e=k7.get(t);return e===void 0&&(e=new NP(t),k7.set(t,e),T7.push(e)),e},"findOrCreateNode"),rKe=s(()=>T7,"getNodes"),nKe=s(()=>w7,"getLinks"),iKe=s(()=>({nodes:T7.map(t=>({id:t.ID})),links:w7.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Hpe={nodesMap:k7,getConfig:s(()=>le().sankey,"getConfig"),getNodes:rKe,getLinks:nKe,getGraph:iKe,addLink:eKe,findOrCreateNode:tKe,getAccTitle:Gr,setAccTitle:Ar,getAccDescription:Ur,setAccDescription:Vr,getDiagramTitle:Qr,setDiagramTitle:an,clear:Jje}});function Hx(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var Xpe=_(()=>{"use strict";s(Hx,"max")});function i1(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var jpe=_(()=>{"use strict";s(i1,"min")});function a1(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var Kpe=_(()=>{"use strict";s(a1,"sum")});var OP=_(()=>{"use strict";Xpe();jpe();Kpe()});function aKe(t){return t.target.depth}function PP(t){return t.depth}function BP(t,e){return e-1-t.height}function Yx(t,e){return t.sourceLinks.length?t.depth:e-1}function FP(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?i1(t.sourceLinks,aKe)-1:0}var zP=_(()=>{"use strict";OP();s(aKe,"targetDepth");s(PP,"left");s(BP,"right");s(Yx,"justify");s(FP,"center")});function s1(t){return function(){return t}}var Qpe=_(()=>{"use strict";s(s1,"constant")});function Zpe(t,e){return E7(t.source,e.source)||t.index-e.index}function Jpe(t,e){return E7(t.target,e.target)||t.index-e.index}function E7(t,e){return t.y0-e.y0}function $P(t){return t.value}function sKe(t){return t.index}function oKe(t){return t.nodes}function lKe(t){return t.links}function eme(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function tme({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function C7(){let t=0,e=0,r=1,n=1,i=24,a=8,o,l=sKe,u=Yx,h,f,d=oKe,p=lKe,m=6;function g(){let F={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(F),v(F),x(F),b(F),w(F),tme(F),F}s(g,"sankey"),g.update=function(F){return tme(F),F},g.nodeId=function(F){return arguments.length?(l=typeof F=="function"?F:s1(F),g):l},g.nodeAlign=function(F){return arguments.length?(u=typeof F=="function"?F:s1(F),g):u},g.nodeSort=function(F){return arguments.length?(h=F,g):h},g.nodeWidth=function(F){return arguments.length?(i=+F,g):i},g.nodePadding=function(F){return arguments.length?(a=o=+F,g):a},g.nodes=function(F){return arguments.length?(d=typeof F=="function"?F:s1(F),g):d},g.links=function(F){return arguments.length?(p=typeof F=="function"?F:s1(F),g):p},g.linkSort=function(F){return arguments.length?(f=F,g):f},g.size=function(F){return arguments.length?(t=e=0,r=+F[0],n=+F[1],g):[r-t,n-e]},g.extent=function(F){return arguments.length?(t=+F[0][0],r=+F[1][0],e=+F[0][1],n=+F[1][1],g):[[t,e],[r,n]]},g.iterations=function(F){return arguments.length?(m=+F,g):m};function y({nodes:F,links:I}){for(let[z,N]of F.entries())N.index=z,N.sourceLinks=[],N.targetLinks=[];let O=new Map(F.map((z,N)=>[l(z,N,F),z]));for(let[z,N]of I.entries()){N.index=z;let{source:U,target:$}=N;typeof U!="object"&&(U=N.source=eme(O,U)),typeof $!="object"&&($=N.target=eme(O,$)),U.sourceLinks.push(N),$.targetLinks.push(N)}if(f!=null)for(let{sourceLinks:z,targetLinks:N}of F)z.sort(f),N.sort(f)}s(y,"computeNodeLinks");function v({nodes:F}){for(let I of F)I.value=I.fixedValue===void 0?Math.max(a1(I.sourceLinks,$P),a1(I.targetLinks,$P)):I.fixedValue}s(v,"computeNodeValues");function x({nodes:F}){let I=F.length,O=new Set(F),z=new Set,N=0;for(;O.size;){for(let U of O){U.depth=N;for(let{target:$}of U.sourceLinks)z.add($)}if(++N>I)throw new Error("circular link");O=z,z=new Set}}s(x,"computeNodeDepths");function b({nodes:F}){let I=F.length,O=new Set(F),z=new Set,N=0;for(;O.size;){for(let U of O){U.height=N;for(let{source:$}of U.targetLinks)z.add($)}if(++N>I)throw new Error("circular link");O=z,z=new Set}}s(b,"computeNodeHeights");function k({nodes:F}){let I=Hx(F,N=>N.depth)+1,O=(r-t-i)/(I-1),z=new Array(I);for(let N of F){let U=Math.max(0,Math.min(I-1,Math.floor(u.call(null,N,I))));N.layer=U,N.x0=t+U*O,N.x1=N.x0+i,z[U]?z[U].push(N):z[U]=[N]}if(h)for(let N of z)N.sort(h);return z}s(k,"computeNodeLayers");function A(F){let I=i1(F,O=>(n-e-(O.length-1)*o)/a1(O,$P));for(let O of F){let z=e;for(let N of O){N.y0=z,N.y1=z+N.value*I,z=N.y1+o;for(let U of N.sourceLinks)U.width=U.value*I}z=(n-z+o)/(O.length+1);for(let N=0;NO.length)-1)),A(I);for(let O=0;O0))continue;let te=(W/ee-$.y0)*I;$.y0+=te,$.y1+=te,D($)}h===void 0&&U.sort(E7),E(U,O)}}s(T,"relaxLeftToRight");function C(F,I,O){for(let z=F.length,N=z-2;N>=0;--N){let U=F[N];for(let $ of U){let W=0,ee=0;for(let{target:ce,value:Z}of $.sourceLinks){let fe=Z*(ce.layer-$.layer);W+=M($,ce)*fe,ee+=fe}if(!(ee>0))continue;let te=(W/ee-$.y0)*I;$.y0+=te,$.y1+=te,D($)}h===void 0&&U.sort(E7),E(U,O)}}s(C,"relaxRightToLeft");function E(F,I){let O=F.length>>1,z=F[O];R(F,z.y0-o,O-1,I),S(F,z.y1+o,O+1,I),R(F,n,F.length-1,I),S(F,e,0,I)}s(E,"resolveCollisions");function S(F,I,O,z){for(;O1e-6&&(N.y0+=U,N.y1+=U),I=N.y1+o}}s(S,"resolveCollisionsTopToBottom");function R(F,I,O,z){for(;O>=0;--O){let N=F[O],U=(N.y1-I)*z;U>1e-6&&(N.y0-=U,N.y1-=U),I=N.y0-o}}s(R,"resolveCollisionsBottomToTop");function D({sourceLinks:F,targetLinks:I}){if(f===void 0){for(let{source:{sourceLinks:O}}of I)O.sort(Jpe);for(let{target:{targetLinks:O}}of F)O.sort(Zpe)}}s(D,"reorderNodeLinks");function L(F){if(f===void 0)for(let{sourceLinks:I,targetLinks:O}of F)I.sort(Jpe),O.sort(Zpe)}s(L,"reorderLinks");function P(F,I){let O=F.y0-(F.sourceLinks.length-1)*o/2;for(let{target:z,width:N}of F.sourceLinks){if(z===I)break;O+=N+o}for(let{source:z,width:N}of I.targetLinks){if(z===F)break;O-=N}return O}s(P,"targetTop");function M(F,I){let O=I.y0-(I.targetLinks.length-1)*o/2;for(let{source:z,width:N}of I.targetLinks){if(z===F)break;O+=N+o}for(let{target:z,width:N}of F.sourceLinks){if(z===I)break;O-=N}return O}return s(M,"sourceTop"),g}var rme=_(()=>{"use strict";OP();zP();Qpe();s(Zpe,"ascendingSourceBreadth");s(Jpe,"ascendingTargetBreadth");s(E7,"ascendingBreadth");s($P,"value");s(sKe,"defaultId");s(oKe,"defaultNodes");s(lKe,"defaultLinks");s(eme,"find");s(tme,"computeLinkBreadths");s(C7,"Sankey")});function UP(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function nme(){return new UP}var GP,VP,$0,cKe,qP,ime=_(()=>{"use strict";GP=Math.PI,VP=2*GP,$0=1e-6,cKe=VP-$0;s(UP,"Path");s(nme,"path");UP.prototype=nme.prototype={constructor:UP,moveTo:s(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:s(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:s(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:s(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:s(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:s(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,o=this._y1,l=r-t,u=n-e,h=a-t,f=o-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>$0)if(!(Math.abs(f*l-u*h)>$0)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-o,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((GP-Math.acos((g+d-y)/(2*v*x)))/2),k=b/x,A=b/v;Math.abs(k-1)>$0&&(this._+="L"+(t+k*h)+","+(e+k*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+A*l)+","+(this._y1=e+A*u)}},"arcTo"),arc:s(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var o=r*Math.cos(n),l=r*Math.sin(n),u=t+o,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>$0||Math.abs(this._y1-h)>$0)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%VP+VP),d>cKe?this._+="A"+r+","+r+",0,1,"+f+","+(t-o)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>$0&&(this._+="A"+r+","+r+",0,"+ +(d>=GP)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:s(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:s(function(){return this._},"toString")};qP=nme});var ame=_(()=>{"use strict";ime()});function S7(t){return s(function(){return t},"constant")}var sme=_(()=>{"use strict";s(S7,"default")});function ome(t){return t[0]}function lme(t){return t[1]}var cme=_(()=>{"use strict";s(ome,"x");s(lme,"y")});var ume,hme=_(()=>{"use strict";ume=Array.prototype.slice});function uKe(t){return t.source}function hKe(t){return t.target}function fKe(t){var e=uKe,r=hKe,n=ome,i=lme,a=null;function o(){var l,u=ume.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=qP()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return s(o,"link"),o.source=function(l){return arguments.length?(e=l,o):e},o.target=function(l){return arguments.length?(r=l,o):r},o.x=function(l){return arguments.length?(n=typeof l=="function"?l:S7(+l),o):n},o.y=function(l){return arguments.length?(i=typeof l=="function"?l:S7(+l),o):i},o.context=function(l){return arguments.length?(a=l??null,o):a},o}function dKe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function WP(){return fKe(dKe)}var fme=_(()=>{"use strict";ame();hme();sme();cme();s(uKe,"linkSource");s(hKe,"linkTarget");s(fKe,"link");s(dKe,"curveHorizontal");s(WP,"linkHorizontal")});var dme=_(()=>{"use strict";fme()});function pKe(t){return[t.source.x1,t.y0]}function mKe(t){return[t.target.x0,t.y1]}function _7(){return WP().source(pKe).target(mKe)}var pme=_(()=>{"use strict";dme();s(pKe,"horizontalSource");s(mKe,"horizontalTarget");s(_7,"default")});var mme=_(()=>{"use strict";rme();zP();pme()});var Xx,gme=_(()=>{"use strict";Xx=class t{static{s(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var gKe,yKe,yme,vme=_(()=>{"use strict";gt();Xt();mme();Un();gme();gKe={left:PP,right:BP,center:FP,justify:Yx},yKe=s(function(t,e,r,n){let{securityLevel:i,sankey:a}=le(),o=Qb.sankey,l;i==="sandbox"&&(l=Me("#i"+e));let u=i==="sandbox"?Me(l.nodes()[0].contentDocument.body):Me("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Me(`[id="${e}"]`),f=a?.width??o.width,d=a?.height??o.width,p=a?.useMaxWidth??o.useMaxWidth,m=a?.nodeAlignment??o.nodeAlignment,g=a?.prefix??o.prefix,y=a?.suffix??o.suffix,v=a?.showValues??o.showValues,x=n.db.getGraph(),b=gKe[m];C7().nodeId(R=>R.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=au(l_);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",R=>(R.uid=Xx.next("node-")).id).attr("transform",function(R){return"translate("+R.x0+","+R.y0+")"}).attr("x",R=>R.x0).attr("y",R=>R.y0).append("rect").attr("height",R=>R.y1-R.y0).attr("width",R=>R.x1-R.x0).attr("fill",R=>w(R.id));let T=s(({id:R,value:D})=>v?`${R} -${g}${Math.round(D*100)/100}${y}`:R,"getText");h.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",R=>R.x0(R.y1+R.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",R=>R.x0(D.uid=Xx.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",D=>D.source.x1).attr("x2",D=>D.target.x0);R.append("stop").attr("offset","0%").attr("stop-color",D=>w(D.source.id)),R.append("stop").attr("offset","100%").attr("stop-color",D=>w(D.target.id))}let S;switch(E){case"gradient":S=s(R=>R.uid,"coloring");break;case"source":S=s(R=>w(R.source.id),"coloring");break;case"target":S=s(R=>w(R.target.id),"coloring");break;default:S=E}C.append("path").attr("d",_7()).attr("stroke",S).attr("stroke-width",R=>Math.max(1,R.width)),ql(void 0,h,0,p)},"draw"),yme={draw:yKe}});var xme,bme=_(()=>{"use strict";xme=s(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` -`).trim(),"prepareTextForParsing")});var kme={};ur(kme,{diagram:()=>xKe});var vKe,xKe,wme=_(()=>{"use strict";Wpe();Ype();vme();bme();vKe=Wx.parse.bind(Wx);Wx.parse=t=>vKe(xme(t));xKe={parser:Wx,db:Hpe,renderer:yme}});var Cme,HP,TKe,EKe,CKe,SKe,_Ke,Tf,YP=_(()=>{"use strict";zs();Pl();pr();Ci();Cme={packet:[]},HP=structuredClone(Cme),TKe=dr.packet,EKe=s(()=>{let t=ms({...TKe,..._r().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),CKe=s(()=>HP.packet,"getPacket"),SKe=s(t=>{t.length>0&&HP.packet.push(t)},"pushWord"),_Ke=s(()=>{br(),HP=structuredClone(Cme)},"clear"),Tf={pushWord:SKe,getPacket:CKe,getConfig:EKe,clear:_Ke,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,getAccDescription:Ur,setAccDescription:Vr}});var AKe,LKe,DKe,Sme,_me=_(()=>{"use strict";V2();it();kw();YP();AKe=1e4,LKe=s(t=>{dg(t,Tf);let e=-1,r=[],n=1,{bitsPerRow:i}=Tf.getConfig();for(let{start:a,end:o,label:l}of t.blocks){if(o&&o{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*r?[t,void 0]:[{start:t.start,end:e*r-1,label:t.label},{start:e*r,end:t.end,label:t.label}]},"getNextFittingBlock"),Sme={parse:s(async t=>{let e=await Bu("packet",t);V.debug(e),LKe(e)},"parse")}});var RKe,MKe,Ame,Lme=_(()=>{"use strict";p0();Un();RKe=s((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:o,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=o+l,m=p*(f.length+1)-(d?0:o),g=u*h+2,y=Bo(e);y.attr("viewbox",`0 0 ${g} ${m}`),xr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())MKe(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),MKe=s((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*o+1,m=(d.end-d.start+1)*o-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),Ame={draw:RKe}});var IKe,Dme,Rme=_(()=>{"use strict";pr();IKe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},Dme=s(({packet:t}={})=>{let e=ms(IKe,t);return` +`,"getStyles"),pge=bZe});var gge={};hr(gge,{diagram:()=>wZe});var wZe,yge=R(()=>{"use strict";r0e();a0e();dge();mge();wZe={db:i0e,renderer:fge,parser:t0e,styles:pge}});var EB,cb,bge=R(()=>{"use strict";EB=function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,w=2,S=1,T=m.slice.call(arguments,1),E=Object.create(this.lexer),_={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(_.yy[A]=this.yy[A]);E.setInput(u,_.yy),_.yy.lexer=E,_.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var L=E.yylloc;m.push(L);var M=E.options&&E.options.ranges;typeof _.yy.parseError=="function"?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(ie){f.length=f.length-2*ie,p.length=p.length-ie,m.length=m.length-ie}o(N,"popStack");function k(){var ie;return ie=d.pop()||E.lex()||S,typeof ie!="number"&&(ie instanceof Array&&(d=ie,ie=d.pop()),ie=h.symbols_[ie]||ie),ie}o(k,"lex");for(var I,C,O,D,P,F,B={},G,z,Y,Q;;){if(O=f[f.length-1],this.defaultActions[O]?D=this.defaultActions[O]:((I===null||typeof I>"u")&&(I=k()),D=g[O]&&g[O][I]),typeof D>"u"||!D.length||!D[0]){var X="";Q=[];for(G in g[O])this.terminals_[G]&&G>w&&Q.push("'"+this.terminals_[G]+"'");E.showPosition?X="Parse error on line "+(v+1)+`: +`+E.showPosition()+` +Expecting `+Q.join(", ")+", got '"+(this.terminals_[I]||I)+"'":X="Parse error on line "+(v+1)+": Unexpected "+(I==S?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(X,{text:E.match,token:this.terminals_[I]||I,line:E.yylineno,loc:L,expected:Q})}if(D[0]instanceof Array&&D.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+I);switch(D[0]){case 1:f.push(I),p.push(E.yytext),m.push(E.yylloc),f.push(D[1]),I=null,C?(I=C,C=null):(x=E.yyleng,y=E.yytext,v=E.yylineno,L=E.yylloc,b>0&&b--);break;case 2:if(z=this.productions_[D[1]][1],B.$=p[p.length-z],B._$={first_line:m[m.length-(z||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(z||1)].first_column,last_column:m[m.length-1].last_column},M&&(B._$.range=[m[m.length-(z||1)].range[0],m[m.length-1].range[1]]),F=this.performAction.apply(B,[y,x,v,_.yy,D[1],p,m].concat(T)),typeof F<"u")return F;z&&(f=f.slice(0,-1*z*2),p=p.slice(0,-1*z),m=m.slice(0,-1*z)),f.push(this.productions_[D[1]][0]),p.push(B.$),m.push(B._$),Y=g[f[f.length-2]][f[f.length-1]],f.push(Y);break;case 3:return!0}}return!0},"parse")},a=function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+h+"^"},"showPosition"),test_match:o(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;break;case 5:return 20;case 6:return this.popState("escaped_text"),18;break;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return l}();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s}();EB.parser=EB;cb=EB});var J6,eC,Z6,CZe,CB,SZe,SB,AZe,_Ze,LZe,DZe,wge,Tge=R(()=>{"use strict";_t();rr();bi();J6=[],eC=[],Z6=new Map,CZe=o(()=>{J6=[],eC=[],Z6=new Map,vr()},"clear"),CB=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},SZe=o((t,e,r)=>{J6.push(new CB(t,e,r))},"addLink"),SB=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},AZe=o(t=>{t=We.sanitizeText(t,de());let e=Z6.get(t);return e===void 0&&(e=new SB(t),Z6.set(t,e),eC.push(e)),e},"findOrCreateNode"),_Ze=o(()=>eC,"getNodes"),LZe=o(()=>J6,"getLinks"),DZe=o(()=>({nodes:eC.map(t=>({id:t.ID})),links:J6.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),wge={nodesMap:Z6,getConfig:o(()=>de().sankey,"getConfig"),getNodes:_Ze,getLinks:LZe,getGraph:DZe,addLink:SZe,findOrCreateNode:AZe,getAccTitle:Ar,setAccTitle:kr,getAccDescription:Lr,setAccDescription:_r,getDiagramTitle:Xr,setDiagramTitle:nn,clear:CZe}});function ub(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var kge=R(()=>{"use strict";o(ub,"max")});function x1(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var Ege=R(()=>{"use strict";o(x1,"min")});function b1(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var Cge=R(()=>{"use strict";o(b1,"sum")});var AB=R(()=>{"use strict";kge();Ege();Cge()});function RZe(t){return t.target.depth}function _B(t){return t.depth}function LB(t,e){return e-1-t.height}function hb(t,e){return t.sourceLinks.length?t.depth:e-1}function DB(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?x1(t.sourceLinks,RZe)-1:0}var RB=R(()=>{"use strict";AB();o(RZe,"targetDepth");o(_B,"left");o(LB,"right");o(hb,"justify");o(DB,"center")});function w1(t){return function(){return t}}var Sge=R(()=>{"use strict";o(w1,"constant")});function Age(t,e){return tC(t.source,e.source)||t.index-e.index}function _ge(t,e){return tC(t.target,e.target)||t.index-e.index}function tC(t,e){return t.y0-e.y0}function NB(t){return t.value}function NZe(t){return t.index}function MZe(t){return t.nodes}function IZe(t){return t.links}function Lge(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function Dge({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function rC(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=NZe,u=hb,h,f,d=MZe,p=IZe,m=6;function g(){let O={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(O),v(O),x(O),b(O),T(O),Dge(O),O}o(g,"sankey"),g.update=function(O){return Dge(O),O},g.nodeId=function(O){return arguments.length?(l=typeof O=="function"?O:w1(O),g):l},g.nodeAlign=function(O){return arguments.length?(u=typeof O=="function"?O:w1(O),g):u},g.nodeSort=function(O){return arguments.length?(h=O,g):h},g.nodeWidth=function(O){return arguments.length?(i=+O,g):i},g.nodePadding=function(O){return arguments.length?(a=s=+O,g):a},g.nodes=function(O){return arguments.length?(d=typeof O=="function"?O:w1(O),g):d},g.links=function(O){return arguments.length?(p=typeof O=="function"?O:w1(O),g):p},g.linkSort=function(O){return arguments.length?(f=O,g):f},g.size=function(O){return arguments.length?(t=e=0,r=+O[0],n=+O[1],g):[r-t,n-e]},g.extent=function(O){return arguments.length?(t=+O[0][0],r=+O[1][0],e=+O[0][1],n=+O[1][1],g):[[t,e],[r,n]]},g.iterations=function(O){return arguments.length?(m=+O,g):m};function y({nodes:O,links:D}){for(let[F,B]of O.entries())B.index=F,B.sourceLinks=[],B.targetLinks=[];let P=new Map(O.map((F,B)=>[l(F,B,O),F]));for(let[F,B]of D.entries()){B.index=F;let{source:G,target:z}=B;typeof G!="object"&&(G=B.source=Lge(P,G)),typeof z!="object"&&(z=B.target=Lge(P,z)),G.sourceLinks.push(B),z.targetLinks.push(B)}if(f!=null)for(let{sourceLinks:F,targetLinks:B}of O)F.sort(f),B.sort(f)}o(y,"computeNodeLinks");function v({nodes:O}){for(let D of O)D.value=D.fixedValue===void 0?Math.max(b1(D.sourceLinks,NB),b1(D.targetLinks,NB)):D.fixedValue}o(v,"computeNodeValues");function x({nodes:O}){let D=O.length,P=new Set(O),F=new Set,B=0;for(;P.size;){for(let G of P){G.depth=B;for(let{target:z}of G.sourceLinks)F.add(z)}if(++B>D)throw new Error("circular link");P=F,F=new Set}}o(x,"computeNodeDepths");function b({nodes:O}){let D=O.length,P=new Set(O),F=new Set,B=0;for(;P.size;){for(let G of P){G.height=B;for(let{source:z}of G.targetLinks)F.add(z)}if(++B>D)throw new Error("circular link");P=F,F=new Set}}o(b,"computeNodeHeights");function w({nodes:O}){let D=ub(O,B=>B.depth)+1,P=(r-t-i)/(D-1),F=new Array(D);for(let B of O){let G=Math.max(0,Math.min(D-1,Math.floor(u.call(null,B,D))));B.layer=G,B.x0=t+G*P,B.x1=B.x0+i,F[G]?F[G].push(B):F[G]=[B]}if(h)for(let B of F)B.sort(h);return F}o(w,"computeNodeLayers");function S(O){let D=x1(O,P=>(n-e-(P.length-1)*s)/b1(P,NB));for(let P of O){let F=e;for(let B of P){B.y0=F,B.y1=F+B.value*D,F=B.y1+s;for(let G of B.sourceLinks)G.width=G.value*D}F=(n-F+s)/(P.length+1);for(let B=0;BP.length)-1)),S(D);for(let P=0;P0))continue;let X=(Y/Q-z.y0)*D;z.y0+=X,z.y1+=X,N(z)}h===void 0&&G.sort(tC),A(G,P)}}o(E,"relaxLeftToRight");function _(O,D,P){for(let F=O.length,B=F-2;B>=0;--B){let G=O[B];for(let z of G){let Y=0,Q=0;for(let{target:ie,value:j}of z.sourceLinks){let J=j*(ie.layer-z.layer);Y+=C(z,ie)*J,Q+=J}if(!(Q>0))continue;let X=(Y/Q-z.y0)*D;z.y0+=X,z.y1+=X,N(z)}h===void 0&&G.sort(tC),A(G,P)}}o(_,"relaxRightToLeft");function A(O,D){let P=O.length>>1,F=O[P];M(O,F.y0-s,P-1,D),L(O,F.y1+s,P+1,D),M(O,n,O.length-1,D),L(O,e,0,D)}o(A,"resolveCollisions");function L(O,D,P,F){for(;P1e-6&&(B.y0+=G,B.y1+=G),D=B.y1+s}}o(L,"resolveCollisionsTopToBottom");function M(O,D,P,F){for(;P>=0;--P){let B=O[P],G=(B.y1-D)*F;G>1e-6&&(B.y0-=G,B.y1-=G),D=B.y0-s}}o(M,"resolveCollisionsBottomToTop");function N({sourceLinks:O,targetLinks:D}){if(f===void 0){for(let{source:{sourceLinks:P}}of D)P.sort(_ge);for(let{target:{targetLinks:P}}of O)P.sort(Age)}}o(N,"reorderNodeLinks");function k(O){if(f===void 0)for(let{sourceLinks:D,targetLinks:P}of O)D.sort(_ge),P.sort(Age)}o(k,"reorderLinks");function I(O,D){let P=O.y0-(O.sourceLinks.length-1)*s/2;for(let{target:F,width:B}of O.sourceLinks){if(F===D)break;P+=B+s}for(let{source:F,width:B}of D.targetLinks){if(F===O)break;P-=B}return P}o(I,"targetTop");function C(O,D){let P=D.y0-(D.targetLinks.length-1)*s/2;for(let{source:F,width:B}of D.targetLinks){if(F===O)break;P+=B+s}for(let{target:F,width:B}of O.sourceLinks){if(F===D)break;P-=B}return P}return o(C,"sourceTop"),g}var Rge=R(()=>{"use strict";AB();RB();Sge();o(Age,"ascendingSourceBreadth");o(_ge,"ascendingTargetBreadth");o(tC,"ascendingBreadth");o(NB,"value");o(NZe,"defaultId");o(MZe,"defaultNodes");o(IZe,"defaultLinks");o(Lge,"find");o(Dge,"computeLinkBreadths");o(rC,"Sankey")});function OB(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Nge(){return new OB}var MB,IB,Q0,OZe,PB,Mge=R(()=>{"use strict";MB=Math.PI,IB=2*MB,Q0=1e-6,OZe=IB-Q0;o(OB,"Path");o(Nge,"path");OB.prototype=Nge.prototype={constructor:OB,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>Q0)if(!(Math.abs(f*l-u*h)>Q0)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((MB-Math.acos((g+d-y)/(2*v*x)))/2),w=b/x,S=b/v;Math.abs(w-1)>Q0&&(this._+="L"+(t+w*h)+","+(e+w*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+S*l)+","+(this._y1=e+S*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>Q0||Math.abs(this._y1-h)>Q0)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%IB+IB),d>OZe?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>Q0&&(this._+="A"+r+","+r+",0,"+ +(d>=MB)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};PB=Nge});var Ige=R(()=>{"use strict";Mge()});function nC(t){return o(function(){return t},"constant")}var Oge=R(()=>{"use strict";o(nC,"default")});function Pge(t){return t[0]}function Bge(t){return t[1]}var Fge=R(()=>{"use strict";o(Pge,"x");o(Bge,"y")});var zge,$ge=R(()=>{"use strict";zge=Array.prototype.slice});function PZe(t){return t.source}function BZe(t){return t.target}function FZe(t){var e=PZe,r=BZe,n=Pge,i=Bge,a=null;function s(){var l,u=zge.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=PB()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:nC(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:nC(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function zZe(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function BB(){return FZe(zZe)}var Gge=R(()=>{"use strict";Ige();$ge();Oge();Fge();o(PZe,"linkSource");o(BZe,"linkTarget");o(FZe,"link");o(zZe,"curveHorizontal");o(BB,"linkHorizontal")});var Vge=R(()=>{"use strict";Gge()});function $Ze(t){return[t.source.x1,t.y0]}function GZe(t){return[t.target.x0,t.y1]}function iC(){return BB().source($Ze).target(GZe)}var Uge=R(()=>{"use strict";Vge();o($Ze,"horizontalSource");o(GZe,"horizontalTarget");o(iC,"default")});var Hge=R(()=>{"use strict";Rge();RB();Uge()});var fb,Yge=R(()=>{"use strict";fb=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var VZe,UZe,Wge,qge=R(()=>{"use strict";_t();Zt();Hge();Yn();Yge();VZe={left:_B,right:LB,center:DB,justify:hb},UZe=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=de(),s=_4.sankey,l;i==="sandbox"&&(l=Ge("#i"+e));let u=i==="sandbox"?Ge(l.nodes()[0].contentDocument.body):Ge("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Ge(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=VZe[m];rC().nodeId(M=>M.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let T=pu(Z8);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",M=>(M.uid=fb.next("node-")).id).attr("transform",function(M){return"translate("+M.x0+","+M.y0+")"}).attr("x",M=>M.x0).attr("y",M=>M.y0).append("rect").attr("height",M=>M.y1-M.y0).attr("width",M=>M.x1-M.x0).attr("fill",M=>T(M.id));let E=o(({id:M,value:N})=>v?`${M} +${g}${Math.round(N*100)/100}${y}`:M,"getText");h.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",M=>M.x0(M.y1+M.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",M=>M.x0(N.uid=fb.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",N=>N.source.x1).attr("x2",N=>N.target.x0);M.append("stop").attr("offset","0%").attr("stop-color",N=>T(N.source.id)),M.append("stop").attr("offset","100%").attr("stop-color",N=>T(N.target.id))}let L;switch(A){case"gradient":L=o(M=>M.uid,"coloring");break;case"source":L=o(M=>T(M.source.id),"coloring");break;case"target":L=o(M=>T(M.target.id),"coloring");break;default:L=A}_.append("path").attr("d",iC()).attr("stroke",L).attr("stroke-width",M=>Math.max(1,M.width)),Lo(void 0,h,0,p)},"draw"),Wge={draw:UZe}});var Xge,jge=R(()=>{"use strict";Xge=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing")});var Kge={};hr(Kge,{diagram:()=>YZe});var HZe,YZe,Qge=R(()=>{"use strict";bge();Tge();qge();jge();HZe=cb.parse.bind(cb);cb.parse=t=>HZe(Xge(t));YZe={parser:cb,db:wge,renderer:Wge}});var e1e,FB,jZe,KZe,QZe,ZZe,JZe,Mf,zB=R(()=>{"use strict";qs();sl();xr();bi();e1e={packet:[]},FB=structuredClone(e1e),jZe=mr.packet,KZe=o(()=>{let t=Ts({...jZe,...Or().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),QZe=o(()=>FB.packet,"getPacket"),ZZe=o(t=>{t.length>0&&FB.packet.push(t)},"pushWord"),JZe=o(()=>{vr(),FB=structuredClone(e1e)},"clear"),Mf={pushWord:ZZe,getPacket:QZe,getConfig:KZe,clear:JZe,setAccTitle:kr,getAccTitle:Ar,setDiagramTitle:nn,getDiagramTitle:Xr,getAccDescription:Lr,setAccDescription:_r}});var eJe,tJe,rJe,t1e,r1e=R(()=>{"use strict";Lg();ut();sx();zB();eJe=1e4,tJe=o(t=>{cf(t,Mf);let e=-1,r=[],n=1,{bitsPerRow:i}=Mf.getConfig();for(let{start:a,end:s,label:l}of t.blocks){if(s&&s{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*r?[t,void 0]:[{start:t.start,end:e*r-1,label:t.label},{start:e*r,end:t.end,label:t.label}]},"getNextFittingBlock"),t1e={parse:o(async t=>{let e=await Fl("packet",t);V.debug(e),tJe(e)},"parse")}});var nJe,iJe,n1e,i1e=R(()=>{"use strict";pf();Yn();nJe=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Ps(e);y.attr("viewbox",`0 0 ${g} ${m}`),Sr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())iJe(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),iJe=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),n1e={draw:nJe}});var aJe,a1e,s1e=R(()=>{"use strict";xr();aJe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},a1e=o(({packet:t}={})=>{let e=Ts(aJe,t);return` .packetByte { font-size: ${e.byteFontSize}; } @@ -1951,12 +1951,12 @@ ${g}${Math.round(D*100)/100}${y}`:R,"getText");h.append("g").attr("class","node- stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } - `},"styles")});var Mme={};ur(Mme,{diagram:()=>NKe});var NKe,Ime=_(()=>{"use strict";YP();_me();Lme();Rme();NKe={parser:Sme,db:Tf,renderer:Ame,styles:Dme}});var XP,Pme,Bme=_(()=>{"use strict";XP=function(){var t=s(function(k,A,w,T){for(w=w||{},T=k.length;T--;w[k[T]]=A);return w},"o"),e=[1,7],r=[1,13],n=[1,14],i=[1,15],a=[1,19],o=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,21,28,29,30,31,32,40,44,47],d=[1,23],p=[1,24],m=[8,15,16,21,28,29,30,31,32,40,44,47],g=[8,15,16,21,27,28,29,30,31,32,40,44,47],y=[1,49],v={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:s(function(A,w,T,C,E,S,R){var D=S.length-1;switch(E){case 4:C.getLogger().debug("Rule: separator (NL) ");break;case 5:C.getLogger().debug("Rule: separator (Space) ");break;case 6:C.getLogger().debug("Rule: separator (EOF) ");break;case 7:C.getLogger().debug("Rule: hierarchy: ",S[D-1]),C.setHierarchy(S[D-1]);break;case 8:C.getLogger().debug("Stop NL ");break;case 9:C.getLogger().debug("Stop EOF ");break;case 10:C.getLogger().debug("Stop NL2 ");break;case 11:C.getLogger().debug("Stop EOF2 ");break;case 12:C.getLogger().debug("Rule: statement: ",S[D]),typeof S[D].length=="number"?this.$=S[D]:this.$=[S[D]];break;case 13:C.getLogger().debug("Rule: statement #2: ",S[D-1]),this.$=[S[D-1]].concat(S[D]);break;case 14:C.getLogger().debug("Rule: link: ",S[D],A),this.$={edgeTypeStr:S[D],label:""};break;case 15:C.getLogger().debug("Rule: LABEL link: ",S[D-3],S[D-1],S[D]),this.$={edgeTypeStr:S[D],label:S[D-1]};break;case 18:let L=parseInt(S[D]),P=C.generateId();this.$={id:P,type:"space",label:"",width:L,children:[]};break;case 23:C.getLogger().debug("Rule: (nodeStatement link node) ",S[D-2],S[D-1],S[D]," typestr: ",S[D-1].edgeTypeStr);let M=C.edgeStrToEdgeData(S[D-1].edgeTypeStr);this.$=[{id:S[D-2].id,label:S[D-2].label,type:S[D-2].type,directions:S[D-2].directions},{id:S[D-2].id+"-"+S[D].id,start:S[D-2].id,end:S[D].id,label:S[D-1].label,type:"edge",directions:S[D].directions,arrowTypeEnd:M,arrowTypeStart:"arrow_open"},{id:S[D].id,label:S[D].label,type:C.typeStr2Type(S[D].typeStr),directions:S[D].directions}];break;case 24:C.getLogger().debug("Rule: nodeStatement (abc88 node size) ",S[D-1],S[D]),this.$={id:S[D-1].id,label:S[D-1].label,type:C.typeStr2Type(S[D-1].typeStr),directions:S[D-1].directions,widthInColumns:parseInt(S[D],10)};break;case 25:C.getLogger().debug("Rule: nodeStatement (node) ",S[D]),this.$={id:S[D].id,label:S[D].label,type:C.typeStr2Type(S[D].typeStr),directions:S[D].directions,widthInColumns:1};break;case 26:C.getLogger().debug("APA123",this?this:"na"),C.getLogger().debug("COLUMNS: ",S[D]),this.$={type:"column-setting",columns:S[D]==="auto"?-1:parseInt(S[D])};break;case 27:C.getLogger().debug("Rule: id-block statement : ",S[D-2],S[D-1]);let F=C.generateId();this.$={...S[D-2],type:"composite",children:S[D-1]};break;case 28:C.getLogger().debug("Rule: blockStatement : ",S[D-2],S[D-1],S[D]);let I=C.generateId();this.$={id:I,type:"composite",label:"",children:S[D-1]};break;case 29:C.getLogger().debug("Rule: node (NODE_ID separator): ",S[D]),this.$={id:S[D]};break;case 30:C.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",S[D-1],S[D]),this.$={id:S[D-1],label:S[D].label,typeStr:S[D].typeStr,directions:S[D].directions};break;case 31:C.getLogger().debug("Rule: dirList: ",S[D]),this.$=[S[D]];break;case 32:C.getLogger().debug("Rule: dirList: ",S[D-1],S[D]),this.$=[S[D-1]].concat(S[D]);break;case 33:C.getLogger().debug("Rule: nodeShapeNLabel: ",S[D-2],S[D-1],S[D]),this.$={typeStr:S[D-2]+S[D],label:S[D-1]};break;case 34:C.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",S[D-3],S[D-2]," #3:",S[D-1],S[D]),this.$={typeStr:S[D-3]+S[D],label:S[D-2],directions:S[D-1]};break;case 35:case 36:this.$={type:"classDef",id:S[D-1].trim(),css:S[D].trim()};break;case 37:this.$={type:"applyClass",id:S[D-1].trim(),styleClass:S[D].trim()};break;case 38:this.$={type:"applyStyles",id:S[D-1].trim(),stylesStr:S[D].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:l,47:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:r,29:n,31:i,32:a,40:o,44:l,47:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:l,47:u},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(g,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},t(m,[2,24]),{11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:l,47:u},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{37:[1,47]},{34:48,35:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{39:[1,51]},{34:52,35:y,39:[2,31]},{32:[2,15]},t(g,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:s(function(A,w){if(w.recoverable)this.trace(A);else{var T=new Error(A);throw T.hash=w,T}},"parseError"),parse:s(function(A){var w=this,T=[0],C=[],E=[null],S=[],R=this.table,D="",L=0,P=0,M=0,F=2,I=1,O=S.slice.call(arguments,1),z=Object.create(this.lexer),N={yy:{}};for(var U in this.yy)Object.prototype.hasOwnProperty.call(this.yy,U)&&(N.yy[U]=this.yy[U]);z.setInput(A,N.yy),N.yy.lexer=z,N.yy.parser=this,typeof z.yylloc>"u"&&(z.yylloc={});var $=z.yylloc;S.push($);var W=z.options&&z.options.ranges;typeof N.yy.parseError=="function"?this.parseError=N.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(oe){T.length=T.length-2*oe,E.length=E.length-oe,S.length=S.length-oe}s(ee,"popStack");function te(){var oe;return oe=C.pop()||z.lex()||I,typeof oe!="number"&&(oe instanceof Array&&(C=oe,oe=C.pop()),oe=w.symbols_[oe]||oe),oe}s(te,"lex");for(var ce,Z,fe,ne,H,Q,K={},re,ie,ye,j;;){if(fe=T[T.length-1],this.defaultActions[fe]?ne=this.defaultActions[fe]:((ce===null||typeof ce>"u")&&(ce=te()),ne=R[fe]&&R[fe][ce]),typeof ne>"u"||!ne.length||!ne[0]){var De="";j=[];for(re in R[fe])this.terminals_[re]&&re>F&&j.push("'"+this.terminals_[re]+"'");z.showPosition?De="Parse error on line "+(L+1)+`: -`+z.showPosition()+` -Expecting `+j.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":De="Parse error on line "+(L+1)+": Unexpected "+(ce==I?"end of input":"'"+(this.terminals_[ce]||ce)+"'"),this.parseError(De,{text:z.match,token:this.terminals_[ce]||ce,line:z.yylineno,loc:$,expected:j})}if(ne[0]instanceof Array&&ne.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fe+", token: "+ce);switch(ne[0]){case 1:T.push(ce),E.push(z.yytext),S.push(z.yylloc),T.push(ne[1]),ce=null,Z?(ce=Z,Z=null):(P=z.yyleng,D=z.yytext,L=z.yylineno,$=z.yylloc,M>0&&M--);break;case 2:if(ie=this.productions_[ne[1]][1],K.$=E[E.length-ie],K._$={first_line:S[S.length-(ie||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(ie||1)].first_column,last_column:S[S.length-1].last_column},W&&(K._$.range=[S[S.length-(ie||1)].range[0],S[S.length-1].range[1]]),Q=this.performAction.apply(K,[D,P,L,N.yy,ne[1],E,S].concat(O)),typeof Q<"u")return Q;ie&&(T=T.slice(0,-1*ie*2),E=E.slice(0,-1*ie),S=S.slice(0,-1*ie)),T.push(this.productions_[ne[1]][0]),E.push(K.$),S.push(K._$),ye=R[T[T.length-2]][T[T.length-1]],T.push(ye);break;case 3:return!0}}return!0},"parse")},x=function(){var k={EOF:1,parseError:s(function(w,T){if(this.yy.parser)this.yy.parser.parseError(w,T);else throw new Error(w)},"parseError"),setInput:s(function(A,w){return this.yy=w||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var w=A.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},"input"),unput:s(function(A){var w=A.length,T=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var C=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===C.length?this.yylloc.first_column:0)+C[C.length-T.length].length-T[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). -`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(A){this.unput(this.match.slice(A))},"less"),pastInput:s(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var A=this.pastInput(),w=new Array(A.length+1).join("-");return A+this.upcomingInput()+` -`+w+"^"},"showPosition"),test_match:s(function(A,w){var T,C,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),C=A[0].match(/(?:\r\n?|\n).*/g),C&&(this.yylineno+=C.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:C?C[C.length-1].length-C[C.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],T=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var S in E)this[S]=E[S];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,w,T,C;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),S=0;Sw[0].length)){if(w=T,C=S,this.options.backtrack_lexer){if(A=this.test_match(T,E[S]),A!==!1)return A;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(A=this.test_match(w,E[C]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. -`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var w=this.next();return w||this.lex()},"lex"),begin:s(function(w){this.conditionStack.push(w)},"begin"),popState:s(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:s(function(w){this.begin(w)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(w,T,C,E){var S=E;switch(C){case 0:return 10;case 1:return w.getLogger().debug("Found space-block"),31;break;case 2:return w.getLogger().debug("Found nl-block"),31;break;case 3:return w.getLogger().debug("Found space-block"),29;break;case 4:w.getLogger().debug(".",T.yytext);break;case 5:w.getLogger().debug("_",T.yytext);break;case 6:return 5;case 7:return T.yytext=-1,28;break;case 8:return T.yytext=T.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",T.yytext),28;break;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:w.getLogger().debug("LEX: POPPING STR:",T.yytext),this.popState();break;case 14:return w.getLogger().debug("LEX: STR end:",T.yytext),"STR";break;case 15:return T.yytext=T.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",T.yytext),21;break;case 16:return T.yytext="1",w.getLogger().debug("COLUMNS (LEX)",T.yytext),21;break;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;break;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 22:return this.popState(),this.pushState("CLASSDEFID"),41;break;case 23:return this.popState(),42;break;case 24:return this.pushState("CLASS"),44;break;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;break;case 26:return this.popState(),46;break;case 27:return this.pushState("STYLE_STMNT"),47;break;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;break;case 29:return this.popState(),49;break;case 30:return this.pushState("acc_title"),"acc_title";break;case 31:return this.popState(),"acc_title_value";break;case 32:return this.pushState("acc_descr"),"acc_descr";break;case 33:return this.popState(),"acc_descr_value";break;case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 54:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 55:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;break;case 56:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;break;case 57:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;break;case 58:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 59:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 62:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 63:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;break;case 64:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;break;case 65:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 66:return this.pushState("NODE"),36;break;case 67:return this.pushState("NODE"),36;break;case 68:return this.pushState("NODE"),36;break;case 69:return this.pushState("NODE"),36;break;case 70:return this.pushState("NODE"),36;break;case 71:return this.pushState("NODE"),36;break;case 72:return this.pushState("NODE"),36;break;case 73:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;break;case 74:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),38;break;case 75:return w.getLogger().debug("Lex: NODE_ID",T.yytext),32;break;case 76:return w.getLogger().debug("Lex: EOF",T.yytext),8;break;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return w.getLogger().debug("LEX: NODE_DESCR:",T.yytext),"NODE_DESCR";break;case 84:w.getLogger().debug("LEX POPPING"),this.popState();break;case 85:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",T.yytext),"DIR";break;case 87:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",T.yytext),"DIR";break;case 88:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",T.yytext),"DIR";break;case 89:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",T.yytext),"DIR";break;case 90:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",T.yytext),"DIR";break;case 91:return T.yytext=T.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",T.yytext),"DIR";break;case 92:return T.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",T.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 93:return w.getLogger().debug("Lex: LINK","#"+T.yytext+"#"),15;break;case 94:return w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 96:return w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 97:return w.getLogger().debug("Lex: START_LINK",T.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",T.yytext),this.pushState("LLABEL"),16;break;case 99:return w.getLogger().debug("Lex: START_LINK",T.yytext),this.pushState("LLABEL"),16;break;case 100:this.pushState("md_string");break;case 101:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK","#"+T.yytext+"#"),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 104:return this.popState(),w.getLogger().debug("Lex: LINK",T.yytext),15;break;case 105:return w.getLogger().debug("Lex: COLON",T.yytext),T.yytext=T.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return k}();v.lexer=x;function b(){this.yy={}}return s(b,"Parser"),b.prototype=v,v.Parser=b,new b}();XP.parser=XP;Pme=XP});function qKe(t){switch(V.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return V.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function WKe(t){switch(V.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function HKe(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}var Dl,KP,jP,Fme,zme,BKe,Gme,FKe,A7,zKe,$Ke,GKe,VKe,Vme,QP,jx,UKe,$me,YKe,XKe,jKe,KKe,QKe,ZKe,JKe,eQe,tQe,rQe,nQe,Ume,qme=_(()=>{"use strict";S9();zs();gt();it();Qt();Ci();Dl=new Map,KP=[],jP=new Map,Fme="color",zme="fill",BKe="bgFill",Gme=",",FKe=le(),A7=new Map,zKe=s(t=>$e.sanitizeText(t,FKe),"sanitizeText"),$Ke=s(function(t,e=""){let r=A7.get(t);r||(r={id:t,styles:[],textStyles:[]},A7.set(t,r)),e?.split(Gme).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(Fme).exec(n)){let o=i.replace(zme,BKe).replace(Fme,zme);r.textStyles.push(o)}r.styles.push(i)})},"addStyleClass"),GKe=s(function(t,e=""){let r=Dl.get(t);e!=null&&(r.styles=e.split(Gme))},"addStyle2Node"),VKe=s(function(t,e){t.split(",").forEach(function(r){let n=Dl.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Dl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),Vme=s((t,e)=>{let r=t.flat(),n=[];for(let i of r){if(i.label&&(i.label=zKe(i.label)),i.type==="classDef"){$Ke(i.id,i.css);continue}if(i.type==="applyClass"){VKe(i.id,i?.styleClass??"");continue}if(i.type==="applyStyles"){i?.stylesStr&&GKe(i.id,i?.stylesStr);continue}if(i.type==="column-setting")e.columns=i.columns??-1;else if(i.type==="edge"){let a=(jP.get(i.id)??0)+1;jP.set(i.id,a),i.id=a+"-"+i.id,KP.push(i)}else{i.label||(i.type==="composite"?i.label="":i.label=i.id);let a=Dl.get(i.id);if(a===void 0?Dl.set(i.id,i):(i.type!=="na"&&(a.type=i.type),i.label!==i.id&&(a.label=i.label)),i.children&&Vme(i.children,i),i.type==="space"){let o=i.width??1;for(let l=0;l{V.debug("Clear called"),br(),jx={id:"root",type:"composite",children:[],columns:-1},Dl=new Map([["root",jx]]),QP=[],A7=new Map,KP=[],jP=new Map},"clear");s(qKe,"typeStr2Type");s(WKe,"edgeTypeStr2Type");s(HKe,"edgeStrToEdgeData");$me=0,YKe=s(()=>($me++,"id-"+Math.random().toString(36).substr(2,12)+"-"+$me),"generateId"),XKe=s(t=>{jx.children=t,Vme(t,jx),QP=jx.children},"setHierarchy"),jKe=s(t=>{let e=Dl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),KKe=s(()=>[...Dl.values()],"getBlocksFlat"),QKe=s(()=>QP||[],"getBlocks"),ZKe=s(()=>KP,"getEdges"),JKe=s(t=>Dl.get(t),"getBlock"),eQe=s(t=>{Dl.set(t.id,t)},"setBlock"),tQe=s(()=>console,"getLogger"),rQe=s(function(){return A7},"getClasses"),nQe={getConfig:s(()=>_r().block,"getConfig"),typeStr2Type:qKe,edgeTypeStr2Type:WKe,edgeStrToEdgeData:HKe,getLogger:tQe,getBlocksFlat:KKe,getBlocks:QKe,getEdges:ZKe,setHierarchy:XKe,getBlock:JKe,setBlock:eQe,getColumns:jKe,getClasses:rQe,clear:UKe,generateId:YKe},Ume=nQe});var L7,iQe,Wme,Hme=_(()=>{"use strict";Ho();L7=s((t,e)=>{let r=D1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Fs(n,i,a,e)},"fade"),iQe=s(t=>`.label { + `},"styles")});var o1e={};hr(o1e,{diagram:()=>sJe});var sJe,l1e=R(()=>{"use strict";zB();r1e();i1e();s1e();sJe={parser:t1e,db:Mf,renderer:n1e,styles:a1e}});var $B,h1e,f1e=R(()=>{"use strict";$B=function(){var t=o(function(w,S,T,E){for(T=T||{},E=w.length;E--;T[w[E]]=S);return T},"o"),e=[1,7],r=[1,13],n=[1,14],i=[1,15],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,21,28,29,30,31,32,40,44,47],d=[1,23],p=[1,24],m=[8,15,16,21,28,29,30,31,32,40,44,47],g=[8,15,16,21,27,28,29,30,31,32,40,44,47],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(S,T,E,_,A,L,M){var N=L.length-1;switch(A){case 4:_.getLogger().debug("Rule: separator (NL) ");break;case 5:_.getLogger().debug("Rule: separator (Space) ");break;case 6:_.getLogger().debug("Rule: separator (EOF) ");break;case 7:_.getLogger().debug("Rule: hierarchy: ",L[N-1]),_.setHierarchy(L[N-1]);break;case 8:_.getLogger().debug("Stop NL ");break;case 9:_.getLogger().debug("Stop EOF ");break;case 10:_.getLogger().debug("Stop NL2 ");break;case 11:_.getLogger().debug("Stop EOF2 ");break;case 12:_.getLogger().debug("Rule: statement: ",L[N]),typeof L[N].length=="number"?this.$=L[N]:this.$=[L[N]];break;case 13:_.getLogger().debug("Rule: statement #2: ",L[N-1]),this.$=[L[N-1]].concat(L[N]);break;case 14:_.getLogger().debug("Rule: link: ",L[N],S),this.$={edgeTypeStr:L[N],label:""};break;case 15:_.getLogger().debug("Rule: LABEL link: ",L[N-3],L[N-1],L[N]),this.$={edgeTypeStr:L[N],label:L[N-1]};break;case 18:let k=parseInt(L[N]),I=_.generateId();this.$={id:I,type:"space",label:"",width:k,children:[]};break;case 23:_.getLogger().debug("Rule: (nodeStatement link node) ",L[N-2],L[N-1],L[N]," typestr: ",L[N-1].edgeTypeStr);let C=_.edgeStrToEdgeData(L[N-1].edgeTypeStr);this.$=[{id:L[N-2].id,label:L[N-2].label,type:L[N-2].type,directions:L[N-2].directions},{id:L[N-2].id+"-"+L[N].id,start:L[N-2].id,end:L[N].id,label:L[N-1].label,type:"edge",directions:L[N].directions,arrowTypeEnd:C,arrowTypeStart:"arrow_open"},{id:L[N].id,label:L[N].label,type:_.typeStr2Type(L[N].typeStr),directions:L[N].directions}];break;case 24:_.getLogger().debug("Rule: nodeStatement (abc88 node size) ",L[N-1],L[N]),this.$={id:L[N-1].id,label:L[N-1].label,type:_.typeStr2Type(L[N-1].typeStr),directions:L[N-1].directions,widthInColumns:parseInt(L[N],10)};break;case 25:_.getLogger().debug("Rule: nodeStatement (node) ",L[N]),this.$={id:L[N].id,label:L[N].label,type:_.typeStr2Type(L[N].typeStr),directions:L[N].directions,widthInColumns:1};break;case 26:_.getLogger().debug("APA123",this?this:"na"),_.getLogger().debug("COLUMNS: ",L[N]),this.$={type:"column-setting",columns:L[N]==="auto"?-1:parseInt(L[N])};break;case 27:_.getLogger().debug("Rule: id-block statement : ",L[N-2],L[N-1]);let O=_.generateId();this.$={...L[N-2],type:"composite",children:L[N-1]};break;case 28:_.getLogger().debug("Rule: blockStatement : ",L[N-2],L[N-1],L[N]);let D=_.generateId();this.$={id:D,type:"composite",label:"",children:L[N-1]};break;case 29:_.getLogger().debug("Rule: node (NODE_ID separator): ",L[N]),this.$={id:L[N]};break;case 30:_.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",L[N-1],L[N]),this.$={id:L[N-1],label:L[N].label,typeStr:L[N].typeStr,directions:L[N].directions};break;case 31:_.getLogger().debug("Rule: dirList: ",L[N]),this.$=[L[N]];break;case 32:_.getLogger().debug("Rule: dirList: ",L[N-1],L[N]),this.$=[L[N-1]].concat(L[N]);break;case 33:_.getLogger().debug("Rule: nodeShapeNLabel: ",L[N-2],L[N-1],L[N]),this.$={typeStr:L[N-2]+L[N],label:L[N-1]};break;case 34:_.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",L[N-3],L[N-2]," #3:",L[N-1],L[N]),this.$={typeStr:L[N-3]+L[N],label:L[N-2],directions:L[N-1]};break;case 35:case 36:this.$={type:"classDef",id:L[N-1].trim(),css:L[N].trim()};break;case 37:this.$={type:"applyClass",id:L[N-1].trim(),styleClass:L[N].trim()};break;case 38:this.$={type:"applyStyles",id:L[N-1].trim(),stylesStr:L[N].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:r,29:n,31:i,32:a,40:s,44:l,47:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:u},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(g,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},t(m,[2,24]),{11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:u},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{37:[1,47]},{34:48,35:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{39:[1,51]},{34:52,35:y,39:[2,31]},{32:[2,15]},t(g,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(S,T){if(T.recoverable)this.trace(S);else{var E=new Error(S);throw E.hash=T,E}},"parseError"),parse:o(function(S){var T=this,E=[0],_=[],A=[null],L=[],M=this.table,N="",k=0,I=0,C=0,O=2,D=1,P=L.slice.call(arguments,1),F=Object.create(this.lexer),B={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(B.yy[G]=this.yy[G]);F.setInput(S,B.yy),B.yy.lexer=F,B.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;L.push(z);var Y=F.options&&F.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Q(oe){E.length=E.length-2*oe,A.length=A.length-oe,L.length=L.length-oe}o(Q,"popStack");function X(){var oe;return oe=_.pop()||F.lex()||D,typeof oe!="number"&&(oe instanceof Array&&(_=oe,oe=_.pop()),oe=T.symbols_[oe]||oe),oe}o(X,"lex");for(var ie,j,J,Z,H,q,K={},se,ce,ue,te;;){if(J=E[E.length-1],this.defaultActions[J]?Z=this.defaultActions[J]:((ie===null||typeof ie>"u")&&(ie=X()),Z=M[J]&&M[J][ie]),typeof Z>"u"||!Z.length||!Z[0]){var De="";te=[];for(se in M[J])this.terminals_[se]&&se>O&&te.push("'"+this.terminals_[se]+"'");F.showPosition?De="Parse error on line "+(k+1)+`: +`+F.showPosition()+` +Expecting `+te.join(", ")+", got '"+(this.terminals_[ie]||ie)+"'":De="Parse error on line "+(k+1)+": Unexpected "+(ie==D?"end of input":"'"+(this.terminals_[ie]||ie)+"'"),this.parseError(De,{text:F.match,token:this.terminals_[ie]||ie,line:F.yylineno,loc:z,expected:te})}if(Z[0]instanceof Array&&Z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+ie);switch(Z[0]){case 1:E.push(ie),A.push(F.yytext),L.push(F.yylloc),E.push(Z[1]),ie=null,j?(ie=j,j=null):(I=F.yyleng,N=F.yytext,k=F.yylineno,z=F.yylloc,C>0&&C--);break;case 2:if(ce=this.productions_[Z[1]][1],K.$=A[A.length-ce],K._$={first_line:L[L.length-(ce||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(ce||1)].first_column,last_column:L[L.length-1].last_column},Y&&(K._$.range=[L[L.length-(ce||1)].range[0],L[L.length-1].range[1]]),q=this.performAction.apply(K,[N,I,k,B.yy,Z[1],A,L].concat(P)),typeof q<"u")return q;ce&&(E=E.slice(0,-1*ce*2),A=A.slice(0,-1*ce),L=L.slice(0,-1*ce)),E.push(this.productions_[Z[1]][0]),A.push(K.$),L.push(K._$),ue=M[E[E.length-2]][E[E.length-1]],E.push(ue);break;case 3:return!0}}return!0},"parse")},x=function(){var w={EOF:1,parseError:o(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:o(function(S,T){return this.yy=T||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var T=S.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:o(function(S){var T=S.length,E=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(S){this.unput(this.match.slice(S))},"less"),pastInput:o(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var S=this.pastInput(),T=new Array(S.length+1).join("-");return S+this.upcomingInput()+` +`+T+"^"},"showPosition"),test_match:o(function(S,T){var E,_,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),_=S[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var L in A)this[L]=A[L];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,T,E,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),L=0;LT[0].length)){if(T=E,_=L,this.options.backtrack_lexer){if(S=this.test_match(E,A[L]),S!==!1)return S;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(S=this.test_match(T,A[_]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var T=this.next();return T||this.lex()},"lex"),begin:o(function(T){this.conditionStack.push(T)},"begin"),popState:o(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:o(function(T){this.begin(T)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(T,E,_,A){var L=A;switch(_){case 0:return 10;case 1:return T.getLogger().debug("Found space-block"),31;break;case 2:return T.getLogger().debug("Found nl-block"),31;break;case 3:return T.getLogger().debug("Found space-block"),29;break;case 4:T.getLogger().debug(".",E.yytext);break;case 5:T.getLogger().debug("_",E.yytext);break;case 6:return 5;case 7:return E.yytext=-1,28;break;case 8:return E.yytext=E.yytext.replace(/columns\s+/,""),T.getLogger().debug("COLUMNS (LEX)",E.yytext),28;break;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:T.getLogger().debug("LEX: POPPING STR:",E.yytext),this.popState();break;case 14:return T.getLogger().debug("LEX: STR end:",E.yytext),"STR";break;case 15:return E.yytext=E.yytext.replace(/space\:/,""),T.getLogger().debug("SPACE NUM (LEX)",E.yytext),21;break;case 16:return E.yytext="1",T.getLogger().debug("COLUMNS (LEX)",E.yytext),21;break;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;break;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 22:return this.popState(),this.pushState("CLASSDEFID"),41;break;case 23:return this.popState(),42;break;case 24:return this.pushState("CLASS"),44;break;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;break;case 26:return this.popState(),46;break;case 27:return this.pushState("STYLE_STMNT"),47;break;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;break;case 29:return this.popState(),49;break;case 30:return this.pushState("acc_title"),"acc_title";break;case 31:return this.popState(),"acc_title_value";break;case 32:return this.pushState("acc_descr"),"acc_descr";break;case 33:return this.popState(),"acc_descr_value";break;case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 40:return this.popState(),T.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 41:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 43:return this.popState(),T.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 44:return this.popState(),T.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 45:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 46:return this.popState(),T.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 47:return this.popState(),T.getLogger().debug("Lex: ("),"NODE_DEND";break;case 48:return this.popState(),T.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 49:return this.popState(),T.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),T.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 51:return this.popState(),T.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 52:return this.popState(),T.getLogger().debug("Lex: )"),"NODE_DEND";break;case 53:return this.popState(),T.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 54:return this.popState(),T.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 55:return T.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;break;case 56:return T.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;break;case 57:return T.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;break;case 58:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 59:return T.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;break;case 60:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 61:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 62:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 63:return T.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;break;case 64:return T.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;break;case 65:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 66:return this.pushState("NODE"),36;break;case 67:return this.pushState("NODE"),36;break;case 68:return this.pushState("NODE"),36;break;case 69:return this.pushState("NODE"),36;break;case 70:return this.pushState("NODE"),36;break;case 71:return this.pushState("NODE"),36;break;case 72:return this.pushState("NODE"),36;break;case 73:return T.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;break;case 74:return this.pushState("BLOCK_ARROW"),T.getLogger().debug("LEX ARR START"),38;break;case 75:return T.getLogger().debug("Lex: NODE_ID",E.yytext),32;break;case 76:return T.getLogger().debug("Lex: EOF",E.yytext),8;break;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:T.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:T.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return T.getLogger().debug("LEX: NODE_DESCR:",E.yytext),"NODE_DESCR";break;case 84:T.getLogger().debug("LEX POPPING"),this.popState();break;case 85:T.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (right): dir:",E.yytext),"DIR";break;case 87:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (left):",E.yytext),"DIR";break;case 88:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (x):",E.yytext),"DIR";break;case 89:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (y):",E.yytext),"DIR";break;case 90:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (up):",E.yytext),"DIR";break;case 91:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (down):",E.yytext),"DIR";break;case 92:return E.yytext="]>",T.getLogger().debug("Lex (ARROW_DIR end):",E.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 93:return T.getLogger().debug("Lex: LINK","#"+E.yytext+"#"),15;break;case 94:return T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 95:return T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 96:return T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 97:return T.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 98:return T.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 99:return T.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 100:this.pushState("md_string");break;case 101:return T.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 102:return this.popState(),T.getLogger().debug("Lex: LINK","#"+E.yytext+"#"),15;break;case 103:return this.popState(),T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 104:return this.popState(),T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 105:return T.getLogger().debug("Lex: COLON",E.yytext),E.yytext=E.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return w}();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b}();$B.parser=$B;h1e=$B});function gJe(t){switch(V.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return V.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function yJe(t){switch(V.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function vJe(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}var Yl,VB,GB,d1e,p1e,cJe,g1e,uJe,aC,hJe,fJe,dJe,pJe,y1e,UB,db,mJe,m1e,xJe,bJe,wJe,TJe,kJe,EJe,CJe,SJe,AJe,_Je,LJe,v1e,x1e=R(()=>{"use strict";gL();qs();_t();ut();rr();bi();Yl=new Map,VB=[],GB=new Map,d1e="color",p1e="fill",cJe="bgFill",g1e=",",uJe=de(),aC=new Map,hJe=o(t=>We.sanitizeText(t,uJe),"sanitizeText"),fJe=o(function(t,e=""){let r=aC.get(t);r||(r={id:t,styles:[],textStyles:[]},aC.set(t,r)),e?.split(g1e).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(d1e).exec(n)){let s=i.replace(p1e,cJe).replace(d1e,p1e);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),dJe=o(function(t,e=""){let r=Yl.get(t);e!=null&&(r.styles=e.split(g1e))},"addStyle2Node"),pJe=o(function(t,e){t.split(",").forEach(function(r){let n=Yl.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Yl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),y1e=o((t,e)=>{let r=t.flat(),n=[];for(let i of r){if(i.label&&(i.label=hJe(i.label)),i.type==="classDef"){fJe(i.id,i.css);continue}if(i.type==="applyClass"){pJe(i.id,i?.styleClass??"");continue}if(i.type==="applyStyles"){i?.stylesStr&&dJe(i.id,i?.stylesStr);continue}if(i.type==="column-setting")e.columns=i.columns??-1;else if(i.type==="edge"){let a=(GB.get(i.id)??0)+1;GB.set(i.id,a),i.id=a+"-"+i.id,VB.push(i)}else{i.label||(i.type==="composite"?i.label="":i.label=i.id);let a=Yl.get(i.id);if(a===void 0?Yl.set(i.id,i):(i.type!=="na"&&(a.type=i.type),i.label!==i.id&&(a.label=i.label)),i.children&&y1e(i.children,i),i.type==="space"){let s=i.width??1;for(let l=0;l{V.debug("Clear called"),vr(),db={id:"root",type:"composite",children:[],columns:-1},Yl=new Map([["root",db]]),UB=[],aC=new Map,VB=[],GB=new Map},"clear");o(gJe,"typeStr2Type");o(yJe,"edgeTypeStr2Type");o(vJe,"edgeStrToEdgeData");m1e=0,xJe=o(()=>(m1e++,"id-"+Math.random().toString(36).substr(2,12)+"-"+m1e),"generateId"),bJe=o(t=>{db.children=t,y1e(t,db),UB=db.children},"setHierarchy"),wJe=o(t=>{let e=Yl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),TJe=o(()=>[...Yl.values()],"getBlocksFlat"),kJe=o(()=>UB||[],"getBlocks"),EJe=o(()=>VB,"getEdges"),CJe=o(t=>Yl.get(t),"getBlock"),SJe=o(t=>{Yl.set(t.id,t)},"setBlock"),AJe=o(()=>console,"getLogger"),_Je=o(function(){return aC},"getClasses"),LJe={getConfig:o(()=>Or().block,"getConfig"),typeStr2Type:gJe,edgeTypeStr2Type:yJe,edgeStrToEdgeData:vJe,getLogger:AJe,getBlocksFlat:TJe,getBlocks:kJe,getEdges:EJe,setHierarchy:bJe,getBlock:CJe,setBlock:SJe,getColumns:wJe,getClasses:_Je,clear:mJe,generateId:xJe},v1e=LJe});var sC,DJe,b1e,w1e=R(()=>{"use strict";al();sC=o((t,e)=>{let r=X1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ws(n,i,a,e)},"fade"),DJe=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } @@ -2026,14 +2026,14 @@ Expecting `+j.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":De="Parse error /* For html labels only */ .labelBkg { - background-color: ${L7(t.edgeLabelBackground,.5)}; + background-color: ${sC(t.edgeLabelBackground,.5)}; // background-color: } .node .cluster { - // fill: ${L7(t.mainBkg,.5)}; - fill: ${L7(t.clusterBkg,.5)}; - stroke: ${L7(t.clusterBorder,.2)}; + // fill: ${sC(t.mainBkg,.5)}; + fill: ${sC(t.clusterBkg,.5)}; + stroke: ${sC(t.clusterBorder,.2)}; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; stroke-width: 1px; } @@ -2068,47 +2068,82 @@ Expecting `+j.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":De="Parse error font-size: 18px; fill: ${t.textColor}; } -`,"getStyles"),Wme=iQe});function aQe(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function ZP(t,e,r=0,n=0){V.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)ZP(m,e);let o=sQe(t);i=o.width,a=o.height,V.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(V.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+li*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)ZP(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*li-li)/m;V.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}V.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function Yme(t,e){V.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(V.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*li;V.debug("widthOfChildren 88",i,"posX");let a=0;V.debug("abc91 block?.size?.x",t.id,t?.size?.x);let o=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-li,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=aQe(r,a);if(m!=l&&(l=m,o=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-li,V.debug("New row in layout for block",t.id," and child ",u.id,l)),V.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${li}`),h.size){let g=f/2;u.size.x=o+li+g,V.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${o} new startingPosX${u.size.x} ${g} padding=${li} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),o=u.size.x+g,u.size.y=h.size.y-h.size.height/2+m*(d+li)+d/2+li,V.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${o}${li}${g}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&Yme(u,e),a+=u?.widthInColumns??1,V.debug("abc88 columnsPos",u,a)}}V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function Xme(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:o,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),o+u/2>i&&(i=o+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=Xme(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function jme(t){let e=t.getBlock("root");if(!e)return;ZP(e,t,0,0),Yme(e,t),V.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=Xme(e),o=a-n,l=i-r;return{x:r,y:n,width:l,height:o}}var li,sQe,Kme=_(()=>{"use strict";it();gt();li=le()?.block?.padding??8;s(aQe,"calculateBlockPosition");sQe=s(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:o,y:l}=n.size??{width:0,height:0,x:0,y:0};V.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",o,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");s(ZP,"setBlockSizes");s(Yme,"layoutBlocks");s(Xme,"findBounds");s(jme,"layout")});function Qme(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,o="",l;switch(n.type){case"round":a=5,o="rect";break;case"composite":a=0,o="composite",l=0;break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"block_arrow":o="block_arrow";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"rect_left_inv_arrow":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}let u=Hp(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:o,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??_r()?.block?.padding??0}}async function oQe(t,e,r){let n=Qme(e,r,!1);if(n.type==="group")return;let i=await Zp(t,n),a=i.node().getBBox(),o=r.getBlock(n.id);o.size={width:a.width,height:a.height,x:0,y:0,node:i},r.setBlock(o),i.remove()}async function lQe(t,e,r){let n=Qme(e,r,!0);r.getBlock(n.id).type!=="space"&&(await Zp(t,n),e.intersect=n?.intersect,nv(n))}async function JP(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await JP(t,i.children,r,n)}async function Zme(t,e,r){await JP(t,e,r,oQe)}async function Jme(t,e,r){await JP(t,e,r,lQe)}async function ege(t,e,r,n,i){let a=new ir({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let o of r)o.size&&a.setNode(o.id,{width:o.size.width,height:o.size.height,intersect:o.intersect});for(let o of e)if(o.start&&o.end){let l=n.getBlock(o.start),u=n.getBlock(o.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];aT(t,{v:o.start,w:o.end,name:o.id},{...o,arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),o.label&&(await nT(t,{...o,label:o.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),iT({...o,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var tge=_(()=>{"use strict";la();zs();zN();r5();pr();s(Qme,"getNodeFromBlock");s(oQe,"calculateBlockSize");s(lQe,"insertBlockPositioned");s(JP,"performOperations");s(Zme,"calculateBlockSizes");s(Jme,"insertBlocks");s(ege,"insertEdges")});var cQe,uQe,rge,nge=_(()=>{"use strict";Xt();zs();FN();it();Un();Kme();tge();cQe=s(function(t,e){return e.db.getClasses()},"getClasses"),uQe=s(async function(t,e,r,n){let{securityLevel:i,block:a}=_r(),o=n.db,l;i==="sandbox"&&(l=Me("#i"+e));let u=i==="sandbox"?Me(l.nodes()[0].contentDocument.body):Me("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Me(`[id="${e}"]`);Zw(h,["point","circle","cross"],n.type,e);let d=o.getBlocks(),p=o.getBlocksFlat(),m=o.getEdges(),g=h.insert("g").attr("class","block");await Zme(g,d,o);let y=jme(o);if(await Jme(g,d,o),await ege(g,m,p,o,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,k=v.width+10,{useMaxWidth:A}=a;xr(h,b,k,!!A),V.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),rge={draw:uQe,getClasses:cQe}});var ige={};ur(ige,{diagram:()=>hQe});var hQe,age=_(()=>{"use strict";Bme();qme();Hme();nge();hQe={parser:Pme,db:Ume,renderer:rge,styles:Wme}});var bet={};ur(bet,{default:()=>xet});Y7();Mf();var dY="c4",Ywe=s(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),Xwe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(fY(),hY));return{id:dY,diagram:t}},"loader"),jwe={id:dY,detector:Ywe,loader:Xwe},pY=jwe;var _te="flowchart",iDe=s((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),aDe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nk(),Ik));return{id:_te,diagram:t}},"loader"),sDe={id:_te,detector:iDe,loader:aDe},Ate=sDe;var Lte="flowchart-v2",oDe=s((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t),"detector"),lDe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nk(),Ik));return{id:Lte,diagram:t}},"loader"),cDe={id:Lte,detector:oDe,loader:lDe},Dte=cDe;var are="er",FDe=s(t=>/^\s*erDiagram/.test(t),"detector"),zDe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ire(),nre));return{id:are,diagram:t}},"loader"),$De={id:are,detector:FDe,loader:zDe},sre=$De;var hoe="gitGraph",sOe=s(t=>/^\s*gitGraph/.test(t),"detector"),oOe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uoe(),coe));return{id:hoe,diagram:t}},"loader"),lOe={id:hoe,detector:sOe,loader:oOe},foe=lOe;var Voe="gantt",jOe=s(t=>/^\s*gantt/.test(t),"detector"),KOe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Goe(),$oe));return{id:Voe,diagram:t}},"loader"),QOe={id:Voe,detector:jOe,loader:KOe},Uoe=QOe;var Zoe="info",nPe=s(t=>/^\s*info/.test(t),"detector"),iPe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Qoe(),Koe));return{id:Zoe,diagram:t}},"loader"),Joe={id:Zoe,detector:nPe,loader:iPe};var cle="pie",yPe=s(t=>/^\s*pie/.test(t),"detector"),vPe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(lle(),ole));return{id:cle,diagram:t}},"loader"),ule={id:cle,detector:yPe,loader:vPe};var Tle="quadrantChart",PPe=s(t=>/^\s*quadrantChart/.test(t),"detector"),BPe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wle(),kle));return{id:Tle,diagram:t}},"loader"),FPe={id:Tle,detector:PPe,loader:BPe},Ele=FPe;var Qle="xychart",eBe=s(t=>/^\s*xychart-beta/.test(t),"detector"),tBe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Kle(),jle));return{id:Qle,diagram:t}},"loader"),rBe={id:Qle,detector:eBe,loader:tBe},Zle=rBe;var pce="requirement",DBe=s(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),RBe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(dce(),fce));return{id:pce,diagram:t}},"loader"),MBe={id:pce,detector:DBe,loader:RBe},mce=MBe;var Vce="sequence",OFe=s(t=>/^\s*sequenceDiagram/.test(t),"detector"),PFe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Gce(),$ce));return{id:Vce,diagram:t}},"loader"),BFe={id:Vce,detector:OFe,loader:PFe},Uce=BFe;var iue="class",yze=s((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),vze=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(nue(),rue));return{id:iue,diagram:t}},"loader"),xze={id:iue,detector:yze,loader:vze},aue=xze;var Iue="classDiagram",Hze=s((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),Yze=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Mue(),Rue));return{id:Iue,diagram:t}},"loader"),Xze={id:Iue,detector:Hze,loader:Yze},Nue=Xze;var Che="state",U$e=s((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),q$e=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ehe(),The));return{id:Che,diagram:t}},"loader"),W$e={id:Che,detector:U$e,loader:q$e},She=W$e;var Lhe="stateDiagram",Y$e=s((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),X$e=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ahe(),_he));return{id:Lhe,diagram:t}},"loader"),j$e={id:Lhe,detector:Y$e,loader:X$e},Dhe=j$e;var Hhe="journey",gGe=s(t=>/^\s*journey/.test(t),"detector"),yGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Whe(),qhe));return{id:Hhe,diagram:t}},"loader"),vGe={id:Hhe,detector:gGe,loader:yGe},Yhe=vGe;it();p0();Un();var xGe=s((t,e,r)=>{V.debug(`rendering svg for syntax error -`);let n=Bo(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),xr(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),kO={draw:xGe},Xhe=kO;var bGe={db:{},renderer:kO,parser:{parse:s(()=>{},"parse")}},jhe=bGe;var Khe="flowchart-elk",kGe=s((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),wGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nk(),Ik));return{id:Khe,diagram:t}},"loader"),TGe={id:Khe,detector:kGe,loader:wGe},Qhe=TGe;var Tfe="timeline",VGe=s(t=>/^\s*timeline/.test(t),"detector"),UGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wfe(),kfe));return{id:Tfe,diagram:t}},"loader"),qGe={id:Tfe,detector:VGe,loader:UGe},Efe=qGe;var Upe="mindmap",Kje=s(t=>/^\s*mindmap/.test(t),"detector"),Qje=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Vpe(),Gpe));return{id:Upe,diagram:t}},"loader"),Zje={id:Upe,detector:Kje,loader:Qje},qpe=Zje;var Tme="sankey",bKe=s(t=>/^\s*sankey-beta/.test(t),"detector"),kKe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wme(),kme));return{id:Tme,diagram:t}},"loader"),wKe={id:Tme,detector:bKe,loader:kKe},Eme=wKe;var Nme="packet",OKe=s(t=>/^\s*packet-beta/.test(t),"detector"),PKe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ime(),Mme));return{id:Nme,diagram:t}},"loader"),Ome={id:Nme,detector:OKe,loader:PKe};var sge="block",fQe=s(t=>/^\s*block-beta/.test(t),"detector"),dQe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(age(),ige));return{id:sge,diagram:t}},"loader"),pQe={id:sge,detector:fQe,loader:dQe},oge=pQe;Mf();gt();var lge=!1,o1=s(()=>{lge||(lge=!0,Gf("error",jhe,t=>t.toLowerCase().trim()==="error"),Gf("---",{db:{clear:s(()=>{},"clear")},styles:{},renderer:{draw:s(()=>{},"draw")},parser:{parse:s(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:s(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),fb(pY,Nue,aue,sre,Uoe,Joe,ule,mce,Uce,Qhe,Dte,Ate,qpe,Efe,foe,Dhe,She,Yhe,Ele,Eme,Ome,Zle,oge))},"addDiagrams");it();Mf();gt();var cge=s(async()=>{V.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(Rf).map(async([r,{detector:n,loader:i}])=>{if(i)try{W1(r)}catch{try{let{diagram:a,id:o}=await i();Gf(o,a,n)}catch(a){throw V.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Rf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){V.error(`Failed to load ${e.length} external diagrams`);for(let r of e)V.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");it();Xt();var D7="comm",R7="rule",M7="decl";var uge="@import";var hge="@keyframes";var fge="@layer";var eB=Math.abs,Kx=String.fromCharCode;function I7(t){return t.trim()}s(I7,"trim");function Qx(t,e,r){return t.replace(e,r)}s(Qx,"replace");function dge(t,e,r){return t.indexOf(e,r)}s(dge,"indexof");function G0(t,e){return t.charCodeAt(e)|0}s(G0,"charat");function V0(t,e,r){return t.slice(e,r)}s(V0,"substr");function Uo(t){return t.length}s(Uo,"strlen");function pge(t){return t.length}s(pge,"sizeof");function l1(t,e){return e.push(t),t}s(l1,"append");var N7=1,c1=1,mge=0,qo=0,gi=0,u1="";function O7(t,e,r,n,i,a,o,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:N7,column:c1,length:o,return:"",siblings:l}}s(O7,"node");function gge(){return gi}s(gge,"char");function yge(){return gi=qo>0?G0(u1,--qo):0,c1--,gi===10&&(c1=1,N7--),gi}s(yge,"prev");function Wo(){return gi=qo2||tB(gi)>3?"":" "}s(bge,"whitespace");function kge(t,e){for(;--e&&Wo()&&!(gi<48||gi>102||gi>57&&gi<65||gi>70&&gi<97););return P7(t,Zx()+(e<6&&Ef()==32&&Wo()==32))}s(kge,"escaping");function rB(t){for(;Wo();)switch(gi){case t:return qo;case 34:case 39:t!==34&&t!==39&&rB(gi);break;case 40:t===41&&rB(t);break;case 92:Wo();break}return qo}s(rB,"delimiter");function wge(t,e){for(;Wo()&&t+gi!==57;)if(t+gi===84&&Ef()===47)break;return"/*"+P7(e,qo-1)+"*"+Kx(t===47?t:Wo())}s(wge,"commenter");function Tge(t){for(;!tB(Ef());)Wo();return P7(t,qo)}s(Tge,"identifier");function Sge(t){return xge(F7("",null,null,null,[""],t=vge(t),0,[0],t))}s(Sge,"compile");function F7(t,e,r,n,i,a,o,l,u){for(var h=0,f=0,d=o,p=0,m=0,g=0,y=1,v=1,x=1,b=0,k="",A=i,w=a,T=n,C=k;v;)switch(g=b,b=Wo()){case 40:if(g!=108&&G0(C,d-1)==58){dge(C+=Qx(B7(b),"&","&\f"),"&\f",eB(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:C+=B7(b);break;case 9:case 10:case 13:case 32:C+=bge(g);break;case 92:C+=kge(Zx()-1,7);continue;case 47:switch(Ef()){case 42:case 47:l1(mQe(wge(Wo(),Zx()),e,r,u),u);break;default:C+="/"}break;case 123*y:l[h++]=Uo(C)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(C=Qx(C,/\f/g,"")),m>0&&Uo(C)-d&&l1(m>32?Cge(C+";",n,r,d-1,u):Cge(Qx(C," ","")+";",n,r,d-2,u),u);break;case 59:C+=";";default:if(l1(T=Ege(C,e,r,h,f,i,l,k,A=[],w=[],d,a),a),b===123)if(f===0)F7(C,e,T,T,A,a,d,l,w);else switch(p===99&&G0(C,3)===110?100:p){case 100:case 108:case 109:case 115:F7(t,T,T,n&&l1(Ege(t,T,T,0,0,i,l,k,i,A=[],d,w),w),i,w,d,l,n?A:w);break;default:F7(C,T,T,T,[""],w,0,l,w)}}h=f=m=0,y=x=1,k=C="",d=o;break;case 58:d=1+Uo(C),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&yge()==125)continue}switch(C+=Kx(b),b*y){case 38:x=f>0?1:(C+="\f",-1);break;case 44:l[h++]=(Uo(C)-1)*x,x=1;break;case 64:Ef()===45&&(C+=B7(Wo())),p=Ef(),f=d=Uo(k=C+=Tge(Zx())),b++;break;case 45:g===45&&Uo(C)==2&&(y=0)}}return a}s(F7,"parse");function Ege(t,e,r,n,i,a,o,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=pge(m),y=0,v=0,x=0;y0?m[b]+" "+k:Qx(k,/&\f/g,m[b])))&&(u[x++]=A);return O7(t,e,r,i===0?R7:l,u,h,f,d)}s(Ege,"ruleset");function mQe(t,e,r,n){return O7(t,e,r,D7,Kx(gge()),V0(t,2,-2),0,n)}s(mQe,"comment");function Cge(t,e,r,n,i){return O7(t,e,r,M7,V0(t,0,n),V0(t,n+1,-1),n,i)}s(Cge,"declaration");function z7(t,e){for(var r="",n=0;n{Age.forEach(t=>{t()}),Age=[]},"attachFunctions");it();lC();xb();var _1e=ka(yE(),1);Qt();mk();var gQe="graphics-document document";function Dge(t,e){t.attr("role",gQe),e!==""&&t.attr("aria-roledescription",e)}s(Dge,"setA11yDiagramInfo");function Rge(t,e,r,n){if(t.insert!==void 0){if(r){let i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){let i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}s(Rge,"addSVGa11yTitleDescription");var Mge=s(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");hb();function Xge(t){return typeof t>"u"||t===null}s(Xge,"isNothing");function yQe(t){return typeof t=="object"&&t!==null}s(yQe,"isObject");function vQe(t){return Array.isArray(t)?t:Xge(t)?[]:[t]}s(vQe,"toArray");function xQe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(o=" ...",r=n+l-o.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+o,pos:n-e+a.length}}s(nB,"getLine");function iB(t,e){return Fi.repeat(" ",e-t.length)+t}s(iB,"padStart");function AQe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,o=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(o-u<0);u++)h=nB(t.buffer,n[o-u],i[o-u],t.position-(n[o]-n[o-u]),d),l=Fi.repeat(" ",e.indent)+iB((t.line-u+1).toString(),f)+" | "+h.str+` -`+l;for(h=nB(t.buffer,n[o],i[o],t.position,d),l+=Fi.repeat(" ",e.indent)+iB((t.line+1).toString(),f)+" | "+h.str+` -`,l+=Fi.repeat("-",e.indent+f+3+h.pos)+`^ -`,u=1;u<=e.linesAfter&&!(o+u>=i.length);u++)h=nB(t.buffer,n[o+u],i[o+u],t.position-(n[o]-n[o+u]),d),l+=Fi.repeat(" ",e.indent)+iB((t.line+u+1).toString(),f)+" | "+h.str+` -`;return l.replace(/\n$/,"")}s(AQe,"makeSnippet");var LQe=AQe,DQe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],RQe=["scalar","sequence","mapping"];function MQe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}s(MQe,"compileStyleAliases");function IQe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(DQe.indexOf(r)===-1)throw new Ns('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=MQe(e.styleAliases||null),RQe.indexOf(this.kind)===-1)throw new Ns('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}s(IQe,"Type$1");var Na=IQe;function Ige(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,o){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=o)}),r[i]=n}),r}s(Ige,"compileList");function NQe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(s(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:s(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:s(function(t){return t.toString(10)},"decimal"),hexadecimal:s(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),tZe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function rZe(t){return!(t===null||!tZe.test(t)||t[t.length-1]==="_")}s(rZe,"resolveYamlFloat");function nZe(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}s(nZe,"constructYamlFloat");var iZe=/^[-+]?[0-9]+e/;function aZe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Fi.isNegativeZero(t))return"-0.0";return r=t.toString(10),iZe.test(r)?r.replace("e",".e"):r}s(aZe,"representYamlFloat");function sZe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Fi.isNegativeZero(t))}s(sZe,"isFloat");var oZe=new Na("tag:yaml.org,2002:float",{kind:"scalar",resolve:rZe,construct:nZe,predicate:sZe,represent:aZe,defaultStyle:"lowercase"}),Kge=zQe.extend({implicit:[UQe,YQe,eZe,oZe]}),lZe=Kge,Qge=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Zge=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function cZe(t){return t===null?!1:Qge.exec(t)!==null||Zge.exec(t)!==null}s(cZe,"resolveYamlTimestamp");function uZe(t){var e,r,n,i,a,o,l,u=0,h=null,f,d,p;if(e=Qge.exec(t),e===null&&(e=Zge.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],o=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,o,l,u)),h&&p.setTime(p.getTime()-h),p}s(uZe,"constructYamlTimestamp");function hZe(t){return t.toISOString()}s(hZe,"representYamlTimestamp");var fZe=new Na("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:cZe,construct:uZe,instanceOf:Date,represent:hZe});function dZe(t){return t==="<<"||t===null}s(dZe,"resolveYamlMerge");var pZe=new Na("tag:yaml.org,2002:merge",{kind:"scalar",resolve:dZe}),hB=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function mZe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=hB;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}s(mZe,"resolveYamlBinary");function gZe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=hB,o=0,l=[];for(e=0;e>16&255),l.push(o>>8&255),l.push(o&255)),o=o<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(o>>16&255),l.push(o>>8&255),l.push(o&255)):r===18?(l.push(o>>10&255),l.push(o>>2&255)):r===12&&l.push(o>>4&255),new Uint8Array(l)}s(gZe,"constructYamlBinary");function yZe(t){var e="",r=0,n,i,a=t.length,o=hB;for(n=0;n>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):i===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):i===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}s(yZe,"representYamlBinary");function vZe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}s(vZe,"isBinary");var xZe=new Na("tag:yaml.org,2002:binary",{kind:"scalar",resolve:mZe,construct:gZe,predicate:vZe,represent:yZe}),bZe=Object.prototype.hasOwnProperty,kZe=Object.prototype.toString;function wZe(t){if(t===null)return!0;var e=[],r,n,i,a,o,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}s($Ze,"charFromCodepoint");var i1e=new Array(256),a1e=new Array(256);for(U0=0;U0<256;U0++)i1e[U0]=Pge(U0)?1:0,a1e[U0]=Pge(U0);var U0;function GZe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Jge,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}s(GZe,"State$1");function s1e(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=LQe(r),new Ns(e,r)}s(s1e,"generateError");function Lt(t,e){throw s1e(t,e)}s(Lt,"throwError");function V7(t,e){t.onWarning&&t.onWarning.call(null,s1e(t,e))}s(V7,"throwWarning");var Bge={YAML:s(function(e,r,n){var i,a,o;e.version!==null&&Lt(e,"duplication of %YAML directive"),n.length!==1&&Lt(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Lt(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),o=parseInt(i[2],10),a!==1&&Lt(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&V7(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:s(function(e,r,n){var i,a;n.length!==2&&Lt(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],r1e.test(i)||Lt(e,"ill-formed tag handle (first argument) of the TAG directive"),Sf.call(e.tagMap,i)&&Lt(e,'there is a previously declared suffix for "'+i+'" tag handle'),n1e.test(a)||Lt(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Lt(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Cf(t,e,r,n){var i,a,o,l;if(e1&&(t.result+=Fi.repeat(` -`,e-1))}s(dB,"writeFoldedLines");function VZe(t,e,r){var n,i,a,o,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),Os(m)||d1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),Os(i)||r&&d1(i)))return!1;for(t.kind="scalar",t.result="",a=o=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),Os(i)||r&&d1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),Os(n))break}else{if(t.position===t.lineStart&&W7(t)||r&&d1(m))break;if(Bc(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,yi(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Cf(t,a,o,!1),dB(t,t.line-u),a=o=t.position,l=!1),q0(m)||(o=t.position+1),m=t.input.charCodeAt(++t.position)}return Cf(t,a,o,!1),t.result?!0:(t.kind=d,t.result=p,!1)}s(VZe,"readPlainScalar");function UZe(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Cf(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else Bc(r)?(Cf(t,n,i,!0),dB(t,yi(t,!1,e)),n=i=t.position):t.position===t.lineStart&&W7(t)?Lt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Lt(t,"unexpected end of the stream within a single quoted scalar")}s(UZe,"readSingleQuotedScalar");function qZe(t,e){var r,n,i,a,o,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Cf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Cf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),Bc(l))yi(t,!1,e);else if(l<256&&i1e[l])t.result+=a1e[l],t.position++;else if((o=FZe(l))>0){for(i=o,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(o=BZe(l))>=0?a=(a<<4)+o:Lt(t,"expected hexadecimal character");t.result+=$Ze(a),t.position++}else Lt(t,"unknown escape sequence");r=n=t.position}else Bc(l)?(Cf(t,r,n,!0),dB(t,yi(t,!1,e)),r=n=t.position):t.position===t.lineStart&&W7(t)?Lt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Lt(t,"unexpected end of the stream within a double quoted scalar")}s(qZe,"readDoubleQuotedScalar");function WZe(t,e){var r=!0,n,i,a,o=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(yi(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=o,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&Lt(t,"expected the node content, but found ','"):Lt(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),Os(h)&&(d=p=!0,t.position++,yi(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,m1(t,e,$7,!1,!0),v=t.tag,y=t.result,yi(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),yi(t,!0,e),m1(t,e,$7,!1,!0),x=t.result),m?p1(t,l,g,v,y,x,n,i,a):d?l.push(p1(t,null,g,v,y,x,n,i,a)):l.push(y),yi(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}Lt(t,"unexpected end of the stream within a flow collection")}s(WZe,"readFlowCollection");function HZe(t,e){var r,n,i=aB,a=!1,o=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)aB===i?i=d===43?Nge:IZe:Lt(t,"repeat of a chomping mode identifier");else if((f=zZe(d))>=0)f===0?Lt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?Lt(t,"repeat of an indentation width identifier"):(l=e+f-1,o=!0);else break;if(q0(d)){do d=t.input.charCodeAt(++t.position);while(q0(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!Bc(d)&&d!==0)}for(;d!==0;){for(fB(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!o||t.lineIndentl&&(l=t.lineIndent),Bc(d)){u++;continue}if(t.lineIndente)&&u!==0)Lt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(o=t.line,l=t.lineStart,u=t.position),m1(t,e,G7,!0,i)&&(v?g=t.result:y=t.result),v||(p1(t,d,p,m,g,y,o,l,u),m=g=y=null),yi(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)Lt(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&Lt(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Lt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}s(m1,"composeNode");function QZe(t){var e=t.position,r,n,i,a=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(o=t.input.charCodeAt(t.position))!==0&&(yi(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(a=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!Os(o);)o=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&Lt(t,"directive name must not be less than one character in length");o!==0;){for(;q0(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!Bc(o));break}if(Bc(o))break;for(r=t.position;o!==0&&!Os(o);)o=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}o!==0&&fB(t),Sf.call(Bge,n)?Bge[n](t,n,i):V7(t,'unknown document directive "'+n+'"')}if(yi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,yi(t,!0,-1)):a&&Lt(t,"directives end mark is expected"),m1(t,t.lineIndent-1,G7,!1,!0),yi(t,!0,-1),t.checkLineBreaks&&OZe.test(t.input.slice(e,t.position))&&V7(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&W7(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,yi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=o1e(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}s(Jx,"codePointAt");function g1e(t){var e=/^\n* /;return e.test(t)}s(g1e,"needIndentIndicator");var y1e=1,cB=2,v1e=3,x1e=4,f1=5;function _Je(t,e,r,n,i,a,o,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=CJe(Jx(t,0))&&SJe(Jx(t,t.length-1));if(e||o)for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),!nb(h))return f1;y=y&&Vge(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=Jx(t,u),h===tb)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!nb(h))return f1;y=y&&Vge(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!o&&!i(t)?y1e:a===rb?f1:cB:r>9&&g1e(t)?f1:o?a===rb?f1:cB:p?x1e:v1e}s(_Je,"chooseScalarStyle");function AJe(t,e,r,n,i){t.dump=function(){if(e.length===0)return t.quotingType===rb?'""':"''";if(!t.noCompatMode&&(vJe.indexOf(e)!==-1||xJe.test(e)))return t.quotingType===rb?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),o=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return EJe(t,h)}switch(s(u,"testAmbiguity"),_Je(e,l,t.indent,o,u,t.quotingType,t.forceQuotes&&!n,i)){case y1e:return e;case cB:return"'"+e.replace(/'/g,"''")+"'";case v1e:return"|"+Uge(e,t.indent)+qge($ge(e,a));case x1e:return">"+Uge(e,t.indent)+qge($ge(LJe(e,o),a));case f1:return'"'+DJe(e)+'"';default:throw new Ns("impossible error: invalid scalar style")}}()}s(AJe,"writeScalar");function Uge(t,e){var r=g1e(t)?String(e):"",n=t[t.length-1]===` +`,"getStyles"),b1e=DJe});function RJe(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function HB(t,e,r=0,n=0){V.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)HB(m,e);let s=NJe(t);i=s.width,a=s.height,V.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(V.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+mi*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)HB(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*mi-mi)/m;V.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}V.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function T1e(t,e){V.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(V.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*mi;V.debug("widthOfChildren 88",i,"posX");let a=0;V.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-mi,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=RJe(r,a);if(m!=l&&(l=m,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-mi,V.debug("New row in layout for block",t.id," and child ",u.id,l)),V.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${mi}`),h.size){let g=f/2;u.size.x=s+mi+g,V.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${u.size.x} ${g} padding=${mi} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),s=u.size.x+g,u.size.y=h.size.y-h.size.height/2+m*(d+mi)+d/2+mi,V.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${mi}${g}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&T1e(u,e),a+=u?.widthInColumns??1,V.debug("abc88 columnsPos",u,a)}}V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function k1e(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=k1e(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function E1e(t){let e=t.getBlock("root");if(!e)return;HB(e,t,0,0),T1e(e,t),V.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=k1e(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var mi,NJe,C1e=R(()=>{"use strict";ut();_t();mi=de()?.block?.padding??8;o(RJe,"calculateBlockPosition");NJe=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};V.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(HB,"setBlockSizes");o(T1e,"layoutBlocks");o(k1e,"findBounds");o(E1e,"layout")});function S1e(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=lm(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??Or()?.block?.padding??0}}async function MJe(t,e,r){let n=S1e(e,r,!1);if(n.type==="group")return;let i=await pm(t,n),a=i.node().getBBox(),s=r.getBlock(n.id);s.size={width:a.width,height:a.height,x:0,y:0,node:i},r.setBlock(s),i.remove()}async function IJe(t,e,r){let n=S1e(e,r,!0);r.getBlock(n.id).type!=="space"&&(await pm(t,n),e.intersect=n?.intersect,wv(n))}async function YB(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await YB(t,i.children,r,n)}async function A1e(t,e,r){await YB(t,e,r,MJe)}async function _1e(t,e,r){await YB(t,e,r,IJe)}async function L1e(t,e,r,n,i){let a=new lr({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];PE(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await IE(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),OE({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var D1e=R(()=>{"use strict";ya();qs();DO();M5();xr();o(S1e,"getNodeFromBlock");o(MJe,"calculateBlockSize");o(IJe,"insertBlockPositioned");o(YB,"performOperations");o(A1e,"calculateBlockSizes");o(_1e,"insertBlocks");o(L1e,"insertEdges")});var OJe,PJe,R1e,N1e=R(()=>{"use strict";Zt();qs();LO();ut();Yn();C1e();D1e();OJe=o(function(t,e){return e.db.getClasses()},"getClasses"),PJe=o(async function(t,e,r,n){let{securityLevel:i,block:a}=Or(),s=n.db,l;i==="sandbox"&&(l=Ge("#i"+e));let u=i==="sandbox"?Ge(l.nodes()[0].contentDocument.body):Ge("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Ge(`[id="${e}"]`);LE(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await A1e(g,d,s);let y=E1e(s);if(await _1e(g,d,s),await L1e(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,w=v.width+10,{useMaxWidth:S}=a;Sr(h,b,w,!!S),V.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),R1e={draw:PJe,getClasses:OJe}});var M1e={};hr(M1e,{diagram:()=>BJe});var BJe,I1e=R(()=>{"use strict";f1e();x1e();w1e();N1e();BJe={parser:h1e,db:v1e,renderer:R1e,styles:b1e}});var WB,qB,pb,B1e,XB,cs,Wc,oC,F1e,GJe,mb,z1e,$1e,G1e,V1e,lC,If,cC=R(()=>{"use strict";WB={L:"left",R:"right",T:"top",B:"bottom"},qB={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},pb={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},B1e=o(function(t){return cs(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),XB=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),cs=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),Wc=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),oC=o(function(t,e){let r=cs(t)&&Wc(e),n=Wc(t)&&cs(e);return r||n},"isArchitectureDirectionXY"),F1e=o(function(t){let e=t[0],r=t[1],n=cs(e)&&Wc(r),i=Wc(e)&&cs(r);return n||i},"isArchitecturePairXY"),GJe=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),mb=o(function(t,e){let r=`${t}${e}`;return GJe(r)?r:void 0},"getArchitectureDirectionPair"),z1e=o(function([t,e],r){let n=r[0],i=r[1];return cs(n)?Wc(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:cs(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),$1e=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),G1e=o(function(t){return t.type==="service"},"isArchitectureService"),V1e=o(function(t){return t.type==="junction"},"isArchitectureJunction"),lC=o(t=>t.data(),"edgeData"),If=o(t=>t.data(),"nodeData")});function Ci(t){let e=de().architecture;return e?.[t]?e[t]:U1e[t]}var U1e,nr,VJe,UJe,HJe,YJe,WJe,qJe,XJe,jJe,KJe,QJe,ZJe,JJe,eet,tet,Z0,gb=R(()=>{"use strict";sl();_t();Jk();bi();cC();U1e=mr.architecture,nr=new uf(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:U1e,dataStructures:void 0,elements:{}})),VJe=o(()=>{nr.reset(),vr()},"clear"),UJe=o(function({id:t,icon:e,in:r,title:n,iconText:i}){if(nr.records.registeredIds[t]!==void 0)throw new Error(`The service id [${t}] is already in use by another ${nr.records.registeredIds[t]}`);if(r!==void 0){if(t===r)throw new Error(`The service [${t}] cannot be placed within itself`);if(nr.records.registeredIds[r]===void 0)throw new Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if(nr.records.registeredIds[r]==="node")throw new Error(`The service [${t}]'s parent is not a group`)}nr.records.registeredIds[t]="node",nr.records.nodes[t]={id:t,type:"service",icon:e,iconText:i,title:n,edges:[],in:r}},"addService"),HJe=o(()=>Object.values(nr.records.nodes).filter(G1e),"getServices"),YJe=o(function({id:t,in:e}){nr.records.registeredIds[t]="node",nr.records.nodes[t]={id:t,type:"junction",edges:[],in:e}},"addJunction"),WJe=o(()=>Object.values(nr.records.nodes).filter(V1e),"getJunctions"),qJe=o(()=>Object.values(nr.records.nodes),"getNodes"),XJe=o(t=>nr.records.nodes[t],"getNode"),jJe=o(function({id:t,icon:e,in:r,title:n}){if(nr.records.registeredIds[t]!==void 0)throw new Error(`The group id [${t}] is already in use by another ${nr.records.registeredIds[t]}`);if(r!==void 0){if(t===r)throw new Error(`The group [${t}] cannot be placed within itself`);if(nr.records.registeredIds[r]===void 0)throw new Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if(nr.records.registeredIds[r]==="node")throw new Error(`The group [${t}]'s parent is not a group`)}nr.records.registeredIds[t]="group",nr.records.groups[t]={id:t,icon:e,title:n,in:r}},"addGroup"),KJe=o(()=>Object.values(nr.records.groups),"getGroups"),QJe=o(function({lhsId:t,rhsId:e,lhsDir:r,rhsDir:n,lhsInto:i,rhsInto:a,lhsGroup:s,rhsGroup:l,title:u}){if(!XB(r))throw new Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`);if(!XB(n))throw new Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}`);if(nr.records.nodes[t]===void 0&&nr.records.groups[t]===void 0)throw new Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(nr.records.nodes[e]===void 0&&nr.records.groups[t]===void 0)throw new Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);let h=nr.records.nodes[t].in,f=nr.records.nodes[e].in;if(s&&h&&f&&h==f)throw new Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&f&&h==f)throw new Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let d={lhsId:t,lhsDir:r,lhsInto:i,lhsGroup:s,rhsId:e,rhsDir:n,rhsInto:a,rhsGroup:l,title:u};nr.records.edges.push(d),nr.records.nodes[t]&&nr.records.nodes[e]&&(nr.records.nodes[t].edges.push(nr.records.edges[nr.records.edges.length-1]),nr.records.nodes[e].edges.push(nr.records.edges[nr.records.edges.length-1]))},"addEdge"),ZJe=o(()=>nr.records.edges,"getEdges"),JJe=o(()=>{if(nr.records.dataStructures===void 0){let t=Object.entries(nr.records.nodes).reduce((s,[l,u])=>(s[l]=u.edges.reduce((h,f)=>{if(f.lhsId===l){let d=mb(f.lhsDir,f.rhsDir);d&&(h[d]=f.rhsId)}else{let d=mb(f.rhsDir,f.lhsDir);d&&(h[d]=f.lhsId)}return h},{}),s),{}),e=Object.keys(t)[0],r={[e]:1},n=Object.keys(t).reduce((s,l)=>l===e?s:{...s,[l]:1},{}),i=o(s=>{let l={[s]:[0,0]},u=[s];for(;u.length>0;){let h=u.shift();if(h){r[h]=1,delete n[h];let f=t[h],[d,p]=l[h];Object.entries(f).forEach(([m,g])=>{r[g]||(l[g]=z1e([d,p],m),u.push(g))})}}return l},"BFS"),a=[i(e)];for(;Object.keys(n).length>0;)a.push(i(Object.keys(n)[0]));nr.records.dataStructures={adjList:t,spatialMaps:a}}return nr.records.dataStructures},"getDataStructures"),eet=o((t,e)=>{nr.records.elements[t]=e},"setElementForId"),tet=o(t=>nr.records.elements[t],"getElementById"),Z0={clear:VJe,setDiagramTitle:nn,getDiagramTitle:Xr,setAccTitle:kr,getAccTitle:Ar,setAccDescription:_r,getAccDescription:Lr,addService:UJe,getServices:HJe,addJunction:YJe,getJunctions:WJe,getNodes:qJe,getNode:XJe,addGroup:jJe,getGroups:KJe,addEdge:QJe,getEdges:ZJe,setElementForId:eet,getElementById:tet,getDataStructures:JJe};o(Ci,"getConfigField")});var ret,H1e,Y1e=R(()=>{"use strict";Lg();ut();sx();gb();ret=o((t,e)=>{cf(t,e),t.groups.map(e.addGroup),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(e.addEdge)},"populateDb"),H1e={parse:o(async t=>{let e=await Fl("architecture",t);V.debug(e),ret(e,Z0)},"parse")}});var net,W1e,q1e=R(()=>{"use strict";net=o(t=>` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`,"getStyles"),W1e=net});var KB=gi((yb,jB)=>{"use strict";o(function(e,r){typeof yb=="object"&&typeof jB=="object"?jB.exports=r():typeof define=="function"&&define.amd?define([],r):typeof yb=="object"?yb.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(yb,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)}([function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,w=0;w-1&&E>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(T,1),x.target!=x.source&&x.target.edges.splice(E,1);var S=x.source.owner.getEdges().indexOf(x);if(S==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(S,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,w=this.getNodes(),S=w.length,T=0;Tv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(w[0].getParent().paddingLeft!=null?b=w[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,w,S,T,E,_,A=this.nodes,L=A.length,M=0;Mw&&(y=w),vT&&(x=T),bw&&(y=w),vT&&(x=T),b=this.nodes.length){var L=0;v.forEach(function(M){M.owner==g&&L++}),L==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=E,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,k=!0):(l[0]=g,l[1]=m,k=!0):C===D&&(u>f?(l[0]=p,l[1]=m,k=!0):(l[0]=x,l[1]=v,k=!0)),-O===D?f>u?(l[2]=_,l[3]=A,I=!0):(l[2]=E,l[3]=T,I=!0):O===D&&(f>u?(l[2]=S,l[3]=T,I=!0):(l[2]=L,l[3]=A,I=!0)),k&&I)return!1;if(u>f?h>d?(P=this.getCardinalDirection(C,D,4),F=this.getCardinalDirection(O,D,2)):(P=this.getCardinalDirection(-C,D,3),F=this.getCardinalDirection(-O,D,1)):h>d?(P=this.getCardinalDirection(-C,D,1),F=this.getCardinalDirection(-O,D,3)):(P=this.getCardinalDirection(C,D,2),F=this.getCardinalDirection(O,D,4)),!k)switch(P){case 1:G=m,B=u+-w/D,l[0]=B,l[1]=G;break;case 2:B=x,G=h+b*D,l[0]=B,l[1]=G;break;case 3:G=v,B=u+w/D,l[0]=B,l[1]=G;break;case 4:B=y,G=h+-b*D,l[0]=B,l[1]=G;break}if(!I)switch(F){case 1:Y=T,z=f+-N/D,l[2]=z,l[3]=Y;break;case 2:z=L,Y=d+M*D,l[2]=z,l[3]=Y;break;case 3:Y=A,z=f+N/D,l[2]=z,l[3]=Y;break;case 4:z=_,Y=d+-M*D,l[2]=z,l[3]=Y;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,w=void 0,S=void 0,T=void 0,E=void 0,_=void 0,A=void 0,L=void 0;return w=p-f,T=h-d,_=d*f-h*p,S=v-g,E=m-y,A=y*g-m*v,L=w*E-S*T,L===0?null:(x=(T*A-E*_)/L,b=(S*_-w*A)/L,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(w.push(T[0]);w.length>0&&g;){var E=w[0];w.splice(0,1),b.add(E);for(var _=E.getEdges(),x=0;x<_.length;x++){var A=_[x].getOtherEnd(E);if(S.get(E)!=A)if(!b.has(A))w.push(A),S.set(A,E);else{g=!1;break}}}if(!g)m=[];else{var L=[].concat(n(b));m.push(L);for(var x=0;x-1&&T.splice(N,1)}b=new Set,S=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var L=S.getNeighborsList();L.forEach(function(k){if(y.indexOf(k)<0){var I=v.get(k),C=I-1;C==1&&E.push(k),v.set(k,C)}})}y=y.concat(E),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mw||b>w)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(w=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>w||b>w)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||w>=x[0].length)){for(var S=0;Sh},"_defaultCompareFunction")}]),l}();t.exports=s},function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=function(it){for(var dt=[];it-- >0;)dt.push(0);return dt}(Math.min(this.m+1,this.n)),this.U=function(it){var dt=o(function lt(It){if(It.length==0)return 0;for(var mt=[],St=0;St0;)dt.push(0);return dt}(this.n),l=function(it){for(var dt=[];it-- >0;)dt.push(0);return dt}(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;D--)if(this.s[D]!==0){for(var P=D+1;P=0;X--){if(function(it,dt){return it&&dt}(X0;){var ue=void 0,te=void 0;for(ue=I-2;ue>=-1&&ue!==-1;ue--)if(Math.abs(s[ue])<=ce+se*(Math.abs(this.s[ue])+Math.abs(this.s[ue+1]))){s[ue]=0;break}if(ue===I-2)te=4;else{var De=void 0;for(De=I-1;De>=ue&&De!==ue;De--){var oe=(De!==I?Math.abs(s[De]):0)+(De!==ue+1?Math.abs(s[De-1]):0);if(Math.abs(this.s[De])<=ce+se*oe){this.s[De]=0;break}}De===ue?te=3:De===I-1?te=1:(te=2,ue=De)}switch(ue++,te){case 1:{var ke=s[I-2];s[I-2]=0;for(var Ie=I-2;Ie>=ue;Ie--){var Se=n.hypot(this.s[Ie],ke),Ue=this.s[Ie]/Se,Pe=ke/Se;if(this.s[Ie]=Se,Ie!==ue&&(ke=-Pe*s[Ie-1],s[Ie-1]=Ue*s[Ie-1]),h)for(var _e=0;_e=this.s[ue+1]);){var je=this.s[ue];if(this.s[ue]=this.s[ue+1],this.s[ue+1]=je,h&&ueMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n},function(t,e,r){"use strict";var n=function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o(function(e,r){typeof vb=="object"&&typeof QB=="object"?QB.exports=r(KB()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof vb=="object"?vb.coseBase=r(KB()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(vb,function(t){return(()=>{"use strict";var e={45:(a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u},806:(a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h},767:(a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},880:(a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},578:(a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},765:(a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,w=l(551).DimensionD,S=l(551).Layout,T=l(551).Integer,E=l(551).IGeometry,_=l(551).LGraph,A=l(551).Transform,L=l(551).LinkedList;function M(){u.call(this),this.toBeTiled={},this.constraints={}}o(M,"CoSELayout"),M.prototype=Object.create(u.prototype);for(var N in u)M[N]=u[N];M.prototype.newGraphManager=function(){var k=new h(this);return this.graphManager=k,k},M.prototype.newGraph=function(k){return new f(null,this.graphManager,k)},M.prototype.newNode=function(k){return new d(this.graphManager,k)},M.prototype.newEdge=function(k){return new p(null,null,k)},M.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},M.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},M.prototype.layout=function(){var k=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return k&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},M.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(P){return I.has(P)});this.graphManager.setAllNodesToApplyGravitation(C)}}else{var k=this.getFlatForest();if(k.length>0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var I=new Set(this.getAllNodes()),C=this.nodesWithGravity.filter(function(O){return I.has(O)});this.graphManager.setAllNodesToApplyGravitation(C),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},M.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),I=this.nodesWithGravity.filter(function(D){return k.has(D)});this.graphManager.setAllNodesToApplyGravitation(I),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var C=!this.isTreeGrowing&&!this.isGrowthFinished,O=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(C,O),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},M.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),I={},C=0;C0&&this.updateDisplacements();for(var C=0;C0&&(O.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var F=new Map,B=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(J){k.fixedNodesOnHorizontal.add(J),k.fixedNodesOnVertical.add(J)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var G=this.constraints.alignmentConstraint.vertical,C=0;C=2*J.length/3;q--)Z=Math.floor(Math.random()*(q+1)),H=J[q],J[q]=J[Z],J[Z]=H;return J},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(J){if(J.left){var Z=F.has(J.left)?F.get(J.left):J.left,H=F.has(J.right)?F.get(J.right):J.right;k.nodesInRelativeHorizontal.includes(Z)||(k.nodesInRelativeHorizontal.push(Z),k.nodeToRelativeConstraintMapHorizontal.set(Z,[]),k.dummyToNodeForVerticalAlignment.has(Z)?k.nodeToTempPositionMapHorizontal.set(Z,k.idToNodeMap.get(k.dummyToNodeForVerticalAlignment.get(Z)[0]).getCenterX()):k.nodeToTempPositionMapHorizontal.set(Z,k.idToNodeMap.get(Z).getCenterX())),k.nodesInRelativeHorizontal.includes(H)||(k.nodesInRelativeHorizontal.push(H),k.nodeToRelativeConstraintMapHorizontal.set(H,[]),k.dummyToNodeForVerticalAlignment.has(H)?k.nodeToTempPositionMapHorizontal.set(H,k.idToNodeMap.get(k.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):k.nodeToTempPositionMapHorizontal.set(H,k.idToNodeMap.get(H).getCenterX())),k.nodeToRelativeConstraintMapHorizontal.get(Z).push({right:H,gap:J.gap}),k.nodeToRelativeConstraintMapHorizontal.get(H).push({left:Z,gap:J.gap})}else{var q=B.has(J.top)?B.get(J.top):J.top,K=B.has(J.bottom)?B.get(J.bottom):J.bottom;k.nodesInRelativeVertical.includes(q)||(k.nodesInRelativeVertical.push(q),k.nodeToRelativeConstraintMapVertical.set(q,[]),k.dummyToNodeForHorizontalAlignment.has(q)?k.nodeToTempPositionMapVertical.set(q,k.idToNodeMap.get(k.dummyToNodeForHorizontalAlignment.get(q)[0]).getCenterY()):k.nodeToTempPositionMapVertical.set(q,k.idToNodeMap.get(q).getCenterY())),k.nodesInRelativeVertical.includes(K)||(k.nodesInRelativeVertical.push(K),k.nodeToRelativeConstraintMapVertical.set(K,[]),k.dummyToNodeForHorizontalAlignment.has(K)?k.nodeToTempPositionMapVertical.set(K,k.idToNodeMap.get(k.dummyToNodeForHorizontalAlignment.get(K)[0]).getCenterY()):k.nodeToTempPositionMapVertical.set(K,k.idToNodeMap.get(K).getCenterY())),k.nodeToRelativeConstraintMapVertical.get(q).push({bottom:K,gap:J.gap}),k.nodeToRelativeConstraintMapVertical.get(K).push({top:q,gap:J.gap})}});else{var Y=new Map,Q=new Map;this.constraints.relativePlacementConstraint.forEach(function(J){if(J.left){var Z=F.has(J.left)?F.get(J.left):J.left,H=F.has(J.right)?F.get(J.right):J.right;Y.has(Z)?Y.get(Z).push(H):Y.set(Z,[H]),Y.has(H)?Y.get(H).push(Z):Y.set(H,[Z])}else{var q=B.has(J.top)?B.get(J.top):J.top,K=B.has(J.bottom)?B.get(J.bottom):J.bottom;Q.has(q)?Q.get(q).push(K):Q.set(q,[K]),Q.has(K)?Q.get(K).push(q):Q.set(K,[q])}});var X=o(function(Z,H){var q=[],K=[],se=new L,ce=new Set,ue=0;return Z.forEach(function(te,De){if(!ce.has(De)){q[ue]=[],K[ue]=!1;var oe=De;for(se.push(oe),ce.add(oe),q[ue].push(oe);se.length!=0;){oe=se.shift(),H.has(oe)&&(K[ue]=!0);var ke=Z.get(oe);ke.forEach(function(Ie){ce.has(Ie)||(se.push(Ie),ce.add(Ie),q[ue].push(Ie))})}ue++}}),{components:q,isFixed:K}},"constructComponents"),ie=X(Y,k.fixedNodesOnHorizontal);this.componentsOnHorizontal=ie.components,this.fixedComponentsOnHorizontal=ie.isFixed;var j=X(Q,k.fixedNodesOnVertical);this.componentsOnVertical=j.components,this.fixedComponentsOnVertical=j.isFixed}}},M.prototype.updateDisplacements=function(){var k=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(j){var J=k.idToNodeMap.get(j.nodeId);J.displacementX=0,J.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var I=this.constraints.alignmentConstraint.vertical,C=0;C1){var B;for(B=0;BO&&(O=Math.floor(F.y)),P=Math.floor(F.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-F.x/2,v.WORLD_CENTER_Y-F.y/2))},M.radialLayout=function(k,I,C){var O=Math.max(this.maxDiagonalInTree(k),m.DEFAULT_RADIAL_SEPARATION);M.branchRadialLayout(I,null,0,359,0,O);var D=_.calculateBounds(k),P=new A;P.setDeviceOrgX(D.getMinX()),P.setDeviceOrgY(D.getMinY()),P.setWorldOrgX(C.x),P.setWorldOrgY(C.y);for(var F=0;F1;){var q=H[0];H.splice(0,1);var K=X.indexOf(q);K>=0&&X.splice(K,1),J--,ie--}I!=null?Z=(X.indexOf(H[0])+1)%J:Z=0;for(var se=Math.abs(O-C)/ie,ce=Z;j!=ie;ce=++ce%J){var ue=X[ce].getOtherEnd(k);if(ue!=I){var te=(C+j*se)%360,De=(te+se)%360;M.branchRadialLayout(ue,k,te,De,D+P,P),j++}}},M.maxDiagonalInTree=function(k){for(var I=T.MIN_VALUE,C=0;CI&&(I=D)}return I},M.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},M.prototype.groupZeroDegreeMembers=function(){var k=this,I={};this.memberGroups={},this.idToDummyNode={};for(var C=[],O=this.graphManager.getAllNodes(),D=0;D"u"&&(I[B]=[]),I[B]=I[B].concat(P)}Object.keys(I).forEach(function(G){if(I[G].length>1){var z="DummyCompound_"+G;k.memberGroups[z]=I[G];var Y=I[G][0].getParent(),Q=new d(k.graphManager);Q.id=z,Q.paddingLeft=Y.paddingLeft||0,Q.paddingRight=Y.paddingRight||0,Q.paddingBottom=Y.paddingBottom||0,Q.paddingTop=Y.paddingTop||0,k.idToDummyNode[z]=Q;var X=k.getGraphManager().add(k.newGraph(),Q),ie=Y.getChild();ie.add(Q);for(var j=0;jD?(O.rect.x-=(O.labelWidth-D)/2,O.setWidth(O.labelWidth),O.labelMarginLeft=(O.labelWidth-D)/2):O.labelPosHorizontal=="right"&&O.setWidth(D+O.labelWidth)),O.labelHeight&&(O.labelPosVertical=="top"?(O.rect.y-=O.labelHeight,O.setHeight(P+O.labelHeight),O.labelMarginTop=O.labelHeight):O.labelPosVertical=="center"&&O.labelHeight>P?(O.rect.y-=(O.labelHeight-P)/2,O.setHeight(O.labelHeight),O.labelMarginTop=(O.labelHeight-P)/2):O.labelPosVertical=="bottom"&&O.setHeight(P+O.labelHeight))}})},M.prototype.repopulateCompounds=function(){for(var k=this.compoundOrder.length-1;k>=0;k--){var I=this.compoundOrder[k],C=I.id,O=I.paddingLeft,D=I.paddingTop,P=I.labelMarginLeft,F=I.labelMarginTop;this.adjustLocations(this.tiledMemberPack[C],I.rect.x,I.rect.y,O,D,P,F)}},M.prototype.repopulateZeroDegreeMembers=function(){var k=this,I=this.tiledZeroDegreePack;Object.keys(I).forEach(function(C){var O=k.idToDummyNode[C],D=O.paddingLeft,P=O.paddingTop,F=O.labelMarginLeft,B=O.labelMarginTop;k.adjustLocations(I[C],O.rect.x,O.rect.y,D,P,F,B)})},M.prototype.getToBeTiled=function(k){var I=k.id;if(this.toBeTiled[I]!=null)return this.toBeTiled[I];var C=k.getChild();if(C==null)return this.toBeTiled[I]=!1,!1;for(var O=C.getNodes(),D=0;D0)return this.toBeTiled[I]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[I]=!1,!1}return this.toBeTiled[I]=!0,!0},M.prototype.getNodeDegree=function(k){for(var I=k.id,C=k.getEdges(),O=0,D=0;DY&&(Y=X.rect.height)}C+=Y+k.verticalPadding}},M.prototype.tileCompoundMembers=function(k,I){var C=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(O){var D=I[O];if(C.tiledMemberPack[O]=C.tileNodes(k[O],D.paddingLeft+D.paddingRight),D.rect.width=C.tiledMemberPack[O].width,D.rect.height=C.tiledMemberPack[O].height,D.setCenter(C.tiledMemberPack[O].centerX,C.tiledMemberPack[O].centerY),D.labelMarginLeft=0,D.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=D.rect.width,F=D.rect.height;D.labelWidth&&(D.labelPosHorizontal=="left"?(D.rect.x-=D.labelWidth,D.setWidth(P+D.labelWidth),D.labelMarginLeft=D.labelWidth):D.labelPosHorizontal=="center"&&D.labelWidth>P?(D.rect.x-=(D.labelWidth-P)/2,D.setWidth(D.labelWidth),D.labelMarginLeft=(D.labelWidth-P)/2):D.labelPosHorizontal=="right"&&D.setWidth(P+D.labelWidth)),D.labelHeight&&(D.labelPosVertical=="top"?(D.rect.y-=D.labelHeight,D.setHeight(F+D.labelHeight),D.labelMarginTop=D.labelHeight):D.labelPosVertical=="center"&&D.labelHeight>F?(D.rect.y-=(D.labelHeight-F)/2,D.setHeight(D.labelHeight),D.labelMarginTop=(D.labelHeight-F)/2):D.labelPosVertical=="bottom"&&D.setHeight(F+D.labelHeight))}})},M.prototype.tileNodes=function(k,I){var C=this.tileNodesByFavoringDim(k,I,!0),O=this.tileNodesByFavoringDim(k,I,!1),D=this.getOrgRatio(C),P=this.getOrgRatio(O),F;return PB&&(B=j.getWidth())});var G=P/D,z=F/D,Y=Math.pow(C-O,2)+4*(G+O)*(z+C)*D,Q=(O-C+Math.sqrt(Y))/(2*(G+O)),X;I?(X=Math.ceil(Q),X==Q&&X++):X=Math.floor(Q);var ie=X*(G+O)-O;return B>ie&&(ie=B),ie+=O*2,ie},M.prototype.tileNodesByFavoringDim=function(k,I,C){var O=m.TILING_PADDING_VERTICAL,D=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,F={rows:[],rowWidth:[],rowHeight:[],width:0,height:I,verticalPadding:O,horizontalPadding:D,centerX:0,centerY:0};P&&(F.idealRowWidth=this.calcIdealRowWidth(k,C));var B=o(function(J){return J.rect.width*J.rect.height},"getNodeArea"),G=o(function(J,Z){return B(Z)-B(J)},"areaCompareFcn");k.sort(function(j,J){var Z=G;return F.idealRowWidth?(Z=P,Z(j.id,J.id)):Z(j,J)});for(var z=0,Y=0,Q=0;Q0&&(F+=k.horizontalPadding),k.rowWidth[C]=F,k.width0&&(B+=k.verticalPadding);var G=0;B>k.rowHeight[C]&&(G=k.rowHeight[C],k.rowHeight[C]=B,G=k.rowHeight[C]-G),k.height+=G,k.rows[C].push(I)},M.prototype.getShortestRowIndex=function(k){for(var I=-1,C=Number.MAX_VALUE,O=0;OC&&(I=O,C=k.rowWidth[O]);return I},M.prototype.canAddHorizontal=function(k,I,C){if(k.idealRowWidth){var O=k.rows.length-1,D=k.rowWidth[O];return D+I+k.horizontalPadding<=k.idealRowWidth}var P=this.getShortestRowIndex(k);if(P<0)return!0;var F=k.rowWidth[P];if(F+k.horizontalPadding+I<=k.width)return!0;var B=0;k.rowHeight[P]0&&(B=C+k.verticalPadding-k.rowHeight[P]);var G;k.width-F>=I+k.horizontalPadding?G=(k.height+B)/(F+I+k.horizontalPadding):G=(k.height+B)/k.width,B=C+k.verticalPadding;var z;return k.widthP&&I!=C){O.splice(-1,1),k.rows[C].push(D),k.rowWidth[I]=k.rowWidth[I]-P,k.rowWidth[C]=k.rowWidth[C]+P,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var F=Number.MIN_VALUE,B=0;BF&&(F=O[B].height);I>0&&(F+=k.verticalPadding);var G=k.rowHeight[I]+k.rowHeight[C];k.rowHeight[I]=F,k.rowHeight[C]0)for(var ie=D;ie<=P;ie++)X[0]+=this.grid[ie][F-1].length+this.grid[ie][F].length-1;if(P0)for(var ie=F;ie<=B;ie++)X[3]+=this.grid[D-1][ie].length+this.grid[D][ie].length-1;for(var j=T.MAX_VALUE,J,Z,H=0;H{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var Je=0;Ye.forEach(function(je){we=="horizontal"?(ye.set(je,x.has(je)?b[x.get(je)]:Ce.get(je)),Je+=ye.get(je)):(ye.set(je,x.has(je)?w[x.get(je)]:Ce.get(je)),Je+=ye.get(je))}),Je=Je/Ye.length,tt.forEach(function(je){Te.has(je)||ye.set(je,Je)})}else{var Ve=0;tt.forEach(function(je){we=="horizontal"?Ve+=x.has(je)?b[x.get(je)]:Ce.get(je):Ve+=x.has(je)?w[x.get(je)]:Ce.get(je)}),Ve=Ve/tt.length,tt.forEach(function(je){ye.set(je,Ve)})}});for(var Ze=o(function(){var Ye=ze.shift(),Je=ae.get(Ye);Je.forEach(function(Ve){if(ye.get(Ve.id)je&&(je=mt),Stkt&&(kt=St)}}catch(Qn){xt=!0,it=Qn}finally{try{!at&&dt.return&&dt.return()}finally{if(xt)throw it}}var gr=(Je+je)/2-(Ve+kt)/2,xn=!0,jt=!1,rn=void 0;try{for(var Er=tt[Symbol.iterator](),Kn;!(xn=(Kn=Er.next()).done);xn=!0){var hn=Kn.value;ye.set(hn,ye.get(hn)+gr)}}catch(Qn){jt=!0,rn=Qn}finally{try{!xn&&Er.return&&Er.return()}finally{if(jt)throw rn}}})}return ye},"findAppropriatePositionForRelativePlacement"),N=o(function(ae){var we=0,Te=0,Ce=0,Ae=0;if(ae.forEach(function(He){He.left?b[x.get(He.left)]-b[x.get(He.right)]>=0?we++:Te++:w[x.get(He.top)]-w[x.get(He.bottom)]>=0?Ce++:Ae++}),we>Te&&Ce>Ae)for(var $e=0;$eTe)for(var Me=0;MeAe)for(var ye=0;ye1)y.fixedNodeConstraint.forEach(function(ne,ae){O[ae]=[ne.position.x,ne.position.y],D[ae]=[b[x.get(ne.nodeId)],w[x.get(ne.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var ne=0;if(y.alignmentConstraint.vertical){for(var ae=y.alignmentConstraint.vertical,we=o(function(ye){var He=new Set;ae[ye].forEach(function(gt){He.add(gt)});var ze=new Set([].concat(u(He)).filter(function(gt){return B.has(gt)})),Ze=void 0;ze.size>0?Ze=b[x.get(ze.values().next().value)]:Ze=L(He).x,ae[ye].forEach(function(gt){O[ne]=[Ze,w[x.get(gt)]],D[ne]=[b[x.get(gt)],w[x.get(gt)]],ne++})},"_loop2"),Te=0;Te0?Ze=b[x.get(ze.values().next().value)]:Ze=L(He).y,Ce[ye].forEach(function(gt){O[ne]=[b[x.get(gt)],Ze],D[ne]=[b[x.get(gt)],w[x.get(gt)]],ne++})},"_loop3"),$e=0;$eQ&&(Q=Y[ie].length,X=ie);if(Q0){var Ue={x:0,y:0};y.fixedNodeConstraint.forEach(function(ne,ae){var we={x:b[x.get(ne.nodeId)],y:w[x.get(ne.nodeId)]},Te=ne.position,Ce=A(Te,we);Ue.x+=Ce.x,Ue.y+=Ce.y}),Ue.x/=y.fixedNodeConstraint.length,Ue.y/=y.fixedNodeConstraint.length,b.forEach(function(ne,ae){b[ae]+=Ue.x}),w.forEach(function(ne,ae){w[ae]+=Ue.y}),y.fixedNodeConstraint.forEach(function(ne){b[x.get(ne.nodeId)]=ne.position.x,w[x.get(ne.nodeId)]=ne.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Pe=y.alignmentConstraint.vertical,_e=o(function(ae){var we=new Set;Pe[ae].forEach(function(Ae){we.add(Ae)});var Te=new Set([].concat(u(we)).filter(function(Ae){return B.has(Ae)})),Ce=void 0;Te.size>0?Ce=b[x.get(Te.values().next().value)]:Ce=L(we).x,we.forEach(function(Ae){B.has(Ae)||(b[x.get(Ae)]=Ce)})},"_loop4"),me=0;me0?Ce=w[x.get(Te.values().next().value)]:Ce=L(we).y,we.forEach(function(Ae){B.has(Ae)||(w[x.get(Ae)]=Ce)})},"_loop5"),ge=0;ge{a.exports=t}},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var X1e=gi((xb,JB)=>{"use strict";o(function(e,r){typeof xb=="object"&&typeof JB=="object"?JB.exports=r(ZB()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof xb=="object"?xb.cytoscapeFcose=r(ZB()):e.cytoscapeFcose=r(e.coseBase)},"webpackUniversalModuleDefinition")(xb,function(t){return(()=>{"use strict";var e={658:a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),w;!(y=(w=b.next()).done)&&(g.push(w.value),!(m&&g.length===m));y=!0);}catch(S){v=!0,x=S}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge(z)});for(var F=0;F1){w=x[0],S=w.connectedEdges().length,x.forEach(function(D){D.connectedEdges().length0&&g.set("dummy"+(g.size+1),_),A},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,w=!1,S=void 0;try{for(var T=p.nodeIndexes[Symbol.iterator](),E;!(b=(E=T.next()).done);b=!0){var _=E.value,A=u(_,2),L=A[0],M=A[1],N=m.cy.getElementById(L);if(N){var k=N.boundingBox(),I=p.xCoords[M]-k.w/2,C=p.xCoords[M]+k.w/2,O=p.yCoords[M]-k.h/2,D=p.yCoords[M]+k.h/2;Iy&&(y=C),Ox&&(x=D)}}}catch(z){w=!0,S=z}finally{try{!b&&T.return&&T.return()}finally{if(w)throw S}}var P=d.x-(y+g)/2,F=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function(z){return z+P}),p.yCoords=p.yCoords.map(function(z){return z+F})}else{Object.keys(p).forEach(function(z){var Y=p[z],Q=Y.getRect().x,X=Y.getRect().x+Y.getRect().width,ie=Y.getRect().y,j=Y.getRect().y+Y.getRect().height;Qy&&(y=X),iex&&(x=j)});var B=d.x-(y+g)/2,G=d.y-(x+v)/2;Object.keys(p).forEach(function(z){var Y=p[z];Y.setCenter(Y.getCenterX()+B,Y.getCenterY()+G)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,w=void 0,S=void 0,T=void 0,E=void 0,_=d.descendants().not(":parent"),A=_.length,L=0;Lw&&(y=w),vT&&(x=T),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,w){var S=b.cy,T=b.eles,E=T.nodes(),_=T.edges(),A=void 0,L=void 0,M=void 0,N={};b.randomize&&(A=w.nodeIndexes,L=w.xCoords,M=w.yCoords);var k=o(function(z){return typeof z=="function"},"isFn"),I=o(function(z,Y){return k(z)?z(Y):z},"optFn"),C=u.calcParentsWithoutChildren(S,T),O=o(function G(z,Y,Q,X){for(var ie=Y.length,j=0;j0){var se=void 0;se=Q.getGraphManager().add(Q.newGraph(),H),G(se,Z,Q,X)}}},"processChildrenList"),D=o(function(z,Y,Q){for(var X=0,ie=0,j=0;j0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=X/ie:k(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function(z,Y){Y.fixedNodeConstraint&&(z.constraints.fixedNodeConstraint=Y.fixedNodeConstraint),Y.alignmentConstraint&&(z.constraints.alignmentConstraint=Y.alignmentConstraint),Y.relativePlacementConstraint&&(z.constraints.relativePlacementConstraint=Y.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var F=new h,B=F.newGraphManager();return O(B.addRoot(),u.getTopMostNodes(E),F,b),D(F,B,_),P(F,b),F.runLayout(),N},"coseLayout");a.exports={coseLayout:v}},212:(a,s,l)=>{var u=function(){function b(w,S){for(var T=0;T0)if(D){var B=d.getTopMostNodes(T.eles.nodes());if(k=d.connectComponents(E,T.eles,B),k.forEach(function(oe){var ke=oe.boundingBox();I.push({x:ke.x1+ke.w/2,y:ke.y1+ke.h/2})}),T.randomize&&k.forEach(function(oe){T.eles=oe,A.push(m(T))}),T.quality=="default"||T.quality=="proof"){var G=E.collection();if(T.tile){var z=new Map,Y=[],Q=[],X=0,ie={nodeIndexes:z,xCoords:Y,yCoords:Q},j=[];if(k.forEach(function(oe,ke){oe.edges().length==0&&(oe.nodes().forEach(function(Ie,Se){G.merge(oe.nodes()[Se]),Ie.isParent()||(ie.nodeIndexes.set(oe.nodes()[Se].id(),X++),ie.xCoords.push(oe.nodes()[0].position().x),ie.yCoords.push(oe.nodes()[0].position().y))}),j.push(ke))}),G.length>1){var J=G.boundingBox();I.push({x:J.x1+J.w/2,y:J.y1+J.h/2}),k.push(G),A.push(ie);for(var Z=j.length-1;Z>=0;Z--)k.splice(j[Z],1),A.splice(j[Z],1),I.splice(j[Z],1)}}k.forEach(function(oe,ke){T.eles=oe,N.push(y(T,A[ke])),d.relocateComponent(I[ke],N[ke],T)})}else k.forEach(function(oe,ke){d.relocateComponent(I[ke],A[ke],T)});var H=new Set;if(k.length>1){var q=[],K=_.filter(function(oe){return oe.css("display")=="none"});k.forEach(function(oe,ke){var Ie=void 0;if(T.quality=="draft"&&(Ie=A[ke].nodeIndexes),oe.nodes().not(K).length>0){var Se={};Se.edges=[],Se.nodes=[];var Ue=void 0;oe.nodes().not(K).forEach(function(Pe){if(T.quality=="draft")if(!Pe.isParent())Ue=Ie.get(Pe.id()),Se.nodes.push({x:A[ke].xCoords[Ue]-Pe.boundingbox().w/2,y:A[ke].yCoords[Ue]-Pe.boundingbox().h/2,width:Pe.boundingbox().w,height:Pe.boundingbox().h});else{var _e=d.calcBoundingBox(Pe,A[ke].xCoords,A[ke].yCoords,Ie);Se.nodes.push({x:_e.topLeftX,y:_e.topLeftY,width:_e.width,height:_e.height})}else N[ke][Pe.id()]&&Se.nodes.push({x:N[ke][Pe.id()].getLeft(),y:N[ke][Pe.id()].getTop(),width:N[ke][Pe.id()].getWidth(),height:N[ke][Pe.id()].getHeight()})}),oe.edges().forEach(function(Pe){var _e=Pe.source(),me=Pe.target();if(_e.css("display")!="none"&&me.css("display")!="none")if(T.quality=="draft"){var W=Ie.get(_e.id()),fe=Ie.get(me.id()),ge=[],re=[];if(_e.isParent()){var he=d.calcBoundingBox(_e,A[ke].xCoords,A[ke].yCoords,Ie);ge.push(he.topLeftX+he.width/2),ge.push(he.topLeftY+he.height/2)}else ge.push(A[ke].xCoords[W]),ge.push(A[ke].yCoords[W]);if(me.isParent()){var ne=d.calcBoundingBox(me,A[ke].xCoords,A[ke].yCoords,Ie);re.push(ne.topLeftX+ne.width/2),re.push(ne.topLeftY+ne.height/2)}else re.push(A[ke].xCoords[fe]),re.push(A[ke].yCoords[fe]);Se.edges.push({startX:ge[0],startY:ge[1],endX:re[0],endY:re[1]})}else N[ke][_e.id()]&&N[ke][me.id()]&&Se.edges.push({startX:N[ke][_e.id()].getCenterX(),startY:N[ke][_e.id()].getCenterY(),endX:N[ke][me.id()].getCenterX(),endY:N[ke][me.id()].getCenterY()})}),Se.nodes.length>0&&(q.push(Se),H.add(ke))}});var se=O.packComponents(q,T.randomize).shifts;if(T.quality=="draft")A.forEach(function(oe,ke){var Ie=oe.xCoords.map(function(Ue){return Ue+se[ke].dx}),Se=oe.yCoords.map(function(Ue){return Ue+se[ke].dy});oe.xCoords=Ie,oe.yCoords=Se});else{var ce=0;H.forEach(function(oe){Object.keys(N[oe]).forEach(function(ke){var Ie=N[oe][ke];Ie.setCenter(Ie.getCenterX()+se[ce].dx,Ie.getCenterY()+se[ce].dy)}),ce++})}}}else{var P=T.eles.boundingBox();if(I.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),T.randomize){var F=m(T);A.push(F)}T.quality=="default"||T.quality=="proof"?(N.push(y(T,A[0])),d.relocateComponent(I[0],N[0],T)):d.relocateComponent(I[0],A[0],T)}var ue=o(function(ke,Ie){if(T.quality=="default"||T.quality=="proof"){typeof ke=="number"&&(ke=Ie);var Se=void 0,Ue=void 0,Pe=ke.data("id");return N.forEach(function(me){Pe in me&&(Se={x:me[Pe].getRect().getCenterX(),y:me[Pe].getRect().getCenterY()},Ue=me[Pe])}),T.nodeDimensionsIncludeLabels&&(Ue.labelWidth&&(Ue.labelPosHorizontal=="left"?Se.x+=Ue.labelWidth/2:Ue.labelPosHorizontal=="right"&&(Se.x-=Ue.labelWidth/2)),Ue.labelHeight&&(Ue.labelPosVertical=="top"?Se.y+=Ue.labelHeight/2:Ue.labelPosVertical=="bottom"&&(Se.y-=Ue.labelHeight/2))),Se==null&&(Se={x:ke.position("x"),y:ke.position("y")}),{x:Se.x,y:Se.y}}else{var _e=void 0;return A.forEach(function(me){var W=me.nodeIndexes.get(ke.id());W!=null&&(_e={x:me.xCoords[W],y:me.yCoords[W]})}),_e==null&&(_e={x:ke.position("x"),y:ke.position("y")}),{x:_e.x,y:_e.y}}},"getPositions");if(T.quality=="default"||T.quality=="proof"||T.randomize){var te=d.calcParentsWithoutChildren(E,_),De=_.filter(function(oe){return oe.css("display")=="none"});T.eles=_.not(De),_.nodes().not(":parent").not(De).layoutPositions(S,T,ue),te.length>0&&te.forEach(function(oe){oe.position(ue(oe))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b}();a.exports=x},657:(a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,w=new Map,S=new Map,T=[],E=[],_=[],A=[],L=[],M=[],N=[],k=[],I=void 0,C=void 0,O=1e8,D=1e-9,P=m.piTol,F=m.samplingType,B=m.nodeSeparation,G=void 0,z=o(function(){for(var we=0,Te=0,Ce=!1;Te=$e;){ye=Ae[$e++];for(var tt=T[ye],Ye=0;YeZe&&(Ze=L[Ve],gt=Ve)}return gt},"BFS"),Q=o(function(we){var Te=void 0;if(we){Te=Math.floor(Math.random()*C),I=Te;for(var Ae=0;Ae=1)break;Ze=ze}for(var tt=0;tt=1)break;Ze=ze}for(var Je=0;Je0&&(Te.isParent()?T[we].push(S.get(Te.id())):T[we].push(Te.id()))})});var te=o(function(we){var Te=w.get(we),Ce=void 0;b.get(we).forEach(function(Ae){g.getElementById(Ae).isParent()?Ce=S.get(Ae):Ce=Ae,T[Te].push(Ce),T[w.get(Ce)].push(we)})},"_loop"),De=!0,oe=!1,ke=void 0;try{for(var Ie=b.keys()[Symbol.iterator](),Se;!(De=(Se=Ie.next()).done);De=!0){var Ue=Se.value;te(Ue)}}catch(ae){oe=!0,ke=ae}finally{try{!De&&Ie.return&&Ie.return()}finally{if(oe)throw ke}}C=w.size;var Pe=void 0;if(C>2){G=C{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h},140:a=>{a.exports=t}},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var T1,J0,eF=R(()=>{"use strict";V1();T1=o(t=>`${t}`,"wrapIcon"),J0={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:T1('')},server:{body:T1('')},disk:{body:T1('')},internet:{body:T1('')},cloud:{body:T1('')},unknown:FC,blank:{body:T1("")}}}});var j1e,K1e,Q1e,Z1e,J1e=R(()=>{"use strict";V1();_t();Al();gb();eF();cC();j1e=o(async function(t,e){let r=Ci("padding"),n=Ci("iconSize"),i=n/2,a=n/6,s=a/2;await Promise.all(e.edges().map(async l=>{let{source:u,sourceDir:h,sourceArrow:f,sourceGroup:d,target:p,targetDir:m,targetArrow:g,targetGroup:y,label:v}=lC(l),{x,y:b}=l[0].sourceEndpoint(),{x:w,y:S}=l[0].midpoint(),{x:T,y:E}=l[0].targetEndpoint(),_=r+4;if(d&&(cs(h)?x+=h==="L"?-_:_:b+=h==="T"?-_:_+18),y&&(cs(m)?T+=m==="L"?-_:_:E+=m==="T"?-_:_+18),!d&&Z0.getNode(u)?.type==="junction"&&(cs(h)?x+=h==="L"?i:-i:b+=h==="T"?i:-i),!y&&Z0.getNode(p)?.type==="junction"&&(cs(m)?T+=m==="L"?i:-i:E+=m==="T"?i:-i),l[0]._private.rscratch){let A=t.insert("g");if(A.insert("path").attr("d",`M ${x},${b} L ${w},${S} L${T},${E} `).attr("class","edge"),f){let L=cs(h)?pb[h](x,a):x-s,M=Wc(h)?pb[h](b,a):b-s;A.insert("polygon").attr("points",qB[h](a)).attr("transform",`translate(${L},${M})`).attr("class","arrow")}if(g){let L=cs(m)?pb[m](T,a):T-s,M=Wc(m)?pb[m](E,a):E-s;A.insert("polygon").attr("points",qB[m](a)).attr("transform",`translate(${L},${M})`).attr("class","arrow")}if(v){let L=oC(h,m)?"XY":cs(h)?"X":"Y",M=0;L==="X"?M=Math.abs(x-T):L==="Y"?M=Math.abs(b-E)/1.5:M=Math.abs(x-T)/2;let N=A.append("g");if(await ta(N,v,{useHtmlLabels:!1,width:M,classes:"architecture-service-label"},de()),N.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),L==="X")N.attr("transform","translate("+w+", "+S+")");else if(L==="Y")N.attr("transform","translate("+w+", "+S+") rotate(-90)");else if(L==="XY"){let k=mb(h,m);if(k&&F1e(k)){let I=N.node().getBoundingClientRect(),[C,O]=$1e(k);N.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*C*O*45})`);let D=N.node().getBoundingClientRect();N.attr("transform",` + translate(${w}, ${S-I.height/2}) + translate(${C*D.width/2}, ${O*D.height/2}) + rotate(${-1*C*O*45}, 0, ${I.height/2}) + `)}}}}}))},"drawEdges"),K1e=o(async function(t,e){let n=Ci("padding")*.75,i=Ci("fontSize"),s=Ci("iconSize")/2;await Promise.all(e.nodes().map(async l=>{let u=If(l);if(u.type==="group"){let{h,w:f,x1:d,y1:p}=l.boundingBox();t.append("rect").attr("x",d+s).attr("y",p+s).attr("width",f).attr("height",h).attr("class","node-bkg");let m=t.append("g"),g=d,y=p;if(u.icon){let v=m.append("g");v.html(`${await zb(u.icon,{height:n,width:n,fallbackPrefix:J0.prefix})}`),v.attr("transform","translate("+(g+s+1)+", "+(y+s+1)+")"),g+=n,y+=i/2-1-2}if(u.label){let v=m.append("g");await ta(v,u.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},de()),v.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),v.attr("transform","translate("+(g+s+4)+", "+(y+s+2)+")")}}}))},"drawGroups"),Q1e=o(async function(t,e,r){for(let n of r){let i=e.append("g"),a=Ci("iconSize");if(n.title){let h=i.append("g");await ta(h,n.title,{useHtmlLabels:!1,width:a*1.5,classes:"architecture-service-label"},de()),h.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),h.attr("transform","translate("+a/2+", "+a+")")}let s=i.append("g");if(n.icon)s.html(`${await zb(n.icon,{height:a,width:a,fallbackPrefix:J0.prefix})}`);else if(n.iconText){s.html(`${await zb("blank",{height:a,width:a,fallbackPrefix:J0.prefix})}`);let d=s.append("g").append("foreignObject").attr("width",a).attr("height",a).append("div").attr("class","node-icon-text").attr("style",`height: ${a}px;`).append("div").html(n.iconText),p=parseInt(window.getComputedStyle(d.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;d.attr("style",`-webkit-line-clamp: ${Math.floor((a-2)/p)};`)}else s.append("path").attr("class","node-bkg").attr("id","node-"+n.id).attr("d",`M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`);i.attr("class","architecture-service");let{width:l,height:u}=i._groups[0][0].getBBox();n.width=l,n.height=u,t.setElementForId(n.id,i)}return 0},"drawServices"),Z1e=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=Ci("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function iet(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"service",id:r.id,icon:r.icon,label:r.title,parent:r.in,width:Ci("iconSize"),height:Ci("iconSize")},classes:"node-service"})})}function aet(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"junction",id:r.id,parent:r.in,width:Ci("iconSize"),height:Ci("iconSize")},classes:"node-junction"})})}function set(t,e){e.nodes().map(r=>{let n=If(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}function oet(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function cet(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=oC(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function uet(t){let e=t.map(i=>{let a={},s={};return Object.entries(i).forEach(([l,[u,h]])=>{a[h]||(a[h]=[]),s[u]||(s[u]=[]),a[h].push(l),s[u].push(l)}),{horiz:Object.values(a).filter(l=>l.length>1),vert:Object.values(s).filter(l=>l.length>1)}}),[r,n]=e.reduce(([i,a],{horiz:s,vert:l})=>[[...i,...s],[...a,...l]],[[],[]]);return{horizontal:r,vertical:n}}function het(t){let e=[],r=o(i=>`${i[0]},${i[1]}`,"posToStr"),n=o(i=>i.split(",").map(a=>parseInt(a)),"strToPos");return t.forEach(i=>{let a=Object.fromEntries(Object.entries(i).map(([h,f])=>[r(f),h])),s=[r([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;s.length>0;){let h=s.shift();if(h){l[h]=1;let f=a[h];if(f){let d=n(h);Object.entries(u).forEach(([p,m])=>{let g=r([d[0]+m[0],d[1]+m[1]]),y=a[g];y&&!l[g]&&(s.push(g),e.push({[WB[p]]:y,[WB[B1e(p)]]:f,gap:1.5*Ci("iconSize")}))})}}}}),e}function fet(t,e,r,n,{spatialMaps:i}){return new Promise(a=>{let s=Ge("body").append("div").attr("id","cy").attr("style","display:none"),l=rl({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${Ci("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${Ci("padding")}px`}}]});s.remove(),oet(r,l),iet(t,l),aet(e,l),cet(n,l);let u=uet(i),h=het(i),f=l.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(d){let[p,m]=d.connectedNodes(),{parent:g}=If(p),{parent:y}=If(m);return g===y?1.5*Ci("iconSize"):.5*Ci("iconSize")},edgeElasticity(d){let[p,m]=d.connectedNodes(),{parent:g}=If(p),{parent:y}=If(m);return g===y?.45:.001},alignmentConstraint:u,relativePlacementConstraint:h});f.one("layoutstop",()=>{function d(p,m,g,y){let v,x,{x:b,y:w}=p,{x:S,y:T}=m;x=(y-w+(b-g)*(w-T)/(b-S))/Math.sqrt(1+Math.pow((w-T)/(b-S),2)),v=Math.sqrt(Math.pow(y-w,2)+Math.pow(g-b,2)-Math.pow(x,2));let E=Math.sqrt(Math.pow(S-b,2)+Math.pow(T-w,2));v=v/E;let _=(S-b)*(y-w)-(T-w)*(g-b);switch(!0){case _>=0:_=1;break;case _<0:_=-1;break}let A=(S-b)*(g-b)+(T-w)*(y-w);switch(!0){case A>=0:A=1;break;case A<0:A=-1;break}return x=Math.abs(x)*_,v=v*A,{distances:x,weights:v}}o(d,"getSegmentWeights"),l.startBatch();for(let p of Object.values(l.edges()))if(p.data?.()){let{x:m,y:g}=p.source().position(),{x:y,y:v}=p.target().position();if(m!==y&&g!==v){let x=p.sourceEndpoint(),b=p.targetEndpoint(),{sourceDir:w}=lC(p),[S,T]=Wc(w)?[x.x,b.y]:[b.x,x.y],{weights:E,distances:_}=d(x,b,S,T);p.style("segment-distances",_),p.style("segment-weights",E)}}l.endBatch(),f.run()}),f.run(),l.ready(d=>{V.info("Ready",d),a(l)})})}var eye,det,tye,rye=R(()=>{"use strict";V1();vB();eye=Xi(X1e(),1);Zt();ut();pf();Yn();gb();eF();cC();J1e();Fb([{name:J0.prefix,icons:J0}]);rl.use(eye.default);o(iet,"addServices");o(aet,"addJunctions");o(set,"positionNodes");o(oet,"addGroups");o(cet,"addEdges");o(uet,"getAlignments");o(het,"getRelativeConstraints");o(fet,"layoutArchitecture");det=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=Ps(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await Q1e(i,p,a),Z1e(i,p,s);let g=await fet(a,s,l,u,h);await j1e(d,g),await K1e(m,g),set(i,g),Lo(void 0,f,Ci("padding"),Ci("useMaxWidth"))},"draw"),tye={draw:det}});var nye={};hr(nye,{diagram:()=>pet});var pet,iye=R(()=>{"use strict";Y1e();gb();q1e();rye();pet={parser:H1e,db:Z0,renderer:tye,styles:W1e}});var knt={};hr(knt,{default:()=>Tnt});V1();zC();Hf();var BX="c4",mCe=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),gCe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(PX(),OX));return{id:BX,diagram:t}},"loader"),yCe={id:BX,detector:mCe,loader:gCe},FX=yCe;var Zre="flowchart",SNe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),ANe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uT(),cT));return{id:Zre,diagram:t}},"loader"),_Ne={id:Zre,detector:SNe,loader:ANe},Jre=_Ne;var ene="flowchart-v2",LNe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),DNe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uT(),cT));return{id:ene,diagram:t}},"loader"),RNe={id:ene,detector:LNe,loader:DNe},tne=RNe;var Dne="er",sMe=o(t=>/^\s*erDiagram/.test(t),"detector"),oMe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Lne(),_ne));return{id:Dne,diagram:t}},"loader"),lMe={id:Dne,detector:sMe,loader:oMe},Rne=lMe;var Gle="gitGraph",NBe=o(t=>/^\s*gitGraph/.test(t),"detector"),MBe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>($le(),zle));return{id:Gle,diagram:t}},"loader"),IBe={id:Gle,detector:NBe,loader:MBe},Vle=IBe;var vce="gantt",wFe=o(t=>/^\s*gantt/.test(t),"detector"),TFe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(yce(),gce));return{id:vce,diagram:t}},"loader"),kFe={id:vce,detector:wFe,loader:TFe},xce=kFe;var _ce="info",LFe=o(t=>/^\s*info/.test(t),"detector"),DFe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ace(),Sce));return{id:_ce,diagram:t}},"loader"),Lce={id:_ce,detector:LFe,loader:DFe};var zce="pie",UFe=o(t=>/^\s*pie/.test(t),"detector"),HFe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Fce(),Bce));return{id:zce,diagram:t}},"loader"),$ce={id:zce,detector:UFe,loader:HFe};var Jce="quadrantChart",lze=o(t=>/^\s*quadrantChart/.test(t),"detector"),cze=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Zce(),Qce));return{id:Jce,diagram:t}},"loader"),uze={id:Jce,detector:lze,loader:cze},eue=uze;var Aue="xychart",Sze=o(t=>/^\s*xychart-beta/.test(t),"detector"),Aze=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Sue(),Cue));return{id:Aue,diagram:t}},"loader"),_ze={id:Aue,detector:Sze,loader:Aze},_ue=_ze;var Hue="requirement",r$e=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),n$e=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Uue(),Vue));return{id:Hue,diagram:t}},"loader"),i$e={id:Hue,detector:r$e,loader:n$e},Yue=i$e;var vhe="sequence",oGe=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),lGe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(yhe(),ghe));return{id:vhe,diagram:t}},"loader"),cGe={id:vhe,detector:oGe,loader:lGe},xhe=cGe;var Ihe="class",UGe=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),HGe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Mhe(),Nhe));return{id:Ihe,diagram:t}},"loader"),YGe={id:Ihe,detector:UGe,loader:HGe},Ohe=YGe;var cfe="classDiagram",vVe=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),xVe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(lfe(),ofe));return{id:cfe,diagram:t}},"loader"),bVe={id:cfe,detector:vVe,loader:xVe},ufe=bVe;var tde="state",mUe=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),gUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ede(),Jfe));return{id:tde,diagram:t}},"loader"),yUe={id:tde,detector:mUe,loader:gUe},rde=yUe;var ade="stateDiagram",xUe=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),bUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(ide(),nde));return{id:ade,diagram:t}},"loader"),wUe={id:ade,detector:xUe,loader:bUe},sde=wUe;var Tde="journey",VUe=o(t=>/^\s*journey/.test(t),"detector"),UUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wde(),bde));return{id:Tde,diagram:t}},"loader"),HUe={id:Tde,detector:VUe,loader:UUe},kde=HUe;ut();pf();Yn();var YUe=o((t,e,r)=>{V.debug(`rendering svg for syntax error +`);let n=Ps(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Sr(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),fP={draw:YUe},Ede=fP;var WUe={db:{},renderer:fP,parser:{parse:o(()=>{},"parse")}},Cde=WUe;var Sde="flowchart-elk",qUe=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),XUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(uT(),cT));return{id:Sde,diagram:t}},"loader"),jUe={id:Sde,detector:qUe,loader:XUe},Ade=jUe;var Jde="timeline",pHe=o(t=>/^\s*timeline/.test(t),"detector"),mHe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Zde(),Qde));return{id:Jde,diagram:t}},"loader"),gHe={id:Jde,detector:pHe,loader:mHe},e0e=gHe;var vge="mindmap",TZe=o(t=>/^\s*mindmap/.test(t),"detector"),kZe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(yge(),gge));return{id:vge,diagram:t}},"loader"),EZe={id:vge,detector:TZe,loader:kZe},xge=EZe;var Zge="sankey",WZe=o(t=>/^\s*sankey-beta/.test(t),"detector"),qZe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Qge(),Kge));return{id:Zge,diagram:t}},"loader"),XZe={id:Zge,detector:WZe,loader:qZe},Jge=XZe;var c1e="packet",oJe=o(t=>/^\s*packet-beta/.test(t),"detector"),lJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(l1e(),o1e));return{id:c1e,diagram:t}},"loader"),u1e={id:c1e,detector:oJe,loader:lJe};var O1e="block",FJe=o(t=>/^\s*block-beta/.test(t),"detector"),zJe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(I1e(),M1e));return{id:O1e,diagram:t}},"loader"),$Je={id:O1e,detector:FJe,loader:zJe},P1e=$Je;var aye="architecture",met=o(t=>/^\s*architecture/.test(t),"detector"),get=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(iye(),nye));return{id:aye,diagram:t}},"loader"),yet={id:aye,detector:met,loader:get},sye=yet;Hf();_t();var oye=!1,k1=o(()=>{oye||(oye=!0,Jf("error",Cde,t=>t.toLowerCase().trim()==="error"),Jf("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),Ub(FX,ufe,Ohe,Rne,xce,Lce,$ce,Yue,xhe,Ade,tne,Jre,xge,e0e,Vle,sde,rde,kde,eue,Jge,u1e,_ue,P1e,sye))},"addDiagrams");ut();Hf();_t();var lye=o(async()=>{V.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(Uf).map(async([r,{detector:n,loader:i}])=>{if(i)try{cy(r)}catch{try{let{diagram:a,id:s}=await i();Jf(s,a,n)}catch(a){throw V.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Uf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){V.error(`Failed to load ${e.length} external diagrams`);for(let r of e)V.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");ut();Zt();var uC="comm",hC="rule",fC="decl";var cye="@import";var uye="@keyframes";var hye="@layer";var tF=Math.abs,bb=String.fromCharCode;function dC(t){return t.trim()}o(dC,"trim");function wb(t,e,r){return t.replace(e,r)}o(wb,"replace");function fye(t,e,r){return t.indexOf(e,r)}o(fye,"indexof");function ep(t,e){return t.charCodeAt(e)|0}o(ep,"charat");function Of(t,e,r){return t.slice(e,r)}o(Of,"substr");function wo(t){return t.length}o(wo,"strlen");function dye(t){return t.length}o(dye,"sizeof");function E1(t,e){return e.push(t),t}o(E1,"append");var pC=1,C1=1,pye=0,nl=0,Si=0,A1="";function mC(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:pC,column:C1,length:s,return:"",siblings:l}}o(mC,"node");function mye(){return Si}o(mye,"char");function gye(){return Si=nl>0?ep(A1,--nl):0,C1--,Si===10&&(C1=1,pC--),Si}o(gye,"prev");function il(){return Si=nl2||S1(Si)>3?"":" "}o(xye,"whitespace");function bye(t,e){for(;--e&&il()&&!(Si<48||Si>102||Si>57&&Si<65||Si>70&&Si<97););return gC(t,Tb()+(e<6&&th()==32&&il()==32))}o(bye,"escaping");function rF(t){for(;il();)switch(Si){case t:return nl;case 34:case 39:t!==34&&t!==39&&rF(Si);break;case 40:t===41&&rF(t);break;case 92:il();break}return nl}o(rF,"delimiter");function wye(t,e){for(;il()&&t+Si!==57;)if(t+Si===84&&th()===47)break;return"/*"+gC(e,nl-1)+"*"+bb(t===47?t:il())}o(wye,"commenter");function Tye(t){for(;!S1(th());)il();return gC(t,nl)}o(Tye,"identifier");function Cye(t){return vye(vC("",null,null,null,[""],t=yye(t),0,[0],t))}o(Cye,"compile");function vC(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,w="",S=i,T=a,E=n,_=w;v;)switch(g=b,b=il()){case 40:if(g!=108&&ep(_,d-1)==58){fye(_+=wb(yC(b),"&","&\f"),"&\f",tF(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:_+=yC(b);break;case 9:case 10:case 13:case 32:_+=xye(g);break;case 92:_+=bye(Tb()-1,7);continue;case 47:switch(th()){case 42:case 47:E1(vet(wye(il(),Tb()),e,r,u),u),(S1(g||1)==5||S1(th()||1)==5)&&wo(_)&&Of(_,-1,void 0)!==" "&&(_+=" ");break;default:_+="/"}break;case 123*y:l[h++]=wo(_)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(_=wb(_,/\f/g,"")),m>0&&(wo(_)-d||y===0&&g===47)&&E1(m>32?Eye(_+";",n,r,d-1,u):Eye(wb(_," ","")+";",n,r,d-2,u),u);break;case 59:_+=";";default:if(E1(E=kye(_,e,r,h,f,i,l,w,S=[],T=[],d,a),a),b===123)if(f===0)vC(_,e,E,E,S,a,d,l,T);else switch(p===99&&ep(_,3)===110?100:p){case 100:case 108:case 109:case 115:vC(t,E,E,n&&E1(kye(t,E,E,0,0,i,l,w,i,S=[],d,T),T),i,T,d,l,n?S:T);break;default:vC(_,E,E,E,[""],T,0,l,T)}}h=f=m=0,y=x=1,w=_="",d=s;break;case 58:d=1+wo(_),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&gye()==125)continue}switch(_+=bb(b),b*y){case 38:x=f>0?1:(_+="\f",-1);break;case 44:l[h++]=(wo(_)-1)*x,x=1;break;case 64:th()===45&&(_+=yC(il())),p=th(),f=d=wo(w=_+=Tye(Tb())),b++;break;case 45:g===45&&wo(_)==2&&(y=0)}}return a}o(vC,"parse");function kye(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=dye(m),y=0,v=0,x=0;y0?m[b]+" "+w:wb(w,/&\f/g,m[b])))&&(u[x++]=S);return mC(t,e,r,i===0?hC:l,u,h,f,d)}o(kye,"ruleset");function vet(t,e,r,n){return mC(t,e,r,uC,bb(mye()),Of(t,2,-2),0,n)}o(vet,"comment");function Eye(t,e,r,n,i){return mC(t,e,r,fC,Of(t,0,n),Of(t,n+1,-1),n,i)}o(Eye,"declaration");function xC(t,e){for(var r="",n=0;n{Lye.forEach(t=>{t()}),Lye=[]},"attachFunctions");ut();var Rye=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");Vb();function qye(t){return typeof t>"u"||t===null}o(qye,"isNothing");function bet(t){return typeof t=="object"&&t!==null}o(bet,"isObject");function wet(t){return Array.isArray(t)?t:qye(t)?[]:[t]}o(wet,"toArray");function Tet(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}o(nF,"getLine");function iF(t,e){return Wi.repeat(" ",e-t.length)+t}o(iF,"padStart");function Net(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=nF(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=Wi.repeat(" ",e.indent)+iF((t.line-u+1).toString(),f)+" | "+h.str+` +`+l;for(h=nF(t.buffer,n[s],i[s],t.position,d),l+=Wi.repeat(" ",e.indent)+iF((t.line+1).toString(),f)+" | "+h.str+` +`,l+=Wi.repeat("-",e.indent+f+3+h.pos)+`^ +`,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=nF(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=Wi.repeat(" ",e.indent)+iF((t.line+u+1).toString(),f)+" | "+h.str+` +`;return l.replace(/\n$/,"")}o(Net,"makeSnippet");var Met=Net,Iet=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Oet=["scalar","sequence","mapping"];function Pet(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}o(Pet,"compileStyleAliases");function Bet(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(Iet.indexOf(r)===-1)throw new Gs('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=Pet(e.styleAliases||null),Oet.indexOf(this.kind)===-1)throw new Gs('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}o(Bet,"Type$1");var Va=Bet;function Nye(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}o(Nye,"compileList");function Fet(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(o(n,"collectType"),e=0,r=arguments.length;e=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),att=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function stt(t){return!(t===null||!att.test(t)||t[t.length-1]==="_")}o(stt,"resolveYamlFloat");function ott(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}o(ott,"constructYamlFloat");var ltt=/^[-+]?[0-9]+e/;function ctt(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Wi.isNegativeZero(t))return"-0.0";return r=t.toString(10),ltt.test(r)?r.replace("e",".e"):r}o(ctt,"representYamlFloat");function utt(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Wi.isNegativeZero(t))}o(utt,"isFloat");var htt=new Va("tag:yaml.org,2002:float",{kind:"scalar",resolve:stt,construct:ott,predicate:utt,represent:ctt,defaultStyle:"lowercase"}),jye=Uet.extend({implicit:[qet,Qet,itt,htt]}),ftt=jye,Kye=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Qye=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function dtt(t){return t===null?!1:Kye.exec(t)!==null||Qye.exec(t)!==null}o(dtt,"resolveYamlTimestamp");function ptt(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=Kye.exec(t),e===null&&(e=Qye.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}o(ptt,"constructYamlTimestamp");function mtt(t){return t.toISOString()}o(mtt,"representYamlTimestamp");var gtt=new Va("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:dtt,construct:ptt,instanceOf:Date,represent:mtt});function ytt(t){return t==="<<"||t===null}o(ytt,"resolveYamlMerge");var vtt=new Va("tag:yaml.org,2002:merge",{kind:"scalar",resolve:ytt}),hF=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function xtt(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=hF;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}o(xtt,"resolveYamlBinary");function btt(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=hF,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}o(btt,"constructYamlBinary");function wtt(t){var e="",r=0,n,i,a=t.length,s=hF;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}o(wtt,"representYamlBinary");function Ttt(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}o(Ttt,"isBinary");var ktt=new Va("tag:yaml.org,2002:binary",{kind:"scalar",resolve:xtt,construct:btt,predicate:Ttt,represent:wtt}),Ett=Object.prototype.hasOwnProperty,Ctt=Object.prototype.toString;function Stt(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}o(Htt,"charFromCodepoint");var nve=new Array(256),ive=new Array(256);for(tp=0;tp<256;tp++)nve[tp]=Oye(tp)?1:0,ive[tp]=Oye(tp);var tp;function Ytt(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Zye,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}o(Ytt,"State$1");function ave(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=Met(r),new Gs(e,r)}o(ave,"generateError");function $t(t,e){throw ave(t,e)}o($t,"throwError");function TC(t,e){t.onWarning&&t.onWarning.call(null,ave(t,e))}o(TC,"throwWarning");var Pye={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&$t(e,"duplication of %YAML directive"),n.length!==1&&$t(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&$t(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&$t(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&TC(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&$t(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],tve.test(i)||$t(e,"ill-formed tag handle (first argument) of the TAG directive"),Bf.call(e.tagMap,i)&&$t(e,'there is a previously declared suffix for "'+i+'" tag handle'),rve.test(a)||$t(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{$t(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Pf(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=Wi.repeat(` +`,e-1))}o(dF,"writeFoldedLines");function Wtt(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),Vs(m)||D1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),Vs(i)||r&&D1(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),Vs(i)||r&&D1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),Vs(n))break}else{if(t.position===t.lineStart&&CC(t)||r&&D1(m))break;if(qc(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,Ai(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Pf(t,a,s,!1),dF(t,t.line-u),a=s=t.position,l=!1),rp(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Pf(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}o(Wtt,"readPlainScalar");function qtt(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Pf(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else qc(r)?(Pf(t,n,i,!0),dF(t,Ai(t,!1,e)),n=i=t.position):t.position===t.lineStart&&CC(t)?$t(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);$t(t,"unexpected end of the stream within a single quoted scalar")}o(qtt,"readSingleQuotedScalar");function Xtt(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Pf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Pf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),qc(l))Ai(t,!1,e);else if(l<256&&nve[l])t.result+=ive[l],t.position++;else if((s=Vtt(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=Gtt(l))>=0?a=(a<<4)+s:$t(t,"expected hexadecimal character");t.result+=Htt(a),t.position++}else $t(t,"unknown escape sequence");r=n=t.position}else qc(l)?(Pf(t,r,n,!0),dF(t,Ai(t,!1,e)),r=n=t.position):t.position===t.lineStart&&CC(t)?$t(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}$t(t,"unexpected end of the stream within a double quoted scalar")}o(Xtt,"readDoubleQuotedScalar");function jtt(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(Ai(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&$t(t,"expected the node content, but found ','"):$t(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),Vs(h)&&(d=p=!0,t.position++,Ai(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,N1(t,e,bC,!1,!0),v=t.tag,y=t.result,Ai(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),Ai(t,!0,e),N1(t,e,bC,!1,!0),x=t.result),m?R1(t,l,g,v,y,x,n,i,a):d?l.push(R1(t,null,g,v,y,x,n,i,a)):l.push(y),Ai(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}$t(t,"unexpected end of the stream within a flow collection")}o(jtt,"readFlowCollection");function Ktt(t,e){var r,n,i=aF,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)aF===i?i=d===43?Mye:Btt:$t(t,"repeat of a chomping mode identifier");else if((f=Utt(d))>=0)f===0?$t(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?$t(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(rp(d)){do d=t.input.charCodeAt(++t.position);while(rp(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!qc(d)&&d!==0)}for(;d!==0;){for(fF(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),qc(d)){u++;continue}if(t.lineIndente)&&u!==0)$t(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),N1(t,e,wC,!0,i)&&(v?g=t.result:y=t.result),v||(R1(t,d,p,m,g,y,s,l,u),m=g=y=null),Ai(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)$t(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&$t(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):$t(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}o(N1,"composeNode");function trt(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ai(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!Vs(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&$t(t,"directive name must not be less than one character in length");s!==0;){for(;rp(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!qc(s));break}if(qc(s))break;for(r=t.position;s!==0&&!Vs(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&fF(t),Bf.call(Pye,n)?Pye[n](t,n,i):TC(t,'unknown document directive "'+n+'"')}if(Ai(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ai(t,!0,-1)):a&&$t(t,"directives end mark is expected"),N1(t,t.lineIndent-1,wC,!1,!0),Ai(t,!0,-1),t.checkLineBreaks&&ztt.test(t.input.slice(e,t.position))&&TC(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&CC(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ai(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=sve(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}o(kb,"codePointAt");function mve(t){var e=/^\n* /;return e.test(t)}o(mve,"needIndentIndicator");var gve=1,cF=2,yve=3,vve=4,L1=5;function Rrt(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=Lrt(kb(t,0))&&Drt(kb(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=kb(t,u),!Ab(h))return L1;y=y&&Gye(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=kb(t,u),h===Cb)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!Ab(h))return L1;y=y&&Gye(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?gve:a===Sb?L1:cF:r>9&&mve(t)?L1:s?a===Sb?L1:cF:p?vve:yve}o(Rrt,"chooseScalarStyle");function Nrt(t,e,r,n,i){t.dump=function(){if(e.length===0)return t.quotingType===Sb?'""':"''";if(!t.noCompatMode&&(Trt.indexOf(e)!==-1||krt.test(e)))return t.quotingType===Sb?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return _rt(t,h)}switch(o(u,"testAmbiguity"),Rrt(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case gve:return e;case cF:return"'"+e.replace(/'/g,"''")+"'";case yve:return"|"+Vye(e,t.indent)+Uye(zye(e,a));case vve:return">"+Vye(e,t.indent)+Uye(zye(Mrt(e,s),a));case L1:return'"'+Irt(e)+'"';default:throw new Gs("impossible error: invalid scalar style")}}()}o(Nrt,"writeScalar");function Vye(t,e){var r=mve(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` -`}s(Uge,"blockHeader");function qge(t){return t[t.length-1]===` -`?t.slice(0,-1):t}s(qge,"dropEndingNewline");function LJe(t,e){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=t.indexOf(` -`);return h=h!==-1?h:t.length,r.lastIndex=h,Wge(t.slice(0,h),e)}(),i=t[0]===` -`||t[0]===" ",a,o;o=r.exec(t);){var l=o[1],u=o[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` -`:"")+Wge(u,e),i=a}return n}s(LJe,"foldString");function Wge(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,o=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=o>i?o:l,u+=` -`+t.slice(i,a),i=a+1),o=l;return u+=` -`,t.length-i>e&&o>i?u+=t.slice(i,o)+` -`+t.slice(o+1):u+=t.slice(i),u.slice(1)}s(Wge,"foldLine");function DJe(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=Jx(t,i),n=Oa[r],!n&&nb(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||kJe(r);return e}s(DJe,"escapeString");function RJe(t,e,r){var n="",i=t.tag,a,o,l;for(a=0,o=r.length;a"u"&&Ku(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}s(RJe,"writeFlowSequence");function Hge(t,e,r,n){var i="",a=t.tag,o,l,u;for(o=0,l=r.length;o"u"&&Ku(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=lB(t,e)),t.dump&&tb===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}s(Hge,"writeBlockSequence");function MJe(t,e,r){var n="",i=t.tag,a=Object.keys(r),o,l,u,h,f;for(o=0,l=a.length;o1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Ku(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}s(MJe,"writeFlowMapping");function IJe(t,e,r,n){var i="",a=t.tag,o=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Ns("sortKeys must be a boolean or a function");for(l=0,u=o.length;l1024,d&&(t.dump&&tb===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=lB(t,e)),Ku(t,e+1,f,!0,d)&&(t.dump&&tb===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}s(IJe,"writeBlockMapping");function Yge(t,e,r){var n,i,a,o,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,o=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}s(Yge,"detectType");function Ku(t,e,r,n,i,a,o){t.tag=null,t.dump=r,Yge(t,r,!1)||Yge(t,r,!0);var l=c1e.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(IJe(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(MJe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!o&&e>0?Hge(t,e-1,t.dump,i):Hge(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(RJe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&AJe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Ns("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}s(Ku,"writeNode");function NJe(t,e){var r=[],n=[],i,a;for(uB(t,r,n),i=0,a=n.length;it.replace(/\r\n?/g,` -`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),$Je=s(t=>{let{text:e,metadata:r}=w1e(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),GJe=s(t=>{let e=dt.detectInit(t)??{},r=dt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:eY(t),directive:e}},"processDirectives");function gB(t){let e=zJe(t),r=$Je(e),n=GJe(r.text),i=ms(r.config,n.directive);return t=Mge(n.text),{code:t,title:r.title,config:i}}s(gB,"preprocessDiagram");pr();function T1e(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}s(T1e,"toBase64");Y0();var VJe=5e4,UJe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",qJe="sandbox",WJe="loose",HJe="http://www.w3.org/2000/svg",YJe="http://www.w3.org/1999/xlink",XJe="http://www.w3.org/1999/xhtml",jJe="100%",KJe="100%",QJe="border:0;margin:0;",ZJe="margin:0",JJe="allow-top-navigation-by-user-activation allow-popups",eet='The "iframe" tag is not supported by your browser.',tet=["foreignobject"],ret=["dominant-baseline"];function A1e(t){let e=gB(t);return I1(),CF(e.config??{}),e}s(A1e,"processAndSetConfigs");async function net(t,e){o1();try{let{code:r}=A1e(t);return{diagramType:(await L1e(r)).type}}catch(r){if(e?.suppressErrors)return!1;throw r}}s(net,"parse");var E1e=s((t,e,r=[])=>` -.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),iet=s((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` +`}o(Vye,"blockHeader");function Uye(t){return t[t.length-1]===` +`?t.slice(0,-1):t}o(Uye,"dropEndingNewline");function Mrt(t,e){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,Hye(t.slice(0,h),e)}(),i=t[0]===` +`||t[0]===" ",a,s;s=r.exec(t);){var l=s[1],u=s[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` +`:"")+Hye(u,e),i=a}return n}o(Mrt,"foldString");function Hye(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` +`+t.slice(i,a),i=a+1),s=l;return u+=` +`,t.length-i>e&&s>i?u+=t.slice(i,s)+` +`+t.slice(s+1):u+=t.slice(i),u.slice(1)}o(Hye,"foldLine");function Irt(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=kb(t,i),n=Ua[r],!n&&Ab(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||Crt(r);return e}o(Irt,"escapeString");function Ort(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&rh(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}o(Ort,"writeFlowSequence");function Yye(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&rh(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=lF(t,e)),t.dump&&Cb===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}o(Yye,"writeBlockSequence");function Prt(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),rh(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}o(Prt,"writeFlowMapping");function Brt(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Gs("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&Cb===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=lF(t,e)),rh(t,e+1,f,!0,d)&&(t.dump&&Cb===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}o(Brt,"writeBlockMapping");function Wye(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}o(Wye,"detectType");function rh(t,e,r,n,i,a,s){t.tag=null,t.dump=r,Wye(t,r,!1)||Wye(t,r,!0);var l=lve.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(Brt(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(Prt(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?Yye(t,e-1,t.dump,i):Yye(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(Ort(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&Nrt(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Gs("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}o(rh,"writeNode");function Frt(t,e){var r=[],n=[],i,a;for(uF(t,r,n),i=0,a=n.length;it.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Hrt=o(t=>{let{text:e,metadata:r}=wve(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),Yrt=o(t=>{let e=Lt.detectInit(t)??{},r=Lt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:EX(t),directive:e}},"processDirectives");function gF(t){let e=Urt(t),r=Hrt(e),n=Yrt(r.text),i=Ts(r.config,n.directive);return t=Rye(n.text),{code:t,title:r.title,config:i}}o(gF,"preprocessDiagram");Z7();Kb();xr();function Tve(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o(Tve,"toBase64");var Wrt=5e4,qrt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Xrt="sandbox",jrt="loose",Krt="http://www.w3.org/2000/svg",Qrt="http://www.w3.org/1999/xlink",Zrt="http://www.w3.org/1999/xhtml",Jrt="100%",ent="100%",tnt="border:0;margin:0;",rnt="margin:0",nnt="allow-top-navigation-by-user-activation allow-popups",int='The "iframe" tag is not supported by your browser.',ant=["foreignobject"],snt=["dominant-baseline"];function Ave(t){let e=gF(t);return Q1(),jz(e.config??{}),e}o(Ave,"processAndSetConfigs");async function ont(t,e){k1();try{let{code:r}=Ave(t);return{diagramType:(await _ve(r)).type}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(ont,"parse");var kve=o((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),lnt=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` -:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let o=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Vt(l.styles)||o.forEach(u=>{r+=E1e(l.id,u,l.styles)}),Vt(l.textStyles)||(r+=E1e(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),aet=s((t,e,r,n)=>{let i=iet(t,r),a=s$(e,i,t.themeVariables);return z7(Sge(`${n}{${a}}`),_ge)},"createUserStyles"),set=s((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Ys(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),oet=s((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":KJe,n=T1e(`${t}`);return``},"putIntoIFrame"),C1e=s((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let o=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",HJe);return i&&o.attr("xmlns:xlink",i),o.append("g"),t},"appendDivSvgG");function S1e(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}s(S1e,"sandboxedIframe");var cet=s((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),uet=s(async function(t,e,r){o1();let n=A1e(e);e=n.code;let i=_r();V.debug(i),e.length>(i?.maxTextSize??VJe)&&(e=UJe);let a="#"+t,o="i"+t,l="#"+o,u="d"+t,h="#"+u,f=s(()=>{let P=Me(p?l:h).node();P&&"remove"in P&&P.remove()},"removeTempElements"),d=Me("body"),p=i.securityLevel===qJe,m=i.securityLevel===WJe,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let L=S1e(Me(r),o);d=Me(L.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Me(r);C1e(d,t,u,`font-family: ${g}`,YJe)}else{if(cet(document,t,u,o),p){let L=S1e(Me("body"),o);d=Me(L.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Me("body");C1e(d,t,u)}let y,v;try{y=await h1.fromText(e,{title:n.title})}catch(L){if(i.suppressErrorRendering)throw f(),L;y=await h1.fromText("error"),v=L}let x=d.select(h).node(),b=y.type,k=x.firstChild,A=k.firstChild,w=y.renderer.getClasses?.(e,y),T=aet(i,b,w,a),C=document.createElement("style");C.innerHTML=T,k.insertBefore(C,A);try{await y.renderer.draw(e,t,X2,y)}catch(L){throw i.suppressErrorRendering?f():Xhe.draw(e,t,X2),L}let E=d.select(`${h} svg`),S=y.db.getAccTitle?.(),R=y.db.getAccDescription?.();fet(b,E,S,R),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",XJe);let D=d.select(h).node().innerHTML;if(V.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),D=set(D,p,hr(i.arrowMarkerAbsolute)),p){let L=d.select(h+" svg").node();D=oet(D,L)}else m||(D=_1e.default.sanitize(D,{ADD_TAGS:tet,ADD_ATTR:ret}));if(Lge(),v)throw v;return f(),{diagramType:b,svg:D,bindFunctions:y.db.bindFunctions}},"render");function het(t={}){let e=An({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),wF(e),e?.theme&&e.theme in po?e.themeVariables=po[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=po.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?dE(e):pE();E1(r.logLevel),o1()}s(het,"initialize");var L1e=s((t,e={})=>{let{code:r}=gB(t);return h1.fromText(r,e)},"getDiagramFromText");function fet(t,e,r,n){Dge(e,t),Rge(e,r,n,e.attr("id"))}s(fet,"addA11yInfo");var _f=Object.freeze({render:uet,parse:net,getDiagramFromText:L1e,initialize:het,getConfig:_r,setConfig:kb,getSiteConfig:pE,updateSiteConfig:TF,reset:s(()=>{I1()},"reset"),globalReset:s(()=>{I1(ih)},"globalReset"),defaultConfig:ih});E1(_r().logLevel);I1(_r());Rk();pr();var det=s((t,e,r)=>{V.warn(t),fA(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),D1e=s(async function(t={querySelector:".mermaid"}){try{await pet(t)}catch(e){if(fA(e)&&V.error(e.str),Qu.parseError&&Qu.parseError(e),!t.suppressErrors)throw V.error("Use the suppressErrors option to suppress these errors"),e}},"run"),pet=s(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=_f.getConfig();V.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");V.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(V.debug("Start On Load: "+n?.startOnLoad),_f.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new dt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),o,l=[];for(let u of Array.from(i)){V.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;o=u.innerHTML,o=lb(dt.entityDecode(o)).trim().replace(//gi,"
    ");let f=dt.detectInit(o);f&&V.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await N1e(h,o,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){det(d,l,Qu.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),R1e=s(function(t){_f.initialize(t)},"initialize"),met=s(async function(t,e,r){V.warn("mermaid.init is deprecated. Please use run instead."),t&&R1e(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await D1e(n)},"init"),get=s(async(t,{lazyLoad:e=!0}={})=>{o1(),fb(...t),e===!1&&await cge()},"registerExternalDiagrams"),M1e=s(function(){if(Qu.startOnLoad){let{startOnLoad:t}=_f.getConfig();t&&Qu.run().catch(e=>V.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",M1e,!1)}var yet=s(function(t){Qu.parseError=t},"setParseErrorHandler"),H7=[],yB=!1,I1e=s(async()=>{if(!yB){for(yB=!0;H7.length>0;){let t=H7.shift();if(t)try{await t()}catch(e){V.error("Error executing queue",e)}}yB=!1}},"executeQueue"),vet=s(async(t,e)=>new Promise((r,n)=>{let i=s(()=>new Promise((a,o)=>{_f.parse(t,e).then(l=>{a(l),r(l)},l=>{V.error("Error parsing",l),Qu.parseError?.(l),o(l),n(l)})}),"performCall");H7.push(i),I1e().catch(n)}),"parse"),N1e=s((t,e,r)=>new Promise((n,i)=>{let a=s(()=>new Promise((o,l)=>{_f.render(t,e,r).then(u=>{o(u),n(u)},u=>{V.error("Error parsing",u),Qu.parseError?.(u),l(u),i(u)})}),"performCall");H7.push(a),I1e().catch(i)}),"render"),Qu={startOnLoad:!0,mermaidAPI:_f,parse:vet,render:N1e,init:met,run:D1e,registerExternalDiagrams:get,registerLayoutLoaders:SL,initialize:R1e,parseError:void 0,contentLoaded:M1e,setParseErrorHandler:yet,detectType:H0},xet=Qu;return V1e(bet);})(); +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Qt(l.styles)||s.forEach(u=>{r+=kve(l.id,u,l.styles)}),Qt(l.textStyles)||(r+=kve(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),cnt=o((t,e,r,n)=>{let i=lnt(t,r),a=DG(e,i,t.themeVariables);return xC(Cye(`${n}{${a}}`),Sye)},"createUserStyles"),unt=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=to(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),hnt=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":ent,n=Tve(`${t}`);return``},"putIntoIFrame"),Eve=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",Krt);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Cve(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(Cve,"sandboxedIframe");var fnt=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),dnt=o(async function(t,e,r){k1();let n=Ave(e);e=n.code;let i=Or();V.debug(i),e.length>(i?.maxTextSize??Wrt)&&(e=qrt);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let I=Ge(p?l:h).node();I&&"remove"in I&&I.remove()},"removeTempElements"),d=Ge("body"),p=i.securityLevel===Xrt,m=i.securityLevel===jrt,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let k=Cve(Ge(r),s);d=Ge(k.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Ge(r);Eve(d,t,u,`font-family: ${g}`,Qrt)}else{if(fnt(document,t,u,s),p){let k=Cve(Ge("body"),s);d=Ge(k.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Ge("body");Eve(d,t,u)}let y,v;try{y=await _1.fromText(e,{title:n.title})}catch(k){if(i.suppressErrorRendering)throw f(),k;y=await _1.fromText("error"),v=k}let x=d.select(h).node(),b=y.type,w=x.firstChild,S=w.firstChild,T=y.renderer.getClasses?.(e,y),E=cnt(i,b,T,a),_=document.createElement("style");_.innerHTML=E,w.insertBefore(_,S);try{await y.renderer.draw(e,t,fx,y)}catch(k){throw i.suppressErrorRendering?f():Ede.draw(e,t,fx),k}let A=d.select(`${h} svg`),L=y.db.getAccTitle?.(),M=y.db.getAccDescription?.();mnt(b,A,L,M),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",Zrt);let N=d.select(h).node().innerHTML;if(V.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),N=unt(N,p,yr(i.arrowMarkerAbsolute)),p){let k=d.select(h+" svg").node();N=hnt(N,k)}else m||(N=Sve.default.sanitize(N,{ADD_TAGS:ant,ADD_ATTR:snt}));if(Dye(),v)throw v;return f(),{diagramType:b,svg:N,bindFunctions:y.db.bindFunctions}},"render");function pnt(t={}){let e=On({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),Wz(e),e?.theme&&e.theme in Co?e.themeVariables=Co[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=Co.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?n7(e):i7();G1(r.logLevel),k1()}o(pnt,"initialize");var _ve=o((t,e={})=>{let{code:r}=gF(t);return _1.fromText(r,e)},"getDiagramFromText");function mnt(t,e,r,n){Aye(e,t),_ye(e,r,n,e.attr("id"))}o(mnt,"addA11yInfo");var Ff=Object.freeze({render:dnt,parse:ont,getDiagramFromText:_ve,initialize:pnt,getConfig:Or,setConfig:Zb,getSiteConfig:i7,updateSiteConfig:qz,reset:o(()=>{Q1()},"reset"),globalReset:o(()=>{Q1(uh)},"globalReset"),defaultConfig:uh});G1(Or().logLevel);Q1(Or());oT();xr();var gnt=o((t,e,r)=>{V.warn(t),r9(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Lve=o(async function(t={querySelector:".mermaid"}){try{await ynt(t)}catch(e){if(r9(e)&&V.error(e.str),nh.parseError&&nh.parseError(e),!t.suppressErrors)throw V.error("Use the suppressErrors option to suppress these errors"),e}},"run"),ynt=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=Ff.getConfig();V.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");V.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(V.debug("Start On Load: "+n?.startOnLoad),Ff.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new Lt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){V.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=$b(Lt.entityDecode(s)).trim().replace(//gi,"
    ");let f=Lt.detectInit(s);f&&V.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await Mve(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){gnt(d,l,nh.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),Dve=o(function(t){Ff.initialize(t)},"initialize"),vnt=o(async function(t,e,r){V.warn("mermaid.init is deprecated. Please use run instead."),t&&Dve(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Lve(n)},"init"),xnt=o(async(t,{lazyLoad:e=!0}={})=>{k1(),Ub(...t),e===!1&&await lye()},"registerExternalDiagrams"),Rve=o(function(){if(nh.startOnLoad){let{startOnLoad:t}=Ff.getConfig();t&&nh.run().catch(e=>V.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",Rve,!1)}var bnt=o(function(t){nh.parseError=t},"setParseErrorHandler"),SC=[],yF=!1,Nve=o(async()=>{if(!yF){for(yF=!0;SC.length>0;){let t=SC.shift();if(t)try{await t()}catch(e){V.error("Error executing queue",e)}}yF=!1}},"executeQueue"),wnt=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{Ff.parse(t,e).then(l=>{a(l),r(l)},l=>{V.error("Error parsing",l),nh.parseError?.(l),s(l),n(l)})}),"performCall");SC.push(i),Nve().catch(n)}),"parse"),Mve=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{Ff.render(t,e,r).then(u=>{s(u),n(u)},u=>{V.error("Error parsing",u),nh.parseError?.(u),l(u),i(u)})}),"performCall");SC.push(a),Nve().catch(i)}),"render"),nh={startOnLoad:!0,mermaidAPI:Ff,parse:wnt,render:Mve,init:vnt,run:Lve,registerExternalDiagrams:xnt,registerLayoutLoaders:gD,initialize:Dve,parseError:void 0,contentLoaded:Rve,setParseErrorHandler:bnt,detectType:lp,registerIconPacks:Fb},Tnt=nh;return Gve(knt);})(); /*! Check if previously processed */ /*! * Wait for document loaded before starting the execution